Грязная КОРОВА
Идентификатор(ы) CVE | CVE-2016-5195 |
---|---|
Первооткрыватель | Фил Ойстер |
Затронутое программное обеспечение | Ядро Linux (<4.8.3) |
Dirty COW ( Dirty copy-on-write ) — уязвимость компьютерной безопасности ядра Linux , которая затронула все операционные системы на базе Linux, включая устройства Android , которые использовали более старые версии ядра Linux, созданные до 2018 года. Это локальное повышение привилегий. ошибка, которая использует состояние гонки при реализации механизма копирования при записи в подсистеме управления памятью ядра. Компьютеры и устройства, которые все еще используют старые ядра, остаются уязвимыми.
Уязвимость обнаружил Фил Остер . [1] [2] Из-за состояния гонки, при правильном выборе времени, локальный злоумышленник может использовать механизм копирования при записи, чтобы превратить сопоставление файла, доступное только для чтения, в сопоставление, доступное для записи. Хотя это локальное повышение привилегий , удаленные злоумышленники могут использовать его в сочетании с другими эксплойтами, которые позволяют удаленно выполнять непривилегированный код для получения удаленного root-доступа на компьютере. [1] Сама атака не оставляет следов в системном журнале. [2]
Уязвимость имеет Common Vulnerabilities and Exposures обозначение CVE — 2016-5195 . [3] Dirty Cow была одной из первых проблем безопасности, явно исправленных в Ubuntu службой Canonical Live Patch. [4]
Было продемонстрировано, что уязвимость можно использовать для рутирования любого устройства Android до (и исключая) версии Android 7 (Nougat). [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] Некоторые дистрибьюторы предоставляют патчи, например Canonical , предоставившая действующий патч . В отсутствие патча существует несколько технологий смягчения последствий, включая SystemTap , и очень слабая безопасность от SELinux или AppArmor . Антивирусное программное обеспечение потенциально может обнаружить атаки с повышенными разрешениями, но оно не может предотвратить атаку. [8] Если есть такая возможность, самым безопасным путем будет обновление ядра Linux до следующих версий: [9] [10]
Исправлена самая ранняя версия ядра | Дистрибутив Linux, который использует это |
---|---|
3.2.0-113.155 | Убунту 12.04 ЛТС |
3.13.0-100.147 | Ubuntu 14.04 LTS (Linux Mint 17.1) |
3.16.36-1+deb8u2 | Дебиан 8 |
4.4.0-45.66 | Убунту 16.04 ЛТС |
4.8.0-26.28 | Убунту 16.10 |
3.10.0-327.36.3 | РЭЛ 7, ЦентОС 7 |
2.6.32-642.6.2 | РЭЛ 6, ЦентОС 6 |
2.6.18-416 | РЕЛ 5, ЦентОС 5 |
3.0.101-84.1 | СЛЕС 11 СП4 |
3.12.60-52.57.1 | СЛЕС 12 ГА ЛТСС |
3.12.62-60.64.8.2 | СЛЕС 12 СП1 |
Ссылки
[ редактировать ]- ^ Jump up to: а б Гудин, Дэн (20 октября 2016 г.). « Самая серьезная» ошибка повышения привилегий в Linux находится под активным эксплойтом (обновлено)» . Арс Техника . Проверено 21 октября 2016 г.
- ^ Jump up to: а б с Воган-Николс, Стивен Дж. «Ошибка Linux Dirty Cow: глупое название для серьезной проблемы» . ЗДНет . Проверено 21 октября 2016 г.
- ^ «Повышение локальных привилегий ядра — CVE-2016-5195 — Портал клиентов Red Hat» . access.redhat.com . Проверено 21 октября 2016 г.
- ^ «LSN-0012-1 Уязвимость ядра Linux» . Список рассылки Ubuntu Security . 20 октября 2016 г.
- ^ «В телефонах Android виновата «самая серьезная» ошибка Linux, связанная с эскалацией Linux» . Арс Техника . 24 октября 2016 г.
- ^ Чиргвин, Ричард (4 декабря 2017 г.). «Dirty COW redux: разработчики Linux исправили неудачный патч для беспорядка 2016 года» . Регистр .
- ^ «мм: удалить игры gup_flags FOLL_WRITE из __get_user_pages()» . Дерево исходного кода ядра Linux . 18 октября 2016 г.
- ^ «Насколько плоха грязная КОРОВА?» . Фонд Linux. 24 октября 2016 г.
- ^ Хейзел Вирдо (31 октября 2016 г.). «Как защитить свой сервер от уязвимости Dirty COW Linux» . Цифровой Океан . Проверено 29 декабря 2016 г.
- ^ «CVE-2016-5195: ядро: локальное повышение привилегий с использованием MAP_PRIVATE (Dirty COW). | Поддержка | SUSE» . www.suse.com . Проверено 22 января 2020 г.