Security Week 50: zero-click уязвимость в iPhone, атака на постаматы
Главная новость прошлой недели посвящена уже закрытой уязвимости в мобильных устройствах Apple, обеспечивающей полный взлом устройства с кражей данных, удаленно и без вмешательства пользователя. Набор последствий от эксплуатации дыры в софте можно было бы считать максимально серьезным, если бы не один нюанс: атакующему нужно находиться в пределах радиодоступности от телефона жертвы. Атака эксплуатирует систему Apple Wireless Direct Link (AWDL), используемую в том числе для функциональности AirDrop — передачи данных между мобильными устройствами напрямую.
Уязвимость нашел исследователь из команды Google Project Zero Иэн Бир (Ian Beer). Он опубликовал 1 декабря обширную статью, в которой рассказал в деталях как про саму уязвимость, так и про историю ее обнаружения. Простое описание уязвимости мало отличает ее от других: с устройством жертвы устанавливается соединение через AWDL, отправляется серия подготовленных пакетов, вызывающих переполнение буфера и выполнение произвольного кода. Многостраничный блогпост показывает, что на самом деле все гораздо сложнее. Исследователь много раз мог отступиться и ограничиться демонстрацией DoS-атаки, падения устройства на базе iOS или macOS. Но все же довел дело до конца: на видео атаки он за две минуты взламывает собственный iPhone и еще за три крадет с него персональные данные.
Идея «копать» именно в направлении беспроводной связи появилась у Бира в 2018 году, после того как компания Apple случайно выложила бета-версию iOS, не убрав из модуля kernelcache (содержащего собственно ядро системы и некоторые другие модули) названия функций. Эта ошибка несколько упростила жизнь исследователям, так как появилось больше осмысленной текстовой информации о принципах работы ядра. Там Бир нашел упоминания AWDL в функции обработки входящих данных. Первым результатом был багрепорт о падении ОС после отправки неправильных пакетов через беспроводную связь — этот баг починили в релизе macOS 10.15.3 и iOS 13.1.1. То есть еще в январе 2020 года проблема была закрыта.
Но Бир еще полгода инвестировал скорее в собственные знания и науку поиска уязвимостей, а также защиты от них. Он довел свой первоначальный эксплойт до совершенства, реализовав атаку с кражей данных и без вмешательства пользователя. В отличие от многих других атак, предполагающих присутствие неподалеку от жертвы, здесь взломщику и жертве даже не требуется находиться в одной Wi-Fi-сети. Технология Apple предполагает создание mesh-сети между устройствами, причем она работает параллельно с основным подключением к точке доступа. Исследователю понадобилось разобрать протокол связи, чтобы выяснить хотя бы, как отправлять пакеты так, чтобы они отвечали его требованиям. Дальше потребовалось активировать нужный режим связи, подобрать набор отправляемых данных так, чтобы он вызывал сбой, реализовать выполнение произвольного кода. На видео выше показан весь процесс атаки, в которой используется компьютер Raspberry Pi с Wi-Fi-модулем.
В этом исследовании примечательно то, что Бир нашел проблему в одиночку. Да, это заняло много времени. Да, скорее всего, уязвимость никто не эксплуатировал. Учитывая относительно быстрый темп установки обновлений на iPhone/iPad, злоумышленники и теперь вряд ли успеют воспользоваться багом. Но есть вероятность, что и другие могли докопаться до этой уязвимости и эксплуатировать ее далеко не в самых мирных целях. В статье приводятся ссылки на твиты, доказывающие, что как минимум еще один специалист по инфобезопасности знал о проблеме, обнаруженной в ходе исследования, и заметил, что в недавнем релизе iOS ее закрыли.
Что еще произошло
Атака на сеть постаматов PickPoint 4 декабря (новость, сообщение компании, обсуждение на Хабре) стала редким (к счастью) наглядным примером взлома физической инфраструктуры. Подробный технический отчет о методах подобных атак и способах защиты от них полезен для сообщества специалистов по информационной безопасности. Впрочем, не факт, что мы дождемся такого раскрытия данных — компании это делать не обязаны, и только в IT-сфере раскрытие информации считается «хорошим тоном».
Закрытая шестого апреля уязвимость в библиотеке Google Play Core Library (она встраивается в Android-приложения для взаимодействия с интернет-магазином Google) по-прежнему не закрыта во множестве Android-приложений, включая мобильную версию браузера Microsoft Edge. Сканирование магазина Google показало, что 13% приложений используют эту библиотеку. Из них 8% так и не обновили ее после выпуска патча.
Очередные заплатки для уязвимостей в Google Chrome. Закрыто три серьезных дыры в браузере, одна из них — в движке V8 (CVE-2020–16040). Примечательно, что эта уязвимость может быть использована для эскалации привилегий под Linux.