В Linux обнаружена уязвимость, поднимающая привилегии через eCryptfs

В Linux обнаружена уязвимость, поднимающая привилегии через eCryptfs

В Linux обнаружена уязвимость, поднимающая привилегии через eCryptfs

Исследователи безопасности из группы Zero, созданной компанией Google для предотвращения атак, совершаемых с использованием ранее неизвестных уязвимостей, раскрыли информацию о новой технике атаки (CVE-2016-1583) на ядро Linux.

В качестве примера представлен эксплоит, позволяющий локальному пользователю поднять свои привилегии в системе, в которой применяется шифрование домашних директорий при помощи eCryptfs.

Метод позволяет через формирование рекурсивных вызовов в пространстве пользователя добиться переполнения стека ядра. Многослойные файловые системы, такие как eCryptfs, имеют защиту от глубокой вложенности, но предложенный эксплоит обходит данную защиту. Атакующий может организовать цепочку рекурсивных отражений в память файла /proc/$pid/environ, при которой процесс 1 отражает в своё окружение файл /proc/2/environ, процесс 2 файл /proc/3/environ и т.д. Далее, если прочитать содержимое /proc/1/environ будет вызван обработчик pagefault для процесса 1, что приведёт к вызову pagefault для процесса 2 и т.д. по выстроенной цепочке до тех пор пока не переполнится стек ядра, пишет opennet.ru.

 

 

eCryptfs применяется для совершения атаки так как из-за применения шифрования не просто вызывается операция mmap, а дополнительно используется отдельный кэш страниц памяти и собственный обработчик mmap, который использует методы чтения и записи, предоставляемые низлежащей ФС, что позволяет использовать mmap для файлов, которые в обычных условиях не должны отражаться в память, например, для /proc/$pid/mem, /proc/$pid/memenviron и /proc/$pid/mem/cmdline.

В системах c suid-утилитой /sbin/mount.ecryptfs_private, например в Ubuntu, при активации шифрования для домашней директории, атака может быть совершена непривилегированным пользователям, которому предоставлена возможность создания разделов ecryptfs для своих файлов (так как /proc/$pid связан с принадлежащим пользователю процессом и директория принадлежит пользователю, ecryptfs допускает /proc/$pid в качестве источника монтирования).

Для защиты предлагается запретить любые вложенные операции с procfs, блокировать открытие файлов с f_op->mmap==NULL через ecryptfs, предоставить для ecryptfs отдельный кэш ядра, отделённый от кэша, применяемого при прямом отражении физической памяти, и вынести структуру thread_info в другое место. Соответствующие исправления уже приняты в состав ядра Linux, а также предложеныдополнительные методы защиты. Обновление ядра с устранением уязвимости уже выпущены для Ubuntu Linux, Debian и SUSE. Исправление для RHEL/CentOS 5/6 будет представлено в ближайшем обновлении (ветка 7 не подвержена проблеме).

Трояны-кликеры Android.Phantom используют ML и стриминг с помощью WebRTC

Компания «Доктор Веб» предупреждает о появлении новых Android-троянов, предназначенных для накрутки рекламных кликов. Новобранцы необычны тем, что для выполнения своих задач используют машинное обучение и видеотрансляции.

Представители семейства, условно названного Android.Phantom, распространяются через репаки игр и моды популярных приложений.

Несколько троянизированных игровых программ были обнаружены в официальном магазине Xiaomi — GetApps:

  • Creation Magic World (более 32 тыс. загрузок);
  • Cute Pet House (>34 тыс.);
  • Amazing Unicorn Party (>13 тыс.);
  • Академия мечты Сакура (>4 тыс.);
  • Theft Auto Mafia (>60 тыс.);
  • Open World Gangsters (>11 тыс.).

Во всех случаях разработчиком числится китайская компания Shenzhen Ruiren Technology Co., Ltd. Вредоносная составляющая, как выяснилось, была добавлена с обновлением приложений и запускается в параллель с донорским кодом.

 

Первые вредоносные апдейты были опубликованы в конце сентября. Анализ внедренного трояна (Android.Phantom.2.origin) показал, что он может работать в двух режимах: signaling и phantom.

В последнем случае зловред незаметно для жертвы использует встроенный браузер на основе WebView и по команде с C2-сервера загружает целевые сайты для клик-фрода, а также файл JavaScript с готовым сценарием и ML-фреймворком TensorFlow для выявления нужных элементов страниц и автоматизации процесса.

ИИ-модель для TensorFlow загружается с внешнего сервера в директорию установленного приложения. Для защиты C2-коммуникаций используется шифрование (AES-ECB).

В режиме signaling троян использует виртуальный экран и делает скриншоты. Он также использует WebRTC для прямого подключения к своему серверу и запускает видеотрансляцию реального времени, что позволяет оператору удаленно управлять браузером: кликать, скролить, осуществлять ввод в веб-формы.

В середине октября в каталоге Xiaomi GetApps появилось еще одно обновление: в троянизированные игры бы добавлен модуль Android.Phantom.5. На поверку довесок оказался дроппером с встроенной полезной нагрузкой Android.Phantom.4.origin.

Последний состоит из двух идентичных модулей, привязанных к разным внешним источникам, и обеспечивает загрузку менее замысловатых кликеров (просто грузят сайты в WebView и имитируют действия реального посетителя), а также библиотеки с Java API, необходимой для использования WebRTC на Android.

Исследователи обнаружили и другие источники распространения Android.Phantom: сайты Spotify Plus и Pro, Apkmody, Moddroid, их телеграм-каналы, а также серверы Discord, админы которых предлагают сомнительные ссылки для скачивания модов.

 

Анализ троянизированных версий Deezer (аналог Spotify) выявил еще двух представителей нового зловредного семейства: загрузчика Android.Phantom.1.origin и шпиона Android.Phantom.5.origin, собирающего информацию о зараженном устройстве (номер телефона, местоположение, список установленных программ и т. п.).

RSS: Новости на портале Anti-Malware.ru