Project Treble Brings Extended Linux Kernel Security Support to Combat Fragmentation
One of the major issues for Android over the years has been device fragmentation. The Android version and Linux kernel version a device are on can have a massive impact on the device’s security and usability, and Google is making a concerted effort to improve Android’s update lifecycle with Project Treble.
At Linaro Connect San Francisco 2017, Google Project Treble team member Iliyan Malchev gave a talk on what Project Treble is attempting to do for Android, and on what it has achieved so far. He revealed that as part of their efforts to improve the security lifecycle for Android devices, Google has managed to get the Linux Foundation to agree to extend the support life of the Linux Long-Term Support (LTS) kernel branch from the 2 years that it has historically lasted, to 6 years for future versions of the LTS kernel, starting with Linux kernel 4.4. Greg Kroah-Hartman (GKH) of the Linux Foundation, the head maintainer for the Linux stable kernel branch (including LTS), felt that the timing was right to implement the change with the direction the entire computing market is heading, and gave Iliyan Malchev permission to announce the extended support life.
This will have a massive impact on how easy it will be for manufacturers to provide security updates to devices on old software going forward. With the extended long-term support kernel life, OEMs will no longer have to backport security patches from newer versions of the Linux kernel into the kernel version that they use on their devices. Instead, the patches will still be available for their devices
Before this change, by the time a device was on the market, the long-term support lifecycle for the kernel version that it was built on would be almost up. While LTS would last for two years, it would often take almost that long to go from the beginning stages of kernel-specific driver development for a SoC, to the point where devices using the SoC were ready for release.
While this change appears to be headed in the opposite direction of Project Treble’s goals of driver independence and current kernel versions on devices, it is still a fantastic move which will help substantially both with Android’s current security update issues and with providing support for IoT devices for years to come. Making it easier to continue to support devices will make manufacturers more likely to extend support lives even further. It also is a key change for the ROM development scene, as it will allow developers to provide updates for older devices on legacy versions of Android with secure kernel versions for longer than before.
While we tend to focus on Android and other mobile operating systems here, the shift from two years of support for the LTS branch to six years of support will have positive impacts across the entire computing market, from phones to servers to routers and beyond. While this was glossed over a bit by Iliyan Malchev (as it wasn’t the focus of his talk), this change is especially important for IoT devices, and may be a critical part of fixing the current security nightmare that IoT devices create.
IoT devices often use legacy hardware for extended lifecycles (far longer than what we typically see with phones) and have limited budgets for software support, which currently results in an absolute mess of security bugs and unpatched devices that are constantly on and have full network access. It may not be possible to get these devices to be consistently updated to new kernel versions in the near future, across all manufacturers, but simplifying the work to “just” applying the latest patch for the kernel version that they are on may be enough to convince some companies to provide that basic level of ongoing security for their devices.
Check out the full talk where Iliyan Malchev dives into detail on what problems this will solve, what it took to make this a possibility, and why it was a change that needed to be made.