Улучшения безопасности Android 4.4 KitKat

В дополнение к множеству улучшения, ориентированные на пользователя в последней версии Android, анонсированной вчера, есть ряд интересных функций безопасности. улучшения, которые, похоже, указывают на то, что Google не полностью пренебрег безопасностью платформы в этом новом выпускать. В этой статье мы расскажем, что нового и что это значит для вас.

SELinux в принудительном режиме

В Android 4.4 SELinux перешёл из разрешающего режима (который просто регистрирует сбои) в принудительный режим. SELinux, представленный в Android 4.3, представляет собой обязательную систему контроля доступа, встроенную в ядро ​​Linux и помогающую обеспечить соблюдение существующих прав контроля доступа (то есть разрешения), а также попытаться предотвратить атаки с целью повышения привилегий (то есть приложение пытается получить root-доступ на вашем устройстве).

Поддержка ключей подписи эллиптических кривых (ECDSA) в AndroidKeyStore.

Интегрированный поставщик хранилища ключей Android теперь включает поддержку ключей подписи Eliptic Curve. Хотя криптография на основе эллиптических кривых, возможно, и получила в последнее время некоторую (неоправданную) плохую огласку, ECC – это жизнеспособная форма криптографии с открытым ключом, которая может стать хорошей альтернативой RSA и другим подобным алгоритмы. Хотя асимметричная криптография не выдержит развития квантовых вычислений, приятно видеть, что Android 4.4 предоставляет разработчикам больше возможностей. Для долгосрочного хранения данных лучшим методом остается симметричное шифрование.

Предупреждения о сертификате SSL CA

Многие корпоративные ИТ-среды включают программное обеспечение для мониторинга SSL, которое добавляет центр сертификации (CA) на ваш компьютер и/или браузер для разрешить корпоративному программному обеспечению веб-фильтрации проводить атаку «человек посередине» на ваши сеансы HTTPS в целях безопасности и мониторинга. целей. Это стало возможным в Android благодаря добавлению на устройство дополнительного ключа CA (который позволяет серверу шлюза вашей компании «притворяться» любым веб-сайтом по своему выбору). Android 4.4 будет предупреждать пользователей, если на их устройство добавлен такой сертификат CA, чтобы они знали о возможности этого.

Автоматическое обнаружение переполнения буфера

Android 4.4 теперь компилируется с FORTIFY_SOURCE, работающим на уровне 2, и гарантирует, что весь код C компилируется с этой защитой. Это также касается кода, скомпилированного с помощью clang. FORTIFY_SOURCE — это функция безопасности компилятора, которая пытается идентифицировать некоторый возможности переполнения буфера (которые могут быть использованы вредоносным программным обеспечением или пользователями для выполнения произвольного кода на устройстве). Хотя FORTIFY_SOURCE не устраняет все возможности переполнения буфера, его, безусловно, лучше использовать, чем не использовать, чтобы избежать каких-либо очевидных упущений при распределении буферов.

Закрепление сертификата Google

В дополнение к поддержке закрепления сертификатов в более ранних версиях Jellybean в Android 4.4 добавлена ​​защита от подмены сертификатов сертификатами Google. Закрепление сертификата — это разрешение использования только определенных SSL-сертификатов из белого списка для определенного домена. Это защитит вас от замены вашим провайдером (например) сертификата, предоставленного ему по распоряжению правительства вашей страны. Без закрепления сертификата ваше устройство примет этот действительный сертификат SSL (поскольку SSL позволяет любому доверенному центру сертификации выдавать любой сертификат). При закреплении сертификата ваш телефон будет принимать только жестко запрограммированный действительный сертификат, что защитит вас от атаки «посредник».

Похоже, что Google не почивает на лаврах в области безопасности Android. Это в дополнение к включение dm-verity, что может иметь серьезные последствия для людей, которые любят рутировать и модифицировать свои устройства с заблокированными загрузчиками (то есть которые обеспечивают соблюдение подписей ядра).