9-річна помилка ядра Linux під назвою «Брудна корова» може рутувати будь-яку версію Android

Dirty Cow — нещодавно виявлена ​​помилка 9-річної давнини, яку можна використати для надання root-доступу на всіх версіях Android.

Незважаючи на те, що десятки тисяч користувачів активно досліджують вихідний код ядра Linux, активно шукаючи недоліки безпеки, нечувано, що серйозні помилки залишаються непоміченими. Зрештою, хоча ймовірність пропустити щось неймовірно серйозне зменшується, якщо мати більше очей, перевіряючи код, ми всі все одно люди і обов’язково припустимося помилки. На жаль, цього разу помилка видається досить серйозною. А експлойт підвищення привілеїв нещодавно було виявлено минулого тижня, і хоча це вже виправлено в основному ядрі Linux помилка могла потенційно можуть бути використані майже на кожному телефоні Android на ринку, доки кожен пристрій не отримає відповідний патч ядра.


Входить Dirty Cow

Помилка підвищення привілеїв відома в просторіччі як експлойт Dirty Cow, але в системі відстеження помилок ядра Linux вона занесена в каталог як CVE-2016-5195. Хоча помилку виявили лише минулого тижня, вона існувала в коді ядра Linux для 

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

Сама по собі Dirty Cow — це не експлойт, а скоріше вразливість. Однак ця вразливість дозволяє підвищити привілеї процесу простору користувача, надавши йому привілеї суперкористувача. Використовуючи цю вразливість, зловмисний процес користувача може отримати безперешкодний кореневий доступ до пристрою жертви. Говорячи більш технічними термінами, помилка пов’язана з гоночною умовою техніки дублювання пам’яті Linux, відомої як копіювання під час запису. Використовуючи цю умову змагання, користувачі можуть отримати доступ для запису до відображень пам’яті, які зазвичай налаштовані лише на читання. Більш детальну інформацію про вразливість можна отримати з тут, тут, і тут.

Вважається, що вразливість системи безпеки досить тривіальна для використання, і справді, протягом кількох днів після оприлюднення вразливості перевірка концепції експлойту підвищення привілеїв було продемонстровано для всі пристрої Android. Будь-який пристрій Android із версією ядра Linux, вищою за 2.6.22 (прочитайте: кожен існуючий дистрибутив Android) потенційно може стати жертвою експлойту підтвердження концепції. Хоча експлойт для підтвердження концепції насправді не отримує кореневий доступ, атака на систему за допомогою цієї вразливості робить це досить простим. В електронному листі, надісланому до ArsTechnica, Філ Остер, розробник ядра Linux, який каталогізує відомі реальні експлойти Dirty Cow на його веб-сайт сказав про помилку:

Під час мого тестування будь-який користувач може стати root менш ніж за 5 секунд, що дуже надійно. Страшні речі.

Цю вразливість найпростіше використати за допомогою локального доступу до системи, наприклад облікових записів оболонки. Менш тривіально, будь-яка вразливість веб-сервера/програми, яка дозволяє зловмиснику завантажити файл у заражену систему та запустити його, також працює.

Конкретний експлойт, який було завантажено в мою систему, було скомпільовано за допомогою GCC 4.8.5 випуску 20150623, хоча це не означає, що вразливість не була доступна раніше цієї дати довголіття. Щодо того, хто став мішенню, будь-хто, хто використовує Linux на веб-сервері, є вразливим.

Протягом останніх кількох років я фіксував увесь вхідний трафік до моїх веб-серверів для криміналістичного аналізу. Ця практика неодноразово виявилася безцінною, і я рекомендую її всім адміністраторам. У цьому випадку я зміг витягти завантажений двійковий файл із цих записів, щоб проаналізувати його поведінку та передати відповідним супроводжувачам ядра Linux.

Після подальшої роботи розробників над демонстрацією ефективності експлуатації Dirty Cow на Android один розробник зміг успішно рутувати свій HTC пристрій за лічені секунди, скориставшись уразливістю. Ми в XDA загалом вітаємо можливість користувачів отримати root-доступ, але ми не святкуємо її існування root-експлойти, такі як цей, особливо той, який настільки широко поширений і потенційно неймовірно небезпечний для завершення користувачів. Щоб дати вам уявлення про те, наскільки небезпечною може бути Брудна корова в дикій природі, YouTuber Computerphile зібрав коротке відео демонструючи потенційні зловмисні вектори атак, які хакери можуть використовувати для тихого отримання кореневого доступу до вашого пристрій.


Джерело: ArsTechnica [1]

Джерело: ArsTechnica [2]