На тематических сайтах регулярно появляются данные о новых угрозах безопасности, встающими перед огромным количеством пользователей устройств Android. Главная проблема смартонов с операционной системой Android - невозможность быстрого обновления ПО и использования исправлений разработчика. Но при детальном сравнении свежих версий Android и iOS становится понятно, что в данной области куда как больше одной проблемы. Мэттью Грин, являющийся профессором криптографии в университете Джона Хопкинса, решил разобраться в данном вопросе.
Безопасность устройства на новой Android 7.0 Nougat
Устройства, функционирующие на Android 7.0 Nougat, последней версии операционной системы от Google, пользуются при работе полным шифрованием диска. Это очень хорошо, однако же, даже это не способно защитить их от взлома и доступа к хранимым данным. Тем более, когда экран телефона заблокирован при помощи персонального пароля, доступ к большинству файлов все-таки возможен, ведь ключи шифрования хранятся в оперативной памяти устройства. Такой вывод сделал Мэттью Грин в результате анализа.
Двухуровневая защита для разработчиков
При дальнейшем сравнении выявилось, что в устройствах Apple предлагается четыре уровня защиты для разработчиков, а в гаджетах на Android Nougat таких уровней всего два, поэтому приложения все еще остаются уязвимыми. Получился довольно печальный вывод для пользователей Android у профессора криптографии. Он подытожил, что Android движется в нужном направлении, но в этой операционной системе доселе не решена проблема, которая успешно осилена в Apple шесть лет назад.
Причины высокой уязвимости Андроид
Почему же сложилось такое положение? Это удивительно, но изначально Android Inc. являлся стартапом, им он и остается до сих пор. Как и во всех стартапах, специалисты этой компании в первую очередь стараются максимально использовать уже существующие решения. Вот почему в качестве ядра для этой платформы используется Linux, славящийся открытостью и наличием необходимой функциональности. В каждом Android под управлением ядра Linux находятся память, процессы, hardware abstraction layer (HAL). Если разбираться далее, то видно, что в Linux драйвера могут быть встроены в ядро или разработаны в виде загружаемых модулей ядра. Но у Android процесс загрузки модулей ядра по умолчанию отключен, а при встраивании всех драйверов ядро невероятно разрастется, поэтому разработчиками было решено создать промежуточный слой под названием proxy HAL, который находится между ядром и драйверами. Так получается, что HAL — это набор интерфейсов с имплементацией, которая реализована в драйверах. Одновременно в ядро добавились некоторые системы, характерные лишь для Android систем. Но даже на сегодняшний день они еще не включены в основную ветку ядра Linux, из-за этого не получится просто скачать ядро Linux и заменить им ядро Android.