Dirty Pipe: что нужно знать о серьезной уязвимости, затрагивающей устройства Pixel 6 и Galaxy S22 [Обновлено]

В мире кибербезопасности активно обсуждают новую уязвимость в Linux под названием «Dirty Pipe», которая также затрагивает устройства на Android 12, такие как Galaxy S22 и Pixel 6. Вот все, что вам нужно знать о «Dirty Pipe», какие устройства подвержены риску и как лучше всего защититься.

На что способна уязвимость Dirty Pipe?

Недавно раскрытая Максом Келлерманном как уязвимость CVE-2022-0847, «Dirty Pipe» — это эксплойт безопасности в некоторых последних версиях ядра Linux. (Ядро — это центральная часть операционной системы, часто выступающая посредником между приложениями и вашим оборудованием.) Проще говоря, любое приложение, которое может читать файлы на вашем телефоне/компьютере — разрешение, которое запрашивают многие приложения для Android — потенциально может повредить ваши файлы или запустить вредоносный код. На настольных/портативных версиях Linux уже было продемонстрировано, что с помощью этой уязвимости можно легко получить права администратора.

Проще говоря, этот эксплойт может легко предоставить злоумышленнику полный контроль над вашим устройством.

Какие устройства подвержены уязвимости «Dirty Pipe»?

В общих чертах, «Dirty Pipe» затрагивает устройства на базе Linux, что включает в себя всё: от телефонов Android и Chromebook до устройств Google Home, таких как Chromecast, умные колонки и дисплеи. Если точнее, ошибка была внесена в ядро Linux версии 5.8, выпущенное в 2020 году, и сохранялась в последующих версиях.

Что касается Android, как отмечает Рон Амадео из Ars Technica, потенциальный ущерб от «Dirty Pipe» гораздо более ограничен. Большинство устройств на Android на самом деле используют более старую версию ядра Linux, не подверженную этой уязвимости. Риску подвержены только те устройства, которые изначально поставлялись с Android 12.

К сожалению, это означает, что телефоны на Android, такие как серия Google Pixel 6 и серия Samsung Galaxy S22, потенциально подвержены риску «Dirty Pipe». Более того, разработчик, который изначально обнаружил уязвимость, смог воспроизвести ее на Pixel 6 и сообщил об этом Google.

Самый простой способ проверить, затронуто ли ваше устройство, — это посмотреть версию ядра Linux. Для этого откройте приложение «Настройки», перейдите в раздел «О телефоне», нажмите «Версия Android», а затем найдите пункт «Версия ядра». Если вы видите версию выше 5.8 — и если Google еще не выпустил исправление безопасности — то ваше устройство потенциально подвержено риску уязвимости «Dirty Pipe».

Чтобы найти эту же информацию в Chrome OS, откройте новую вкладку, перейдите по адресу chrome://system и прокрутите вниз до «uname». Вы должны увидеть текст, похожий на приведенный ниже. Если число после «Linux localhost» больше 5.8, ваше устройство может быть затронуто.

Используют ли злоумышленники эту уязвимость?

На данный момент нет известных случаев использования эксплойта «Dirty Pipe» для получения контроля над телефоном или компьютером. Тем не менее, немало разработчиков продемонстрировали proof-of-concept примеры того, насколько легко можно использовать «Dirty Pipe». Вероятно, это лишь вопрос времени, когда эксплойты на основе «Dirty Pipe» начнут появляться в реальных условиях.

Самый свежий пример (через Макса Вайнбаха) демонстрирует, как Dirty Pipe используется для очень быстрого получения root-доступа как на Pixel 6, так и на Galaxy S22 с помощью proof-of-concept приложения. Хотя возможность эксплуатации уязвимости на Pixel 6 была подтверждена ранее, эта демонстрация, опубликованная Fire30, является первой, показывающей Dirty Pipe в действии на телефоне Android.

https://twitter.com/Fire30_/status/1503422980612923404

Что предпринимают Google и другие компании?

Помимо первоначального обнаружения эксплойта «Dirty Pipe», Келлерманн также смог определить, как его исправить, и отправил исправление в проект ядра Linux вскоре после частного раскрытия информации. Два дня спустя были выпущены новые сборки поддерживаемых версий ядра Linux, включающие это исправление.

Как упоминалось ранее, об эксплойте «Dirty Pipe» также сообщили команде безопасности Android в Google в конце февраля. В течение нескольких дней исправление Келлерманна было добавлено в исходный код Android, что обеспечило безопасность будущих сборок. Команда Chrome OS последовала этому примеру, внедрив исправление 7 марта, и, по-видимому, оно должно было выйти потенциально в качестве промежуточного обновления для Chrome OS 99.

Однако, учитывая, насколько новы и эксплойт, и его исправление, проблема, по-видимому, не была включена в бюллетень по безопасности Android за март 2022 года. На данный момент неясно, будет ли создан специальный патч для затронутых устройств, таких как серия Pixel 6, или уязвимость будет оставаться актуальной до патча безопасности следующего месяца. По словам Райна Хагера из Android Police, Google подтвердил, что недавняя задержка мартовского патча для Pixel 6 не связана с эксплойтом «Dirty Pipe».


Обновление от 04.04: Точно по графику Google выпустила апрельский патч 2022 года для серии Pixel 6 и других телефонов Pixel. Однако ни в бюллетене по безопасности Android за этот месяц, ни в примечаниях к патчу для Pixel нет упоминания об эксплойте Dirty Pipe. Это говорит о том, что эксплойт Dirty Pipe будет оставаться актуальным для телефона как минимум до патча следующего месяца.

Телефоны Galaxy также начали получать свое апрельское обновление 2022 года на этой неделе. Однако, поскольку Samsung публикует примечания к патчу позже в течение месяца, мы пока не можем быть уверены, затронута ли серия Galaxy S22 уязвимостью Dirty Pipe.


Обновление от 03.05: Google выпустила майский патч безопасности 2022 года для телефонов Pixel и опубликовала более широкий бюллетень по безопасности Android за этот месяц. В бюллетене прямо упоминается эксплойт Dirty Pipe, что означает, что каждый телефон с обновлением безопасности за май 2022 года или новее гарантированно защищен от злоумышленников.

В частности, мы подтвердили, что исправление появилось на устройствах Pixel 6 с майским обновлением 2022 года, так как телефон показывает более новую версию ядра Linux. Поскольку сборки были созданы в марте, они включают исправление Dirty Pipe от февраля. Любопытно, что новая версия ядра немного старше той, что была замечена во втором бета-тестировании июньского обновления Pixel Feature Drop.

5.10.66-android12-9-00001-g51e133b6e4eb-ab8103786
#1 Fri Jan 21 06:54:49 UTC 2022

До

5.10.66-android12-9-00007-g66c74c58ab38-ab8262750
#1 Mon Mar 7 01:27:36 UTC 2022

Поскольку Pixel 6 и Galaxy S22 были единственными известными устройствами, затронутыми Dirty Pipe, а любые новые устройства должны выходить с майским обновлением 2022 года или новее, это должно ознаменовать конец существования эксплойта Dirty Pipe на Android.


Как работает «Dirty Pipe»?

Для технически подкованных читателей, особенно тех, кто имеет опыт работы с Linux, Келлерманн опубликовал интересную статью о том, как была случайно обнаружена уязвимость «Dirty Pipe» и о ключевых механизмах ее работы.

Вот (чрезмерно) упрощенное объяснение: как следует из названия «Dirty Pipe» (грязный канал), это связано с концепциями «каналов» (pipes) в Linux, которые используются для передачи данных от одного приложения или процесса к другому, и «страниц» (pages) — небольших блоков вашей оперативной памяти. По сути, приложение может манипулировать каналами Linux таким образом, чтобы вставить свои собственные данные в страницу памяти.

Таким образом, злоумышленник может легко либо изменить содержимое файла, который вы пытаетесь открыть, либо даже получить полный контроль над вашим компьютером.

Как я могу защитить свое устройство?

По состоянию на май 2022 года уязвимость Dirty Pipe была исправлена как на устройствах серии Google Pixel 6, так и на Samsung Galaxy S22 — единственных известных затронутых телефонах. Чтобы убедиться, что ваше устройство в безопасности, просто обновите программное обеспечение вашего телефона. На телефонах Pixel это можно сделать в приложении «Настройки»; в разделе «Система» вы должны найти «Обновление системы». Если вы видите «Обновление безопасности Android» за май 2022 года или более позднее, ваше устройство в безопасности.