(LiveHacking.Com) – The National Security Agency, part of the United States Department of Defense which is responsible for the interception and decryption of foreign communications, has made an initial public release of Security Enhanced (SE) Android, a special version of the Linux based mobile device operating system created to identify and address critical gaps in its security.
The initial aim of the SE Android is to implement the SELinux access control policies, including the Mandatory Access Control (MAC) system. MAC defines and enforces a system-wide security policy which controls all processes, objects, and operations. This means that MAC can confine flawed and malicious applications, even ones that run as “root”, and can prevent privilege escalation.
As well as SELinux for Android, SE Android offer the following unique features:
- Per-file security labeling support for yaffs2
- Filesystem images (yaffs2 and ext4) labeled at build time
- Kernel permission checks controlling Binder IPC
- Labeling of service sockets and socket files created by init
- Labeling of device nodes created by ueventd
- Flexible, configurable labeling of apps and app data directories
- Userspace permission checks controlling use of the Zygote socket commands
- Minimal port of SELinux userspace
- Small TE policy written from scratch for Android
- Confined domains for system services and apps
- Use of MLS categories to isolate apps
As part a presentation (PDF) given at the 2011 Linux Security Summit, Stephen Smalley of the NSA explained how with SELinux incorporated into Android the “Gingerbreak” vulnerability, which exploited a problem in the Android volume daemon ‘vold’, would have stopped the exploit six different ways and make the underlying vulnerability completely unreachable.
More details about SE Android including build instructions can be found on the project’s wiki.