Ошибка ядра Linux девятилетней давности, получившая название «Грязная корова», может рутировать любую версию Android

Dirty Cow — это недавно обнаруженная ошибка, возникшая 9 лет назад, которую можно использовать для предоставления root-доступа на всех версиях Android.

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


Введите грязную корову

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

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

Dirty Cow сама по себе не является эксплойтом, а скорее уязвимостью. Однако эта уязвимость позволяет повысить привилегии процесса пользовательского пространства, предоставив ему привилегии суперпользователя. Воспользовавшись этой уязвимостью, вредоносный процесс пользовательского пространства может получить неограниченный root-доступ на устройстве жертвы. Говоря более техническим языком, ошибка связана с состоянием гонки в методе дублирования памяти Linux, известном как копирование при записи. Используя это состояние гонки, пользователи могут получить доступ для записи к сопоставлениям памяти, которые обычно доступны только для чтения. Более подробную информацию об уязвимости можно получить из здесь, здесь, и здесь.

Утверждается, что эту уязвимость безопасности довольно легко эксплуатировать, и действительно, всего через несколько дней после того, как уязвимость была обнародована, экспериментальный эксплойт повышения привилегий было продемонстрировано для все устройства Android. Любое устройство Android с версией ядра Linux выше 2.6.22 (читай: каждый существующий дистрибутив Android) потенциально может стать жертвой этого эксплойта для проверки концепции. Хотя эксплойт для проверки концепции на самом деле не обеспечивает root-доступа, атака на систему с использованием этой уязвимости делает это довольно простым. В электронном письме, отправленном в ArsTechnica, Фил Остер, разработчик ядра Linux, который каталогизирует известные реальные эксплойты Dirty Cow на его сайт вот что сказал по поводу ошибки:

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

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

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

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

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


Источник: АрсТехника [1]

Источник: АрсТехника [2]