Как стать автором
Обновить
0

Новые функции безопасности Android 7

Время на прочтение4 мин
Количество просмотров18K
Google уже выпустила Android 7. В ближайшее время владельцы различных устройств под управлением Android получат обновление прошивки. Одними из первых новую версию получат пользователи фирменных устройств Google Nexus 6P, 5X, 6, 9, Google Pixel C, Nexus Player, Android One. Так как Google распространяет обновления Android волнами, не все пользователи этих устройств смогут оперативно получить обновление. Android 7 также смогут получить флагманские модели устройств таких вендоров как Samsung (Galaxy S6 и S7), HTC (HTC 10, One A9 и One M9), Sony (Xperia Z3+, Xperia Z4 Tablet, Xperia Z5, Xperia X), LG (V20), Huawei. В новой версии Android появился ряд новых серьезных функций безопасности (security features), о некоторых из которых мы писали в предыдущих постах. Первый был посвящен функции Direct Boot, которая упростит владельцам устройств работу с шифрованием. Второй содержал информацию об улучшениях безопасности ядра Linux, на котором основана Android.

Функция Direct Boot ответственна за своевременную подготовку исполнения системных файлов Android на зашифрованном устройстве. Так как предыдущие версии Android использовали метод шифрования Full Disc Encryption (FDE), т. е. шифрование памяти устройства целиком, загрузчику необходимо было знать код разблокировки устройства для расшифровки системных файлов (в качестве компонента ключа шифрования Android использует код разблокировки устройства). В такой схеме пользователю нужно было ввести код разблокировки дважды после перезагрузки устройства: в первый раз для разблокировки системных файлов, а второй для разблокировки самого устройства.

Своей реализацией Direct Boot обязана тому факту, что Android 7 переключилась с использования шифрования FDE на шифрование per-file, т. е. каждого отдельного файла. Такая схема шифрования уже давно применяется в iOS.

Under the hood, file-based encryption enables this improved user experience. With this new encryption scheme, the system storage area, as well as each user profile storage area, are all encrypted separately. Unlike with full-disk encryption, where all data was encrypted as a single unit, per-profile-based encryption enables the system to reboot normally into a functional state using just device keys. Essential apps can opt-in to run in a limited state after reboot, and when you enter your lock screen credential, these apps then get access your user data to provide full functionality.

Источник

Другое security-улучшение касается печально известного системного сервиса под названием MediaServer. Этот компонент работает с повышенными правами и отвечает за проигрывание различного мультимедийного контента. Уязвимости в нем регулярно закрывались в обновлениях безопасности Android, о которых мы писали в блоге. Функция безопасности под названием overflow sanitization помогает закрыть целый класс уязвимостей Android, которые были обнаружены в библиотеке libstagefright. Данную библиотеку использует MediaServer. Другое улучшение безопасности MediaServer касается работы всего мультимедийного стека компонентов, каждый из которых теперь находится в условиях изоляции своего собственного окружения sandbox.

First, by incorporating integer overflow sanitization, part of Clang’s UndefinedBehaviorSanitizer, we prevent an entire class of vulnerabilities, which comprise the majority of reported libstagefright bugs. As soon as an integer overflow is detected, we shut down the process so an attack is stopped. Second, we’ve modularized the media stack to put different components into individual sandboxes and tightened the privileges of each sandbox to have the minimum privileges required to perform its job. With this containment technique, a compromise in many parts of the stack grants the attacker access to significantly fewer permissions and significantly reduced exposed kernel attack surface.


Рис. В Android 7 сервис MediaServer разбит на различные подсистемы (мультимедийный стек), которые работают с ограниченными правами и в ограниченном окружении (sandbox). Видно, что новая система присвоения прав сервисам является гораздо эффективной с точки зрения безопасности, поскольку позволяет задать приложению только нужные ему права. В новой версии библиотека libstagefright функционирует в сервисе MediaCodecService, который имеет минимальные права в системе. Таким образом, эксплуатация уязвимостей в этом компоненте для Android 7 не принесет атакующим никаких результатов.

Новая функция Verified Boot строго контролирует целостность загрузчика, предотвращая загрузку устройства в случае его компрометации. Улучшению подвергся и механизм изоляции приложений (sandbox) ядра Linux, известный как seccomp. Кроме этого, были улучшены настройки конфигурации подсистемы безопасности SELinux. Обе этих меры позволяют полностью закрыть механизм безопасности sandbox приложений, а также уменьшить риск успешной эксплуатации других методов атак, используемых эксплойтами.

Об улучшениях безопасности ядра Android мы писали ранее. Они включают в себя реализацию DEP для виртуальной памяти режима ядра (Kernel DEP), функцию типа SMAP, которая позволяет блокировать доступ к страницам пользовательской виртуальной памяти для кода режима ядра. Несколько новых функций относятся к технике, известной под названием Attack Surface Reduction (ASR), она позволяет существенно сократить успешность эксплуатации целого класса уязвимостей. В рамках ASR. Android 7 поддерживает удаление доступа по умолчанию отладки устройства, а также запрещает приложениям использовать некоторые команды с использованием функции ioctl.

Улучшенным стал и механизм обновлений Android 7 «по воздуху» (OTA update). Теперь размер обновлений стал более компактным, а время установки существенно сократилось. Сокращение времени установки обуславливается еще и тем фактором, что в новой версии не будет этапа «подготовки приложений», который занимал больше всего времени в процессе установки обновления в предыдущих версиях Android.

image
be secure.
Теги:
Хабы:
+10
Комментарии44

Публикации

Информация

Сайт
www.esetnod32.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Словакия

Истории