Троянцы Favicon: Исполняемая стеганография через использование альфа-канала ICO
Favicon Trojans: Executable Steganography Via Ico Alpha Channel Exploitation
July 11, 2025
Авторы: David Noever, Forrest McKee
cs.AI
Аннотация
В данной статье представлен новый метод исполняемой стеганографии, использующий альфа-канал прозрачности файлов ICO для внедрения и доставки самодекомпрессирующихся JavaScript-полезных нагрузок в веб-браузерах. Метод, нацеленный на младший значащий бит (LSB) значений альфа-канала непрозрачных изображений, успешно скрывает сжатый JavaScript-код внутри изображения favicon, не влияя на визуальное качество. Глобальный веб-трафик ежедневно загружает 294 миллиарда favicon, потребляя 0,9 петабайта сетевой пропускной способности. Реализация концепта демонстрирует, что изображение ICO размером 64x64 может содержать до 512 байт несжатых данных или 0,8 килобайта при использовании легкого двухэтапного сжатия. При загрузке страницы браузер автоматически запрашивает favicon, что позволяет встроенному загрузочному скрипту извлечь и выполнить полезную нагрузку полностью в памяти с использованием нативных JavaScript API и доступа к пикселям через canvas. Это создает двухэтапный скрытый канал, не требующий дополнительных сетевых запросов или действий пользователя. Тестирование в различных браузерах на настольных и мобильных платформах подтверждает успешное и незаметное выполнение встроенного скрипта. Мы оцениваем модель угрозы, связываем её с полиморфными фишинговыми атаками, обходящими обнаружение на основе favicon, и анализируем обход политик безопасности контента и антивирусных сканеров. Мы сопоставляем девять примеров целей из MITRE ATT&CK Framework с однострочными JavaScript-командами, которые могут быть произвольно выполнены в файлах ICO. Обсуждаются существующие методы стеганализа и санитизации, подчеркивая ограничения в обнаружении или нейтрализации эксплойтов, использующих альфа-канал. Результаты демонстрируют скрытую и многоразовую поверхность атаки, размывающую традиционные границы между статическими изображениями и исполняемым контентом. Поскольку современные браузеры сообщают о тихих ошибках, когда разработчики специально не загружают файлы ICO, эта поверхность атаки представляет собой интересный пример обязательных веб-поведений, которые, в свою очередь, ставят под угрозу безопасность.
English
This paper presents a novel method of executable steganography using the
alpha transparency layer of ICO image files to embed and deliver
self-decompressing JavaScript payloads within web browsers. By targeting the
least significant bit (LSB) of non-transparent alpha layer image values, the
proposed method successfully conceals compressed JavaScript code inside a
favicon image without affecting visual fidelity. Global web traffic loads 294
billion favicons daily and consume 0.9 petabytes of network bandwidth. A
proof-of-concept implementation demonstrates that a 64x64 ICO image can embed
up to 512 bytes uncompressed, or 0.8 kilobyte when using lightweight two-fold
compression. On page load, a browser fetches the favicon as part of standard
behavior, allowing an embedded loader script to extract and execute the payload
entirely in memory using native JavaScript APIs and canvas pixel access. This
creates a two-stage covert channel requiring no additional network or user
requests. Testing across multiple browsers in both desktop and mobile
environments confirms successful and silent execution of the embedded script.
We evaluate the threat model, relate it to polymorphic phishing attacks that
evade favicon-based detection, and analyze evasion of content security policies
and antivirus scanners. We map nine example MITRE ATT&CK Framework objectives
to single line JavaScript to execute arbitrarily in ICO files. Existing
steganalysis and sanitization defenses are discussed, highlighting limitations
in detecting or neutralizing alpha-channel exploits. The results demonstrate a
stealthy and reusable attack surface that blurs traditional boundaries between
static images and executable content. Because modern browsers report silent
errors when developers specifically fail to load ICO files, this attack surface
offers an interesting example of required web behaviors that in turn compromise
security.