Все мы слышали о нововведениях в Android 4.3 Jelly Bean: Bluetooth Smart, ограниченные профили, OpenGL 3.0 и другом. Но мало кто знает, что в новой версии операционной системы Google работала над улучшением безопасности. Об этом ниже и пойдет речь.
SELinux
В Android 4.3 используется код SELinux. Многие рассматривают этот шаг как спорный, ведь SELinux изначально разрабатывался Агентством национальной безопасности США (АНБ). Многие до сих пор вздрагивают, когда слышат об АНБ или PRISM. Но, на самом деле, волноваться не стоит. SELinux поставляется с открытым исходным кодом, так что любой может с легкостью проверить все, что там написано. Да и сама система была использована АНБ в 2003 году, а с тех пор прошло уже 10 лет и такие гиганты как Red Hat множество раз переписывали код ОС и не могли не заметить (а заметив — не исправить) какие-либо попытки Агентства следить за пользователями.
В целом, использование SELinux значительно повышает безопасность и отказоустойчивость Android. Благодаря этому улучшена безопасность UID Android, основанной на песочнице, и гарантированно разделение работы приложений. Правда, пока Google по умолчанию оставила «разрешающий режим» работы системы для того, чтобы протестировать новую функциональность и не создавать помех пользователям и разработчикам. Но в будущем система может работать и в принудительном режиме.
KeyChains и Keystor поставщиков
В Android 4.3 добавлены новые системные вызовы, позволяющие разработчикам связывать ключи шифрования с определенным оборудованием. Это значит, что разработчик может создать частное хранилище ключей, которое не может быть связано или каким-либо образом передано другому устройству, даже если первое устройство находится под угрозой (например, подвергается атаке). Кроме брелков, Google позволила приложениям создавать эксклюзивные ключи, которые могут быть использованы только с одним конкретным приложением и не могут использоваться или быть переданы другому приложению.
Таким образом, хакер, который все-таки смог проникнуть в пользовательское устройство, попросту не сможет скачать и/или использовать ключи шифрования.
Nosuid
В Unix-подобных системах, в частности в Linux, а следовательно и в Android, какая-либо программа может получить root-доступ к системе, в случае если бинарный файл был отмечен флагом setuid (или с битом setuid). Таким образом, программы могли получить root-доступ и выполнять привилегированные операции. В Android 4.3 системный раздел с системными же программами (/system) теперь настроен таким образом, что обычные приложения уже не смогут воспользоваться setuid, даже если такой флаг установлен, благодаря nosuid. Это сокращает количество способов доступа к системе и делает Android еще более защищенным.
Сети WPA2-Enterprise
Теперь разработчики могут использовать приложения, которые смогут подключаться к Wi-Fi точкам WPA2-Enterprise. Такие приложения смогут использовать новые вызовы Android для подключения по Extensible Authentication Protocol (EAP) и Encapsulated EAP (Phase 2).
Не Android 4.3 единым
Вышеобозначенные меры применяются только к Android 4.3, но устройства с более низкой версией операционной системы так же не остались у разбитого корыта. Речь идет обо всех устройствах с Android 2.3 или выше, то есть о 96% всех устройств с Android.
Во-первых, это новая функция проверки приложений. Теперь все приложения сканируются, а получившие статус вредоносных блокируются. Ранее такой функциональностью обладал только Android 4.2. Сканированию будут подвергаться все приложения — и установленные вручную, и из Google Play.
Во-вторых, Google начала установку Android Device Manager на все устройства с Android 2.2 и выше. Теперь все пользователь смогут управлять своим устройством удаленно и, в случае необходимости, отключить его или выполнить полный сброс настроек.
И еще кое-что
Непосредственно к статье это не относится, но довольно забавный факт: несмотря на то, что формально Android 4.3 остался Jelly Bean, в Google его ласково называют «еще более сладкие Jelly Bean» или «a sweeter Jelly Bean».