Грязная корова - Dirty COW

Грязная корова
DirtyCow.svg
Идентификатор (-ы) CVECVE-2016-5195
ПервооткрывательФил Остер
Затронутое программное обеспечениеLinux ядро (<4.8.3)

Грязная корова (Грязное копирование при записи) это уязвимость компьютерной безопасности для Ядро Linux это затронуло все операционные системы на базе Linux, включая Android устройства, которые использовали более старые версии ядра Linux, созданные до 2018 года. Это локальный повышение привилегий ошибка, которая использует состояние гонки в реализации копирование при записи механизм в подсистеме управления памятью ядра. Компьютеры и устройства, которые по-прежнему используют старые ядра, остаются уязвимыми.

Уязвимость была обнаружена Фил Остер.[1][2] Из-за состояния гонки при правильном времени локальный злоумышленник может использовать механизм копирования при записи, чтобы преобразовать отображение файла только для чтения в отображение с возможностью записи. Хотя это местный повышение привилегий, удаленные злоумышленники могут использовать его вместе с другими эксплойтами, которые позволяют удаленное выполнение непривилегированного кода для достижения удаленного доступа. корневой доступ на компьютере.[1] Сама атака не оставляет следов в системном журнале.[2]

У уязвимости есть Распространенные уязвимости и подверженности обозначение CVE -2016-5195.[3] Dirty Cow была одной из первых проблем безопасности, прозрачно исправленных в Ubuntu службой Canonical Live Patch.[4]

Было продемонстрировано, что уязвимость может быть использована для корень любое устройство Android до Android версии 7.[5]

История

Уязвимость существует в ядре Linux с версии 2.6.22, выпущенной в сентябре 2007 года, и есть информация о том, что она активно используется по крайней мере с октября 2016 года.[2] Уязвимость исправлена ​​в ядрах Linux версий 4.8.3, 4.7.9, 4.4.26 и новее.

Патч, выпущенный в 2016 году, не полностью устранил проблему, и 27 ноября 2017 года был выпущен обновленный патч до публичного распространения уязвимости.[6]

Приложения

У уязвимости Dirty COW есть множество предполагаемых вариантов использования, включая проверенные примеры, такие как получение прав root на устройствах Android, а также несколько предполагаемых реализаций. В Linux используется много двоичных файлов, которые доступны только для чтения и могут быть изменены или записаны только пользователем с более высокими правами, например, root. Когда привилегии повышаются подлинными или злонамеренными способами - например, с помощью эксплойта Dirty COW - пользователь может изменять обычно неизменяемые двоичные файлы и файлы. Если злоумышленник может использовать уязвимость Dirty COW для повышения своих разрешений, он может изменить файл, например / bin / bash, так что он выполняет дополнительные неожиданные функции, например, кейлоггер. Когда пользователь запускает зараженную программу, он случайно разрешает запуск вредоносного кода. Если эксплойт нацелен на программу, которая запускается с привилегиями root, эксплойт будет иметь те же привилегии.

Средства правовой защиты и обращение

На заре его открытия любой, кто использовал машину под управлением Linux, был уязвим для эксплойта. У эксплойта нет превентивного решения, единственное лекарство - это патч или запуск более новой версии, которая больше не уязвима. Линус Торвальдс совершил патч 18 октября 2016 года, признав, что это была старая уязвимость, которую он пытался исправить одиннадцать лет назад.[7] Некоторые дистрибьюторы предоставляют патчи, например Канонический, который предоставил живой патч. В отсутствие патча есть несколько технологий смягчения, включая SystemTap и очень мало защиты от SELinux или же AppArmor. Антивирусное программное обеспечение может обнаруживать атаки с повышенными разрешениями, но не может предотвратить атаку.[8] Когда предоставляется возможность, самым безопасным путем является обновление ядра Linux до следующих версий:[9][10]

Исправлена ​​самая ранняя версия ядраДистрибутив Linux, который использует это
3.2.0-113.155Ubuntu 12.04 LTS
3.13.0-100.147Ubuntu 14.04 LTS (Linux Mint 17.1)
3.16.36-1 + deb8u2Debian 8
4.4.0-45.66Ubuntu 16.04 LTS
4.8.0-26.28Ubuntu 16.10
3.10.0-327.36.3RHEL 7, CentOS 7
2.6.32-642.6.2RHEL 6, CentOS 6
2.6.18-416RHEL 5, CentOS 5
3.0.101-84.1SLES 11 с пакетом обновления 4 (SP4)
3.12.60-52.57.1SLES 12 GA LTSS
3.12.62-60.64.8.2SLES 12 с пакетом обновления 1

Рекомендации

  1. ^ а б Гудин, Дэн (2016-10-20). ""Самая серьезная «ошибка повышения привилегий в Linux, когда-либо обнаруживаемая при активном использовании (обновлено)». Ars Technica. Получено 2016-10-21.
  2. ^ а б c Воан-Николс, Стивен Дж. «Ошибка Dirty Cow Linux: глупое название серьезной проблемы». ZDNet. Получено 2016-10-21.
  3. ^ «Повышение локальных привилегий ядра - CVE-2016-5195 - клиентский портал Red Hat». access.redhat.com. Получено 2016-10-21.
  4. ^ "LSN-0012-1 Уязвимость ядра Linux". Список рассылки Ubuntu Security. 20 октября 2016 г.
  5. ^ "Телефоны Android, использующие" самую серьезную "ошибку эскалации в Linux". Ars Technica. 24 октября 2016 г.
  6. ^ Чиргвин, Ричард (4 декабря 2017 г.). «Dirty COW redux: разработчики Linux исправили неудачный патч для беспорядка 2016 года». Реестр.
  7. ^ "мм: удалить игры gup_flags FOLL_WRITE из __get_user_pages ()". Дерево исходных текстов ядра Linux. 18 октября 2016 г.
  8. ^ "Насколько опасна грязная корова?". Фонд Linux. 24 октября 2016 г.
  9. ^ Хейзел Вирдо (31 октября 2016 г.). «Как защитить свой сервер от грязной уязвимости COW Linux». DigitalOcean. Получено 29 декабря, 2016.
  10. ^ «CVE-2016-5195: ядро: повышение локальных привилегий с использованием MAP_PRIVATE (Dirty COW). | Поддержка | SUSE». www.suse.com. Получено 2020-01-22.

внешняя ссылка