Всем привет! Это Светлана Газизова, директор по построению процессов DevSecOps и безопасности ИИ, Positive Technologies, и Николай Анисеня, руководитель разработки первого российского сервиса по защите мобильных приложений от реверс-инжиниринга PT MAZE, Positive Technologies. Почему мы вообще решили написать целую статью про одну недавно обнаруженную уязвимость?

CVE (Common Vulnerabilities and Exposures)

База данных уязвимостей в программном или аппаратном обеспечении, каждой из такой уязвимости присвоен уникальный идентификатор. Обычно саму уязвимость так и называют — CVE. В идентификаторе конкретной CVE-шки содержится год резервирования в базе и уникальный номер.

Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости CVE-2025-43300 и показать на ее примере, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.

Рисунок 1
Рисунок 1

Угроза CVE-2025-43300 и как она эксплуатировалась

В августе этого года Apple выпустила обновление iOS, iPadOS и macOS, закрывающее критически опасную уязвимость в ImageIO — системном фреймворке для обработки изображений. Который, кстати, используется по умолчанию большей частью приложений в iOS-устройствах.

Что это за баг:

  • Тип ошибки: out-of-bounds write — запись за пределами выделенной памяти.

  • Что дает злоумышленнику: возможность вызвать повреждение памяти и выполнить произвольный код.

  • Как эксплуатируется: достаточно отправить на устройство картинку особого формата. При ее обработке система ломается, и атакующий получает контроль.

Почему это серьезно:

  • ImageIO используют десятки приложений: Safari, Почта, Фото, iMessage, сторонние мессенджеры.

  • Один баг = миллионы уязвимых устройств. А еще сотни и тысячи не сильно связанных с вами гаджетов — в вашей корпоративной сети. Например, если вы открываете уязвимый файл на корпоративном Mac, есть прямо-таки ненулевая вероятность, что вы можете стать точкой входа для злоумышленника.

  • Apple подтвердила, что эксплойт применялся в реальных атаках против конкретных людей. Позже CISA включила CVE-2025-43300 в каталог KEV (Known Exploited Vulnerabilities). Это значит, что атака не гипотетическая, она реально происходила «в полях». И говорят, что это было тяжело и очень таргетированно!

Надежный фундамент — крепкая конструкция. Прямо как в строительстве ☺

Ошибка в ImageIO показывает, насколько опасны баги в фундаментальных компонентах.

  • Радиус поражения огромный: эксплуатируется один системный модуль — под угрозой десятки приложений.

  • Уязвимость невидима для пользователя: для атаки достаточно получить картинку, часто даже без клика (zero-click уязвимость, как, например, CVE-2023-41064).

  • Один небольшой баг может затронуть миллионы устройств по всему миру.

ImageIO очень любят хакеры, не зря ведь они из года в год находят в нем подобные баги. Да-да, этот августовский баг — это далеко не первый случай с ним.

Чисто теоретически, как это можно было бы предотвратить

Многие типичные ошибки можно отловить заранее, если выстроить процессы безопасности. Сомневаюсь, что Тим Кук захотел бы послушать про принципы безопасной разработки, но (мы с вами свидетели!) даже в таком роскошном процессе, как у  Apple, все-таки бывают сбои.  Давайте посмотрим, что можно было бы предпринять во избежание…

Идеальнее всего для задач обнаружения нестандартных уязвимостей подходят решения для фаззинга. Тут мы бы обратились к практике создания полноценной фаззинг-фермы. Для сложных кроссплатформенных систем фаззинг – отличное решения полноценного анализа безопасности.

Фаззинг-ферма — это масштабная инфраструктура, где сотни или даже тысячи машин (физических и виртуальных) гоняют тесты круглосуточно, автоматически собирая и анализируя результаты. Цель фермы — массовость и покрытие: проверить не сотни, а миллиарды вариантов входных данных, причем параллельно. Конечно, фаззеры должны уметь генерить мутированные файлы (это называется мутационный фаззинг, и он правда очень крутой).

В целом инструменты статического и динамического анализа (особенно когда они друг друга «знают» и могут обогащать информацией сработки каждого) способны успешно находить ошибки работы с памятью еще на этапе сборки.

Шилдинг — защита от реверс-инжиниринга

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

Реверс-инжиниринг, кстати, является обязательным этапом любой атаки на мобильное приложение, будь то поиск уязвимостей в клиентской или серверной части или создание клонов, модификаций и так далее. И хотя наш мир устроен так, что нельзя запретить людям реверсить, хороший шилдинг может сильно (буквально на порядки) повысить сложность этого этапа для атакующего. Задача шилдинга — сделать из приложения непроходимый лабиринт для хакера. В отличие от разработчиков приложений, Apple может вовсю использовать виртуализацию для запутывания кода системных компонентов (им никто не запретит). Но и для приложений доступен целый ряд способов защиты: обфускация, шифрование кода, строк, ресурсов, упаковка приложения, различные техники самозащиты приложения RASP (runtime application self-protection), точечное применение виртуализации и много чего еще.

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

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

Багбаунти и работа с исследователями

Чем активнее вовлечено сообщество, тем раньше всплывают уязвимости. И да, большие выплаты стимулируют сдать эту уязвимость вам, а не продать на черном рынке.

Для бизнеса это не просто вопрос IT. Это репутационные и финансовые риски. Давайте честно скажем: упомянутый выше кейс Apple кажется абсолютно нереальным для вашей компании, верно? Но представьте, какое количество более реалистичных угроз у вас может встретиться? Если даже Apple с неограниченным (ну почти ☺) бюджетом на безопасность регулярно кидает экстренные патчи и сообщает пользователям об эксплуатируемых уязвимостях.

Сейчас встречается все меньше случаев, когда основным препятствием к внедрению безопасной разработки в компании становится дороговизна исправления обнаруженных уязвимостей. Тот же триаж, который отнимал огромное количество ресурсов у команд AppSec и разработчиков, с помощью мультиклассовых решений достоверно сокращает false positives. Мы так объединяли анализ SCA и SAST под капотом PT Application Inspector, чтобы проверять достижимость уязвимого функционала в библиотеке и снизить число сработок, требующих внимания. То есть, если вы не используете уязвимый функционал, вам достаточно просто про него знать. Выпиливать библиотеку — сильно на ваше усмотрение :)

Да и, кстати, мои любимые плагины для IDE — тоже тема. Если мы будем учить разработчиков ими пользоваться – они смогут быстро и самостоятельно устранять несовершенства прямо из инструмента разработчика. Это в массе прививает им культуру написания чистого кода, что позитивно сказывается на общей безопасности разработки в компании.

Так стоит ли мне бояться картинок в телефоне?

Вопрос, который задает себе любой человек после прочтения всего вышеизложенного: «А значит ли это, что любая картинка в Telegram или WhatsApp* может меня заразить?»

Ответ сложнее, чем кажется:
? Фото в Telegram «как фото» — пересжимается и перекодируется на серверах, вредоносный код, как правило, ломается.

? Файл в Telegram «как документ» — доставляется без изменений, именно так может пройти эксплойт.

? WhatsApp* и iMessage в ряде случаев работают с оригиналами, поэтому риск выше.

Когда мы начали изучать тему глубже, оказалось, что различие между «сжатым фото» и «оригинальным файлом» — это ключевой фактор риска.

*WhatsApp — продукт компании Meta, которая, в соответствии с законодательством Российской Федерации, признана экстремистской организацией и запрещена в России.

Как узнать, взломала ли меня картинка?

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

Но не стоит думать, что за всё отвечают лишь производители мобильных ОС. Аналогичные уязвимости встречаются и в обычных приложениях. Да, «радиус поражения» в этом случае существенно ниже, но намного ли, если атаковано популярное приложение, которое установлено почти у каждого?

Для пользователей выводы простые:

? Всегда обновляйтесь до последней версии iOS/Android.

? Сами приложения на смартфонах тоже обновляйте до последних версий.

? Не открывайте подозрительные файлы, особенно если они пришли «как документ».

? Относитесь к обновлениям как к обязательной мере безопасности.

Опасности zero-day и новые вызовы

CVE-2025-43300 — классический zero-day: уязвимость была неизвестна широкой публике, но активно эксплуатировалась хакерами до выхода патча.

Чтобы лучше понимать такие угрозы, полезно изучать базу уязвимостей MITRE ATT&CK и портал dbugs, где аккумулируются данные об уязвимостях в программном обеспечении и оборудовании производителей со всего мира и приводятся рекомендации вендоров по их устранению. Там систематизированы типы ошибок: выход за границы массива, SQL-инъекции, переполнения буфера и др. CVE-2025-43300 укладывается в CWE-787 (Out-of-bounds Write).

Важно отметить, что уязвимости приходят не только из классического кода. С развитием AI-технологий появляются новые типы багов:

? модели, которые можно обмануть специальными входными данными;

? утечки конфиденциальной информации через промпты;

? ошибки в обработке медиа или голосовых данных.

Урок тот же: SDL нужно применять не только к обычному софту, но и к ИИ.

Заключение

Уязвимость в картинке — это уже не метафора, а факт. CVE-2025-43300 доказала, что даже простая фотография может стать точкой входа для хакера.

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

Светлана Газизова

Директор по построению процессов DevSecOps и безопасности ИИ, Positive Technologies

Николай Анисеня

Руководитель отдела перспективных технологий, Positive Technologies

Комментарии (0)