Команда экспертов Google по уязвимостям нулевого дня нашла критическую брешь в ядре macOS, которая позволяет незаметно подменять файлы на компьютере жертвы и запускать сторонний код. Эксплойт построен на функции копирования при записи (copy-on-write, CoW), которая и дала ему название BuggyCOW.

Как пояснили эксперты, угроза связана с механизмом macOS, помогающим системе экономить ресурсы при работе с приложениями. Благодаря ему программам не обязательно загружать всю необходимую информацию в оперативную память, а можно оставлять часть ее на жестком диске. Доступ к ней при этом могут получать сразу несколько приложений.

Если какой-либо программе нужно изменить совместные данные, специальная утилита ограничит доступ к новой версии для других процессов. Это защищает от возникновения ошибок и вредоносных манипуляций с кодом, когда приложение с невысоким уровнем привилегий влияет на более важные программы.

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

Эта брешь имеет много общего с уязвимостью Dirty COW, которую в 2016 году обнаружили в ОС Linux. Как и BuggyCOW, она построена вокруг ошибки копирования при записи, которая позволяла локальному пользователю получить максимальные права доступа. Проблема распространилась с Linux на Android, а затем стала угрожать и веб-ресурсам.

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

Специалист по безопасности macOS-устройств Томас Рид (Thomas Reed) в комментарии изданию WIRED подчеркнул, что эксплойт можно использовать не только для изменения данных, но и для внедрения вредоносного кода.

«Если какая-либо программа оставила в дисковом хранилище что-то вроде исполняемых библиотек, именно они станут главной целью злоумышленников, — пояснил эксперт. — Зловред сможет добавить туда код, который затем запустится с более высокими привилегиями».

Разработчики Apple пока не выпустили патч для BuggyCOW, хотя получили информацию о ней больше трех месяцев назад. Согласно политике Google Project Zero, по истечении 90-дневного периода уязвимость публикуется вне зависимости от того, появилась к ней заплатка или нет. Тем не менее, разработчики macOS работают со специалистами Google Project Zero над патчем, который войдет в одно из следующих обновлений системы.

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

Ранее участники ИБ-сообщества обсуждали проблему оглашенных уязвимостей в связи с обнаруженной в феврале брешью CMS Drupal. Вскоре после обнародования PoC-кода эксперты зафиксировали скачок онлайн-сканирования в поиске уязвимых веб-серверов. На создание эксплойта преступникам понадобилось всего три дня.

В прошлом году аналитики наблюдали такую же ситуацию после обнародования уязвимости Drupalgeddon 2. Злоумышленники активно использовали данную брешь на протяжении нескольких месяцев, в то время как администраторы незащищенных ресурсов не обратили внимания на предупреждения ИБ-экспертов.

Категории: Главное, Уязвимости