Новая уязвимость
Команда Google CVR обнаружила уязвимости в библиотеке изображений Kakadu, которая используется для обработки файлов JPEG 2000. Об этом в середине сентября 2024 г. говориться в опубликованном материале на Google Bug Hunters.
В документе команда Google по исследованию уязвимостей в облаке (CVR) представляет уязвимости в сторонней библиотеке изображений JPEG 2000 под названием Kakadu. Специалисты по информационной безопасности (ИБ) описывают проблемы с которыми могут столкнуться пользователи. ИБ-специалисты назвали данную уязвимость «Условное повреждение», что позволило им создать самоизменяющееся изображение для эксплуатации и добиться эффекта удаленного исполнения кода в ИТ-системе.
Kakadu Software предоставляет полный набор инструментов для пользователей, ищущих непревзойденную производительность во всех сжатиях и манипуляциях с изображениями, включая кодирование видео, управление спутниковыми изображениями, архивирование изображений и медицинскую визуализацию. Он реализует стандарт ISO/IEC 15444 -1 полностью в части 1 и частично в частях 2–3. Kakadu является товарным знаком. В исследовании 2007 г. Kakadu превзошла другие библиотеки JPEG 2000 и была названа ведущим набором для ИТ-разработки.
Технические подробности
В документах приводят фрагменты кода, взятые из декомпилированного кода свободно распространяемых демонстрационных двоичных файлов Kakadu. Представленные фрагменты кода упрощены для наглядности. Для создания фрагментов кода для данного отчета эксперты использовали двоичные файлы демонстрационной версии 8.41.
JPEG 2000 - это стандарт сжатия изображений и система кодирования. Чтобы упростить ситуацию, сам формат файла можно разделить на два понятия, которые необходимо понять: боксы и маркеры сегментов кодового потока. В первой уязвимости хакеры могут подменять фрагменты изображения байтами из локальных файлов. Это позволяет получить доступ к критически важной информации на сервере, включая файлы карт памяти и окружения процессов. Вторая уязвимость связана с записью данных за пределами выделенной области памяти. Ошибки при умножении чисел в коде библиотеки могут привести к тому, что данные будут записаны в области памяти, которые не предназначены для этого.
Это представляет собой серьезную проблему при эксплуатации уязвимостей в распределенной среде, где сложно гарантировать, что повторяющиеся запросы будут обработаны одним и тем же сервером. Это связано с тем, что запросы могут распределяться по нескольким серверам, что делает непредсказуемым, какой сервер получит запрос, и потенциально может привести к неудаче или неполноте эксплойта. Для того чтобы решить эту проблему, команда Google использовала технику с использованием уникальных характеристик библиотеки Kakadu, которая позволила идентифицировать серверы, работающие с данной библиотекой, и обеспечить более точную кибератаку.
ИБ-специалисты создали механизм, позволяющий обойти стандартные методы защиты, такие как Address Space Layout Randomization (ASLR), которые затрудняют предсказание адресов памяти, используемых в процессе выполнения кода. Это стало возможным благодаря чтению содержимого памяти на лету и использованию данных для корректировки последующих действий кибератаки.
Данное исследование подчеркивает серьезную ИТ-угрозу, которую представляют собой незначительные на первый взгляд уязвимости в широко используемых библиотеках, и подчеркивает важность тщательного тестирования и аудита безопасности для выявления и устранения потенциальных слабых мест в широко используемых библиотеках. Пользователям библиотеки Kakadu от ИБ-специалистов настоятельно рекомендуется обновиться до последней версии, чтобы предотвратить возможные ИТ-атаки, использующие обнаруженные уязвимости, и обеспечить безопасность и целостность своих систем и данных.
Вирус замаскирован в фото
Сами изображения обычно не способны содержать исполняемый код или вредоносное программное обеспечения (ПО). Однако практически любой формат изображения (JPEG, PNG, GIF) можно отредактировать, чтобы скрыть вредоносное ПО. Одна из причин, успеха этих кибератак, заключается в том, что файл изображения кажется гораздо более безобидным, чем исполняемый файл .EXE или др. Хотя многие веб-сайты отфильтровывают исполняемые файлы и скрипты, они могут непреднамеренно разрешать пользователям загружать изображения. В этом случае злоумышленники могут поместить вредоносный код в изображение и отправить его на уязвимый веб-сервер, который затем выполняет его содержимое.
Люди делятся изображениями и распространяют их на различных онлайн платформах, включая социальные сети, электронную почту и приложения для обмена сообщениями. Это увеличивает шансы пользователей загрузить или открыть зараженное изображение. Кроме того, файлы изображений обрабатываются различными программными приложениями. Если в ПО для обработки изображений есть уязвимости, хакеры могут использовать их для выполнения вредоносного кода в ИТ-системе жертвы. Внедрение вирусов в изображения позволяет злоумышленникам обойти любые меры безопасности, направленные на другие типы данных. Скрытый вредоносный код в файле изображения дает взломщику возможность усложнять для решений безопасности задачу по выявлению и пресечению угрозы.
Подстанция младшего значащего бита (LSB) распределяет двоичный эквивалент скрытого сообщения между младшими значащими битами каждого пикселя. Эти фрагменты используются потому, что они оказывают меньшее влияние на общий вид изображения. Хакер выбирает файл цифрового изображения в качестве носителя вируса. Затем они будут использовать замену LSB для встраивания вирусной полезной нагрузки в выбранный файл-носитель. Делается это путем замены младших значащих битов значений цвета пикселей в изображении на биты из вирусной полезной нагрузки. Злоумышленникам необходимо знать уязвимости ПО для обработки изображений, чтобы скрыть вирусы в определенных пикселях, которые будут использовать эти уязвимости. Когда пользователь-жертва открывает зараженное изображение, программа просмотра запускает скрытый вирус.
Технологии расширенного спектра добавляют скрытые данные или текст к изображению обложки в развернутом виде, что делает его менее заметным. Получатель может извлечь секретные данные, применив специальный процесс декодирования. Процессы шифрования и дешифрования зависят от ИТ-уязвимостей приложения для обработки изображений, на которое нацелены злоумышленники. При запуске софта в виде изображения вирус использует уязвимости в ПО для выполнения встроенного вредоносного кода.