Специалисты компании Google рассказали о неизвестной хакерской группе, которая в 2020 году использовала как минимум 11 уязвимостей нулевого дня, нацеленных на пользователей Android, iOS и Windows.
Атаки группировки имели место в феврале и октябре 2020 года. В обоих случаях хакеры использовали технику атак watering hole («водопой»). Такие атаки названы по аналогии с тактикой хищников, которые охотятся у водопоя, поджидая добычу — животных, пришедших напиться. Этим термином обозначают атаки, в ходе которых злоумышленники внедряют на легитимные сайты вредоносный код, где он и поджидает жертв.
Во всех случаях watering hole сайты перенаправляли посетителей в сложную инфраструктуру злоумышленников, которая использовала различные эксплойты, в зависимости от устройств и браузеров жертв. И если в феврале два сервера хакеров атаковали только устройства под управлением Windows и Android, то в последующих атаках уже были задействованы уязвимости в iOS. Как это работало, показано на схеме ниже.
Эксплоит-серверы хакеров использовали цепочки уязвимостей, которые позволяли проникнуть на устройство жертвы, осуществить побег из песочницы браузера, а затем повысить привилегии и закрепиться в системе. При этом злоумышленники не всегда полагались исключительно на 0-day уязвимости, сочетая такие баги с более старыми и известными проблемами, для которых уже существуют патчи.
В рамках февральской кампании хакеры задействовали следующие 0-day:
- CVE-2020-6418— уязвимость в Chrome TurboFan (исправлено в феврале 2020 г.);
- CVE-2020-0938— уязвимость шрифтов в Windows (исправлено в апреле 2020 г.);
- CVE-2020-1020— уязвимость шрифтов в Windows (исправлено в апреле 2020 г.);
- CVE-2020-1027— уязвимость Windows CSRSS (исправлено в апреле 2020 г.).
В рамках октябрьской кампании уязвимостей нулевого дня стало больше:
- CVE-2020-15999— переполнение буфера кучи Chrome Freetype (исправлено в октябре 2020 г.)
- CVE-2020-17087— переполнение буфера хипа в cng.sys (исправлено в ноябре 2020 г.)
- CVE-2020-16009 — баг типа type confusion в TurboFan (исправлено в ноябре 2020 г.)
- CVE-2020-16010— переполнение буфера хипа в Chrome для Android (исправлено в ноябре 2020 г.)
- CVE-2020-27930— чтение/запись произвольного стека Safari с использованием шрифтов Type 1 (исправлено в ноябре 2020 г.)
- CVE-2020-27950— раскрытие данных памяти ядра iOS XNU (исправлено в ноябре 2020 г.)
- CVE-2020-27932- ошибка типа type confusion в ядре iOS (исправлено в ноябре 2020 г.)
Таким образом, исследователям удалось обнаружить: полную цепочку уязвимостей, нацеленную на полностью пропатченную Windows 10 и Google Chrome; две частичные цепочки уязвимостей, нацеленные на два полностью пропатченных Android-устройства под управлением Android 10 с использованием Google Chrome и браузера Samsung; RCE-эксплоиты для iOS 11-13 и эксплоиты повышения привилегий для iOS 13.
«Использованные уязвимости охватывают широкий спектр проблем — от современной JIT-уязвимости до ошибок шрифтов и кеша. В целом каждый из эксплоитов демонстрировал экспертное понимание принципов разработки эксплоитов и эксплуатации уязвимостей. В случае с уязвимостью в Chrome Freetype метод эксплуатации был новым для специалистов Project Zero. Выяснение того, как спровоцировать появление уязвимости повышения привилегий в ядра iOS, тоже было нетривиальным. Методы обфускации были разнообразными, и на их изучение тоже потребовалось много времени», — рассказывает специалистка Project Zero Мэнди Стоун.
Пока аналитики Google не сообщают никаких подробностей о хак-группе, ответственной за эти атаки. То есть это могла быть работа как «правительственных» хакеров какой-то страны, так и дело рук некой частной компании.