Google has enabled new protections on the Linux kernel within Android to increase security of the open source platform. The protections are classified into two different categories, namely memory protections and attack surface reduction.
“Android relies on the Linux kernel for enforcement of its security model. To better protect the kernel, we’ve enabled a number of mechanisms within Android,” Android security team member Jeff Vander Stoep writes in a blog post.
Among the new changes, there is memory protection for userspace processes through address space separation. This tweak enables the Linux kernel to maintain its integrity despite some vulnerabilities within the unrelated portions of the system’s memory. Further, Google has provided a feature to segment kernel memory into logical sections and sets.
To prevent direct access to userspace memory, the kernel now has restricted access. “This can make a number of attacks more difficult because attackers have significantly less control over kernel memory that is executable,” says Stoep.
Google has also reduced attack surface to expose fewer entry points to the kernel. For this, the operating system now has kernel’s perf system.
Stoep reveals that Android Nougat will by default block access to perf. However, there will be an option to use perf system using developer settings.
The kernel additionally restricts app access to ioctl commands. These commands previously helped attackers gain backdoor access to Android.
Although developers do not use most of the ioctl commands, some third-party apps access them. Thus, Android Nougat will carry a precise whitelist of socket ioctl commands. The new operating system will also come with seccomp to enable an additional sandboxing mechanism.
“Due to these efforts and others, we expect the security of the kernel to continue improving,” Stoep concludes.