Sobald ein Bildschirm einmal abfotografiert oder per Screenshot aufgenommen und nach außen geteilt wurde, sind die Daten draußen. Die einzige verbleibende sinnvolle Frage lautet: Wer hat das erzeugt? Ohne diese Antwort wird der Vorfall zu einem unlösbaren Rätsel — und das Ausbleiben eines Ergebnisses wird selbst zum Anreiz für das nächste Leck.
Die herkömmliche Antwort — sichtbare Wasserzeichen, in denen der Name des Benutzers auf dem Bildschirm erscheint — wirkt als Abschreckung. Aber das Bild auf den Teil ohne Wasserzeichen zuzuschneiden oder es so zu fotografieren, entfernt es. Der Benutzer weiß das; der Abschreckungswert erodiert mit der Zeit.
Moderne Quellenermittlung erfordert zwei Schichten. Eine sichtbare Markierung, die dem Benutzer das Gefühl gibt, identifizierbar zu sein, plus eine unsichtbare Spur, die in die eigentlichen Pixeldaten eingebettet ist, sodass sie offensichtliche Angriffe auf das Sichtbare überlebt. ZeroLeak fügt beides hinzu: Die sichtbare Markierung schreckt einfache Lecks ab, die unsichtbare Spur fängt die sorgfältigen.
Beide Wasserzeichenschichten werden an derselben Stelle angewendet: im noVNC-Viewer, den der Browser des Benutzers empfängt. Keine Schicht lebt im DOM der geschützten Webanwendung, weshalb keine Website in sie eingreifen und keine Front-End-Richtlinie sie entfernen kann. Die sichtbare Schicht wird pro geschütztem Service konfiguriert; die unsichtbare Spurkennung wird pro Sitzung erzeugt.
Benutzername, Sitzungs-ID oder ein eigener Text wird mittels mix-blend-mode über der gerenderten Seite platziert — sodass er sowohl auf hellen als auch auf dunklen Inhalten sichtbar bleibt. Der Benutzer weiß, dass er auf jedem Bildschirm, den er sieht, persönlich identifizierbar ist — eine kontinuierliche und starke Abschreckung gegen leichtes Screenshot-Aufnehmen.
In die eigentlichen Pixeldaten jedes Frames, den der Benutzer sieht, wird ein sitzungsspezifisches Muster geschrieben. Dieses Muster ist so konzipiert, dass es Zuschneiden, Skalieren, erneute JPEG-Kompression und erneutes Abfotografieren übersteht. Wenn später ein Screenshot auftaucht, identifiziert die eingebettete Kennung die Sitzung, die ihn erzeugt hat — selbst wenn das sichtbare Wasserzeichen durch Zuschneiden entfernt wurde.
Das sichtbare Wasserzeichen unterstützt bis zu drei unabhängige Schichten; jede mit eigenem Text, eigener Position, Rotation, Schriftart, Deckkraft und Kachelgröße. Wenn ein diagonaler Benutzername, eine zentrierte Sitzungs-ID und ein Zeitstempel in der Ecke gemeinsam verwendet werden, wird es viel schwieriger, die sichtbare Markierung herauszuschneiden, ohne nutzbare Bildschirmfläche zu verlieren.
Das sichtbare Wasserzeichen durch Zuschneiden entfernen, das Bild für eine Messaging-App verkleinern, den Monitor mit dem Telefon fotografieren — die unsichtbare Spurkennung übersteht all dies, weil sie kein Overlay, sondern ein Teil der Pixeldaten selbst ist. Das Dekodieren der Spurkennung aus dem wiedergewonnenen Bild identifiziert die Sitzung.
Jedes der folgenden Elemente kann pro geschütztem Service unabhängig konfiguriert werden. Für Inhalte geringer Sensibilität, bei denen Abschreckung ausreicht, nur die sichtbare Schicht; für Inhalte hoher Sensibilität, bei denen Quellenermittlung möglich sein muss, beide Schichten gemeinsam.
Der Text des sichtbaren Wasserzeichens wird aus der bei Sitzungsbeginn authentifizierten Benutzeridentität, der Sitzungs-ID, dem Zeitstempel oder einer per Richtlinie ausgewählten Kombination erzeugt. Das Wasserzeichen auf dem Bildschirm spiegelt nicht ein generisches Logo, sondern die bestimmte betrachtende Person wider.
Das Wasserzeichen verwendet mix-blend-mode, der sich gegenüber der Hintergrundfarbe selbst invertiert. Ein Wasserzeichen, das auf einer normalen schwarzen oder weißen Seite unsichtbar wäre, bleibt überall lesbar — das Auge sieht eine konsistente Markierung, egal was die Seite darunter anzeigt.
Gemeinsam können bis zu drei sichtbare Schichten konfiguriert werden. Jede Schicht hat eigenen Text, eigene Farbe, Deckkraft, Schriftart, Rotation, Kachelgröße und Position. Schichten können diagonal wiederholt, zentriert oder in der Ecke fixiert sein — das Zuschneiden des Screenshots, um eine Schicht zu entfernen, lässt die anderen weiterhin bestehen.
In die gerenderten Frames, die der Benutzer sieht, wird ein sitzungsspezifisches Spurmuster eingebettet. Der Einbettungsvorgang ist so konzipiert, dass er gängigen Bildschirmleck-Angriffen widersteht — Zuschneiden, Verkleinern für Messaging-Apps, erneute JPEG-Kompression und erneutes Abfotografieren des Monitors mit der Telefonkamera; alle hinterlassen genug Muster, um die Sitzungs-ID wiederzugewinnen.
Wenn ein geleckes Bild gefunden wird, lässt der Operator es durch den Decoder laufen. Der Decoder liest das eingebettete Spurmuster und gibt die Sitzungs-ID zurück, die es erzeugt hat. Der Operator sucht die Sitzung in der Audit-Aufzeichnung und findet die Benutzeridentität, den Zeitstempel und den betreffenden geschützten Service.
Beide Wasserzeichenschichten werden im noVNC-Viewer angewendet, den der Browser des Benutzers empfängt — nicht im DOM der geschützten Anwendung. Die geschützte Anwendung weiß nichts vom Wasserzeichen und kann nicht in es eingreifen. Front-End-Frameworks, Trusted-HTML-Richtlinien, Browser-Erweiterungen in der geschützten Anwendung — keine davon kann auf die Markierung zugreifen.
Verschiedene Leckkanäle verzerren das geleckte Bild auf unterschiedliche Weise. Die unsichtbare Spurkennung wurde gegen realistische Angriffe konzipiert; sie ist ehrlich darüber, was sie wiedergewinnen kann und was nicht.
Ein Angreifer schneidet den Screenshot bis zum gewünschten Datenbereich zu und entfernt den gesamten sichtbaren Wasserzeichentext. Die unsichtbare Spurkennung ist über den gesamten Frame verteilt und übersteht das Zuschneiden — die Wiedergewinnung eines angemessen großen Bereichs des Original-Frames genügt, um die Kennung zu dekodieren.
Die meisten Messaging-Apps verkleinern geteilte Bilder und komprimieren sie erneut als JPEG. Das Spurmuster ist mit Redundanz so konzipiert, dass es gängigen Verkleinerungsraten und JPEG-Kompressionsartefakten standhält.
Ein Angreifer, der keine Dateisystemspur hinterlassen möchte, richtet sein Telefon auf den Bildschirm und macht ein Foto. Das Spurmuster ist so konzipiert, dass es der optischen Erfassung standhält — Fotos von Telefonkameras bewahren genug räumliche Frequenzinformation, damit der Decoder die Sitzungs-ID weiterhin finden kann.
Ein Angreifer, der nur einen sehr kleinen Teil des Bildschirms leckt — einen einzelnen Satz, eine einzelne Zahl — verringert die Menge des vorhandenen Spurmusters. Der Decoder meldet für kleine Bereiche niedriges Vertrauen; am Extrem wird die Spur nicht mehr dekodierbar. Eine ehrliche Grenze — nicht jedes Leck ist ermittelbar.
Ein Angreifer, der das geleckte Bild durch eine starke Gaußsche Unschärfe oder einen generativen KI-Bildfilter laufen lässt oder den sichtbaren Inhalt von Hand neu zeichnet, kann zusammen mit einem großen Teil der Originalinformation auch das Spurmuster zerstören. An diesem Punkt ist das geleckte Bild keine getreue Kopie des Bildschirms mehr — nicht nur die Quellenermittlung geht verloren.
Vor-Börsengang-Dokumente, M&A-Materialien, Anlagepositionen — hochwertige Informationen, die vor der öffentlichen Bekanntgabe von vielen Personen gelesen werden. Wenn ein Leck in der Presse erscheint, ist die Ermittlung, aus welcher Sitzung es stammt, der Unterschied zwischen einem unlösbaren Vorfall und einer handlungsfähigen Untersuchung.
Gesundheitspersonal liest Patientendaten rechtmäßig auf dem Bildschirm. Wenn eine geleckte Patientenakte nach außen gelangt, schreckt das sichtbare Wasserzeichen einfache Lecks ab, die unsichtbare Spurkennung identifiziert die Sitzung, falls ein Leck passiert — unterstützt die HIPAA-Rechenschaftspflicht für Rollen mit reiner Anzeigeberechtigung.
Analysten-Desks, an denen mehrere Personen denselben klassifizierten Inhalt sehen. Benutzerbasierte Markierungen konkretisieren die individuelle Rechenschaftspflicht; die unsichtbare Spurkennung macht Untersuchungen möglich, wenn ein Leck in Open-Source-Intelligence auftaucht.
Externe Parteien, denen reine Anzeigeberechtigung in Ihrer Umgebung gewährt wird. Die benutzerbasierte sichtbare Markierung auf jedem Bildschirm, den sie betrachten, erinnert sie daran, dass sie identifizierbar sind; die unsichtbare Markierung macht die Lage nachweisbar, wenn ein Leck in deren eigenen Subnetzen auftaucht.
Sehen Sie das forensische Wasserzeichen von ZeroLeak in einer Live-Demo. Wir öffnen eine Sitzung, nehmen den Screenshot auf, schneiden ihn zu, verkleinern ihn, fotografieren ihn vom Monitor ab — und dekodieren jedes Mal die Spurkennung zurück zur Sitzung.