On 11/29/2012 08:53 AM, Tai Nguyen (tainguye) wrote:
For enterprise devices, we need to be able to support our customer
troubleshooting issues.
Thus, we need to have shell access to do exploring tasks like
- ps
- grep
- exec diagnostic tools

However, we have different independent teams working on the products and
they, except security team, are not aware of security policies. Likewise,
security team will not know all the changes made by other teams (e.g.,
troubleshooting tools) to maintain the  policies.

So, we are looking for a solution that minimize the dependencies across
teams and minimize the burden of security policy to other development
teams.

Do you expect customers to use an adb shell to troubleshoot issues? Or is this a shell spawned by some management app on the device? Those would run in different domains.

You would need define a bit more of what you want to be possible from these shells. For example, do you truly require complete visibility of all processes, including root daemons, or just some subset like running apps? Do you truly require the ability to search and read every file, or can you define a searchable subset? What do the diagnostic tools need to be able to do?

I expect the security team would have to create an initial policy based on current practices and tools, based on whatever testing is already done as part of your QA process. Then over time it would become a shared responsibility across the teams to maintain the policy - the other teams would at least understand how to check whether SELinux is interfering with their product's operation and how to report that to the security team, and over time would improve their own understanding and be increasingly able to diagnose and address issues as they arise. Not sure it is all that different from Red Hat's situation with their security team and their various package maintainers.

You also have the option of initially shipping with the shell as a permissive domain, as Joshua described, in which case everything will be allowed but denials will be logged. If you ensure that you have a mechanism for collecting those denials, then you can incrementally adapt the policy until you have no further reports of such denials, and then drop the permissive domain declaration from the policy in the next product cycle.



--
This message was distributed to subscribers of the seandroid-list mailing list.
If you no longer wish to subscribe, send mail to [email protected] with
the words "unsubscribe seandroid-list" without quotes as the message.

Reply via email to