Зміст:
Нове питання безпеки (CVE-2016-0728 для тих, хто любить слідкувати за цими речами) було оголошено 14 січня Perception Point, дослідницькою групою з безпеки. Помилка впливає на ядра, складені перемикачем конфігурації ядра CONFIG_KEYS, встановленим на "увімкнено" і присутній у всіх ядрах Linux з версії 3.8. Експлоатація дозволяє ескалації кореня, повертаючи 32-бітове ціле число назад до нуля. Точка сприйняття стверджує, що "постраждали приблизно десятки мільйонів ПК та серверів Linux та 66 відсотків усіх пристроїв Android".
Адріан Людвіг Google, головний інженер з питань безпеки Android, відповів, заявивши, що цей випадок був зафіксований та випущений у відкритий код із 20 січня.
Як завжди, ще багато питань. Поговоримо про них.
Що відбувається?
У ядрі Linux є помилка (версія 3.8 і вище), яка дозволяє зловмиснику отримати root-доступ. Ядро повинно бути побудовано з увімкненою службою Keyring, і для атаки потрібно зробити багато математики, щоб зробити кількість підрахунків максимально високим, а потім повернутися до нуля. Для обліку 32-бітового цілого числа (два до 32-ї потужності) потрібно повернути до нуля 4 294 967 296 обчислень. На абсолютно новий процесор Intel i7 потрібно лише 30 хвилин, але це буде забирати набагато більше часу (як і в цілому набагато довше) на телефонному процесорі.
Як тільки число пройде навпаки (подумайте, як машина з пінболом повернеться до нуля, коли ваш результат досягне 999, 999, 999) і повернеться до нуля, зловмисник може отримати доступ до простору пам'яті та виконати код як суперкористувач.
Ви повинні турбуватися?
Нас завжди слід турбувати, коли виникає подвиг безпеки. Цей час не відрізняється. Але тут є кілька речей, які змушують багатьох сумніватися в кількості потенційно постраждалих пристроїв.
- Рекомендована конфігурація ядра для пристроїв Android не включає змінну CONFIG_KEYS, і це означає, що цей експлуатація не матиме ефекту. Люди, які створили ваш телефон, можливо, це ввімкнули, і користувальницькі кухонні плити теж можуть мати.
- Усі телефони Nexus не впливають - вони використовують конфігурацію ядра за замовчуванням, а в ядрі не ввімкнено Keyring.
- SELinux заперечує вектор атаки, тому якщо на вашому телефоні чи планшеті працює Android 5.0 або новішої версії, на вас не слід впливати.
- Більшість пристроїв, на яких не працює Android 5.0 або новішої версії, використовуватимуть старішу версію ядра Linux, і це не впливає.
Так, велика кількість комп'ютерів, телефонів і планшетів впливає на цей подвиг. Але ми сумніваємося в числах, які дала Точка сприйняття.
Ми не можемо перевірити всі 11000 різних моделей Androids там, але ми можемо направити всіх, хто має більше запитань, на відповідний форум пристроїв. Коротше кажучи, якщо ви запускаєте Lollipop, ви в безпеці. Якщо цього немає, подивіться на екран Про пристрої та перевірте версію ядра. Якщо це раніше, ніж 3, 8, ви в безпеці.
Що я повинен зробити?
Це одне з тих питань безпеки, якими може користуватися додаток - за умови, що ваш телефон вразливий, як ми говорили вище. Оскільки в роботі багато обчислень, вам надовго довелося б мати поганий додаток, що працює на передньому плані, тож щось на зразок гри було б гарним додатком, щоб спробувати скористатися експлуатуванням.
Щоб залишатися в безпеці, не встановлюйте додатки, яким ви не довіряєте. Колись.
Якщо ви не впевнені, кому можете довіряти, просто переконайтеся, що ви не дозволяєте програмам встановлюватись із невідомих джерел та дотримуватися Google Play.
Насправді так просто бути 100-відсотковим безпечним від цього.
Що з оновленнями для подвигів?
Людвіг Google каже, що патч був випущений 20 січня для відкриття джерела та доставлений всім партнерам. Виробникам доведеться включити цей патч, щоб він відповідав рівню патчу безпеки від 1 березня 2016 року та пізніше.