Google обещает усиление безопасности ядра Android Oreo
По сообщению представителей Google, они планируют реализовать четыре основные функции, которые были перенесены инженерами компании из Linux в Android. По имеющимся данным, порядка 85% уязвимостей ядра в программной платформе Android возникают из-за ошибок, которые содержат драйвера, разработанные сторонними поставщиками оборудования. К примеру, если верить прошлогодней статистике, порядка трети всех багов, безопасности платформы Android были связаны именно с багами центральной части платформы.

Реализация новой зашиты ядра призвана помочь девелоперам, которые создают драйвера для аппаратов на Android, с обнаружением ошибок безопасности ядра непосредственно перед выпуском. К слову, в отношении версии операционной системы Android Oreo стоит сказать, что она стала первой, в которую была интегрирована дополнительная защита, связанная с рандомизацией адресного пространства центральной части системы KASLR. В плане доступа функционала стоит отметить, доступ реализован для ядра Android 4.4 и выше.
Благодаря KASLR существенно уменьшается риск применения уязвимости центральной части программной платформы с рандомизацией местоположения, где размещен код ядра с каждым новым запуском. К примеру, для ARM64 добавится 13-25 бит энтропии. Все зависит от того, какую конфигурацию имеет память аппарата, из-за чего в значительной степени затрудняется повторное применение кода.
Кроме того, разработчики Google реализовали перенос из Linux 4.8 функции «Hardened usercopy», благодаря которым защищены пользовательские функции, с помощью которых ядро передает данные от пользовательского пространства в память пространства ядра. Благодаря функции безопасности будет реализована проверка границ, которые относятся к пользовательским функциям копирования. Порядка половины всех уязвимостей ядра Android начиная с 2014 года были вызваны причиной отсутствия или тем, что проверка границ осуществлялась некорректно.
Следует отметить, что в Android Oreo будет реализована «Privileged Access Never Emulation», с помощью которой будет достигнуто предотвращение прямого доступа ядра к памяти пользовательского пространства. Еще одна мера, связанная с безопасностью, начиная с Android 3.18. (Linux 4.6) память ядра, после того, как будет реализована инициализация, доступ будет возможен только для чтения. Напоследок отметим, что выход Android Oreo намечен на эту осень.