Favicon-Trojaner: Ausführbare Steganografie durch Ausnutzung des ICO-Alphakanals
Favicon Trojans: Executable Steganography Via Ico Alpha Channel Exploitation
July 11, 2025
papers.authors: David Noever, Forrest McKee
cs.AI
papers.abstract
Dieses Papier stellt eine neuartige Methode der ausführbaren Steganographie vor, bei der die Alpha-Transparenzschicht von ICO-Bilddateien genutzt wird, um selbstentpackende JavaScript-Payloads in Webbrowsern einzubetten und zu übermitteln. Durch die Zielsetzung auf das Least Significant Bit (LSB) der nicht-transparenten Alpha-Schicht-Bildwerte gelingt es der vorgeschlagenen Methode, komprimierten JavaScript-Code in einem Favicon-Bild zu verbergen, ohne die visuelle Qualität zu beeinträchtigen. Weltweiter Webverkehr lädt täglich 294 Milliarden Favicons und verbraucht dabei 0,9 Petabyte an Netzwerkbandbreite. Eine Proof-of-Concept-Implementierung zeigt, dass ein 64x64 ICO-Bild bis zu 512 Bytes unkomprimiert oder 0,8 Kilobyte bei Verwendung einer leichten zweifachen Kompression einbetten kann. Beim Laden einer Seite holt der Browser das Favicon als Teil des Standardverhaltens ab, wodurch ein eingebettetes Ladeskript die Payload vollständig im Speicher extrahieren und ausführen kann, indem native JavaScript-APIs und Canvas-Pixelzugriff genutzt werden. Dies schafft einen zweistufigen verdeckten Kanal, der keine zusätzlichen Netzwerk- oder Benutzeranfragen erfordert. Tests über mehrere Browser in Desktop- und Mobilumgebungen bestätigen die erfolgreiche und geräuschlose Ausführung des eingebetteten Skripts. Wir bewerten das Bedrohungsmodell, setzen es in Bezug zu polymorphen Phishing-Angriffen, die Favicon-basierte Erkennung umgehen, und analysieren die Umgehung von Content-Security-Policies und Antiviren-Scannern. Wir ordnen neun Beispielziele des MITRE ATT&CK Frameworks einer einzelnen Zeile JavaScript zu, die beliebig in ICO-Dateien ausgeführt werden kann. Bestehende Steganalyse- und Sanitizer-Verteidigungen werden diskutiert, wobei die Grenzen bei der Erkennung oder Neutralisierung von Alpha-Kanal-Exploits hervorgehoben werden. Die Ergebnisse zeigen eine unauffällige und wiederverwendbare Angriffsfläche, die traditionelle Grenzen zwischen statischen Bildern und ausführbarem Inhalt verwischt. Da moderne Browser stille Fehler melden, wenn Entwickler speziell das Laden von ICO-Dateien nicht berücksichtigen, bietet diese Angriffsfläche ein interessantes Beispiel für erforderliche Webverhaltensweisen, die wiederum die Sicherheit gefährden.
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.