Favicon Trojans: Uitvoerbare Steganografie via Ico Alpha Kanaal Exploitatie
Favicon Trojans: Executable Steganography Via Ico Alpha Channel Exploitation
July 11, 2025
Auteurs: David Noever, Forrest McKee
cs.AI
Samenvatting
Dit artikel presenteert een nieuwe methode van uitvoerbare steganografie door gebruik te maken van de alfa-transparantielaag van ICO-afbeeldingsbestanden om zelfuitpakkende JavaScript-payloads in te bedden en af te leveren binnen webbrowsers. Door zich te richten op de minst significante bit (LSB) van niet-transparante alfa-laagbeeldwaarden, slaagt de voorgestelde methode erin gecomprimeerde JavaScript-code te verbergen in een favicon-afbeelding zonder de visuele kwaliteit aan te tasten. Wereldwijd laden webbrowsers dagelijks 294 miljard favicons en verbruiken ze 0,9 petabyte aan netwerkbandbreedte. Een proof-of-concept implementatie toont aan dat een 64x64 ICO-afbeelding tot 512 bytes ongecomprimeerd, of 0,8 kilobyte bij gebruik van lichte tweevoudige compressie, kan bevatten. Bij het laden van een pagina haalt een browser het favicon op als onderdeel van het standaardgedrag, waardoor een ingebed laadscript de payload volledig in het geheugen kan extraheren en uitvoeren met behulp van native JavaScript-API's en canvas-pixeltoegang. Dit creëert een tweefasen covert channel dat geen extra netwerk- of gebruikersverzoeken vereist. Testen in meerdere browsers, zowel op desktop- als mobiele omgevingen, bevestigen de succesvolle en geruisloze uitvoering van het ingebedde script. We evalueren het dreigingsmodel, relateren het aan polymorfe phishingaanvallen die favicon-gebaseerde detectie omzeilen, en analyseren het ontwijken van content security policies en antivirusscanners. We koppelen negen voorbeelddoelen van het MITRE ATT&CK Framework aan één regel JavaScript die willekeurig kan worden uitgevoerd in ICO-bestanden. Bestaande steganalyse- en saneringsverdedigingen worden besproken, waarbij beperkingen in het detecteren of neutraliseren van alfa-kanaalexploits worden belicht. De resultaten tonen een stille en herbruikbare aanvalsoppervlakte die traditionele grenzen tussen statische afbeeldingen en uitvoerbare content vervaagt. Omdat moderne browsers stille fouten rapporteren wanneer ontwikkelaars specifiek falen om ICO-bestanden te laden, biedt dit aanvalsoppervlak een interessant voorbeeld van vereist webgedrag dat op zijn beurt de beveiliging in gevaar brengt.
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.