Dr. Safety Tips (Russian)

Очередная атака грязной коровы (Dirty COW) позволяет получить root-права на Android

20 октября 2016 года стало известно об уязвимости CVE-2016-5195, получившей имя Dirty COW. Проблема существовала в ядре Linux с 2007 года и связана с тем, как подсистема памяти ядра работает с механизмом copy-on-write (COW). Эксплуатируя баг можно спровоцировать так называемое состояние гонки, что в итоге позволит атакующему повысить привилегии.

Android также подвержен уязвимости Dirty COW, хотя политика SELinux серьезно ограничивает дальность атаки. Специалисты из Trend Micro нашли еще один способ атаки Dirty COW, которая отличается от существующих атак. Обнаруженный метод позволяет вредоносному коду быть записанным непосредственно в процессы, давая хакерам значительное количество контроля над зараженном устройстве. Все Android версии в настоящее время считаются, пострадавшими от этой проблемы.

Доказательство концепции
Видео ниже демонстрирует возможную атаку. Запуск Dirty COW может быть использован для кражи информации и параметров, изменения системы (в данном случае, получить местоположение телефона, включение Bluetooth и Wi-Fi). Он также используется, чтобы автоматически устанавливать любые приложения на устройство, даже пользователь включил разрешение только для приложений из Google Play маркета.

Почему это происходит? При выполнении файла ELF, ядро Linux отображает исполняемый файл в память. Это отображение будет повторно использоваться при открытии одного и того же исполняемого файла ELF. Когда Dirty COW используется для изменения ELF исполняемого файла, который уже запущен, образ запущенный процесс тоже может быть изменен. Давайте рассмотрим, что это означает: Dirty COW может изменить любой запущенный процесс, который читается. Если процесс не может быть прочитан, хакеры все еще могут использовать путь cat /proc/{pid}/maps, чтобы найти, если какие-либо загруженные модули ELF читаемы.

На Android тот же самый процесс применяется. Процесс Android Runtime (ART) может быть динамически изменен таким же образом. Это позволяет злоумышленникам запустить приложение на Android устройствах, чтобы изменить любой другой процесс, который является читаемым. Это позволяет им внедрить код и контролировать контекст любого процесса.

Эта атака расширяет возможности, чтобы не только read/write файлы могут быть изменены, но для написания кода непосредственно в памяти устройств, что позволяет получить root-права.

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

Первоначально было объявлено обновление для некоторых устройств на базе Android, но в этом месяце Google объявила об обязательном обновлении для всех своих устройств.

Dr. Safety хочет в очередной раз напомнить не забывать обновлять операционную систему и приложения.

歡迎留言讓我知道你的想法~~

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料