Покращення безпеки Android 4.4 KitKat

Крім багатьох покращення для користувача в останньому варіанті Android, анонсованому вчора, є ряд цікавих засобів безпеки покращення, які, здається, вказують на те, що Google не повністю знехтував безпекою платформи в цій новинці реліз. У цій статті буде описано, що нового та що це означає для вас.

SELinux у примусовому режимі

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

Підтримка ключів для підпису еліптичної кривої (ECDSA) в AndroidKeyStore

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

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

Багато корпоративних ІТ-середовищ включають програмне забезпечення для моніторингу SSL, яке додає центр сертифікації (CA) до вашого комп’ютера та/або браузера, щоб дозволити програмному забезпеченню корпоративної веб-фільтрації здійснювати атаку типу "людина посередині" на ваші сеанси HTTPS для безпеки та моніторингу цілей. Це стало можливим з Android завдяки додаванню додаткового ключа CA до пристрою (що дозволяє серверу шлюзу вашої компанії «прикидатися» будь-яким веб-сайтом, який він вибере). Android 4.4 попереджатиме користувачів, якщо до їхніх пристроїв додано такий сертифікат ЦС, щоб вони знали про можливість цього.

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

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, що може мати серйозні наслідки для людей, які люблять рутувати та модифікувати свої пристрої із заблокованими завантажувачами (тобто які забезпечують дотримання підписів ядра).