Fähigkeit

Jede Sitzung ist ihre eigene isolierte Browsing-Umgebung

Jede ZeroLeak-Sitzung öffnet die geschützte Anwendung in ihrem eigenen Browser-Kontext — einem brandneuen Profil ohne geteilte Cookies, ohne geteilten Speicher und ohne geteilten Sitzungszustand. Der Benutzer kann nur zu erlaubten Domains gehen, keine neuen Tabs oder Popups öffnen, und die gerenderten Pixel selbst tragen Anti-Automatisierungs-Abwehrmaßnahmen, bevor sie den Bildschirm des Benutzers erreichen.

Wenn zwei Benutzer über ZeroLeak auf dieselbe geschützte Anwendung zugreifen, dürfen sie die Sitzungsdaten des jeweils anderen nicht sehen, keine Cookies teilen oder den Browsing-Zustand des anderen in irgendeiner Weise beeinflussen können. Auch darf kein Benutzer aus der Domain der geschützten Anwendung entkommen können — indem er auf einen bösartigen Link klickt, ein unerwünschtes Popup öffnet oder an einen Ort navigiert, den die Richtlinie nicht erlaubt. Die Browser-Kontext-Isolation ist die Schicht, die all dies erzwingt. Jede Sitzung läuft in ihrem eigenen Browser-Kontext ohne geteilten Zustand; eine strenge Domain-Allowlist fängt Navigationsversuche ab, bevor sie erfolgen; neue Tabs und Popups werden an der Quelle blockiert; und der gerenderte Pixelstream selbst trägt kontinuierliche, Low-Level-Modifikationen, die externe Automatisierungstools daran hindern, die Sitzung auszulesen oder mit ihr zu interagieren.

Pro Sitzung
Isolierter Browser-Kontext — eigene Cookies, eigener Speicher, eigener Zustand, kein Teilen
Allowlist
Domain-Durchsetzung auf der Anfrageschicht, der Linkschicht und der SPA-Polling-Schicht
Kiosk-Modus
Kein neuer Tab, kein Popup, kein Rechtsklickmenü — eine Sitzung, eine erlaubte Oberfläche

Geteilter Browser-Zustand ist ein Leck; unkontrollierte Navigation ist ein Ausbruch

Ein einfacher Remote-Browser teilt einen einzigen Browser-Prozess unter vielen Benutzern. In einer Sitzung gesetzte Cookies erscheinen in der nächsten; localStorage-Daten überschreiten Sitzungsgrenzen; der Authentifizierungsstatus eines Benutzers kann von einem anderen übernommen werden. Selbst wenn die geschützte Anwendung selbst sich gut verhält, wird der geteilte Browser zu einem Seitenkanal, der jede Zugriffskontrolle auf Anwendungsebene umgeht.

Hinzu kommt die Navigation. Ein Benutzer mit reiner Anzeigeberechtigung auf einem einzigen internen Dashboard klickt innerhalb dieses Dashboards auf einen Phishing-Link, öffnet einen neuen Tab für ein persönliches Konto oder folgt einem externen Link, den er nicht beabsichtigt hat. Ohne Durchsetzung auf der Browser-Schicht entkommt die Sitzung aus der geschützten Anwendung — und nun werden die Sitzungs-ID der geschützten Anwendung, die Identität des Benutzers und der aktive Browsing-Zustand für den Ort sichtbar, an den der Browser gegangen ist.

Die Browser-Kontext-Isolation schließt beides. Jede Sitzung läuft in ihrem eigenen Browser-Kontext ohne geteilten Zustand. Der Browser selbst erzwingt eine Allowlist der Domains, die die Sitzung erreichen darf, und blockiert jeden Kanal, den der Benutzer nutzen könnte, um woandershin zu gehen — neue Tabs, Popups, Linkklicks zu nicht erlaubten Domains, programmatische Navigation durch die Seite selbst.

Isolation im Browser, Durchsetzung an der Grenze

Jede Sitzung erhält ihren eigenen Browser-Kontext innerhalb der Rendering-Engine — vollständig getrennt vom Zustand jeder anderen Sitzung. Eine strenge Domain-Allowlist greift auf der Navigationsschicht ein — Anfrageabfang, Single-Page-Application-Navigations-Polling und Linkklick-Abfang sorgen gemeinsam dafür, dass die Sitzung niemals eine nicht erlaubte Domain erreicht. Darunter tragen die gerenderten Pixel selbst kontinuierliche Low-Level-Modifikationen, die Automatisierungstools stören, die versuchen, die Sitzung auszulesen oder mit ihr zu interagieren.

Browser-Kontext pro Sitzung ohne geteilten Zustand

Jede Benutzersitzung wird in ihrem eigenen isolierten Browser-Kontext geöffnet — einem brandneuen Profil mit eigenem Cookie-Jar, eigenem lokalen Speicher und eigenem Sitzungszustand. Zwei Benutzer auf derselben geschützten Anwendung haben völlig unabhängige Browser; nichts aus einer Sitzung ist für die andere sichtbar. Das Sitzungsende zerstört den Kontext vollständig; kein Zustand überlebt.

Strenge Domain-Allowlist, im Moment der Navigation erzwungen

Jeder Navigationsversuch wird abgefangen, bevor er ausgeführt wird. Die Anfrageschicht blockiert nicht erlaubte Domains auf Netzwerkebene; Linkklicks innerhalb der Seite werden auf der Rendering-Schicht abgefangen; Single-Page-Application-Navigationen (pushState, replaceState) werden per Polling erfasst. Die Sitzung kann keine Domain außerhalb der Allowlist erreichen, ob der Benutzer es absichtlich versucht oder die Seite es von sich aus versucht.

Neuer Tab, Popup und Rechtsklickmenü werden blockiert

Der Browser im Kiosk-Stil erlaubt dem Benutzer nicht, neue Tabs zu öffnen, Popups zu erzeugen oder das Rechtsklick-Kontextmenü zu verwenden. Jeder Kanal, den der Benutzer nutzen könnte, um aus der geschützten Anwendung zu entkommen, ist in der Browser-Konfiguration geschlossen. Der Benutzer arbeitet innerhalb der für ihn geöffneten Sitzung — nicht mehr.

Auf die gerenderten Pixel angewendete Anti-Automatisierungs-Abwehrmaßnahmen

Unter dem sichtbaren Inhalt trägt der gerenderte Pixelstream kontinuierliche Low-Level-Modifikationen — zufälliges Rauschen, feine Farbverschiebungen, Mikro-Elementverschiebung, Subpixel-Vibration. Diese beeinträchtigen nicht, was der Benutzer sieht, stören aber Automatisierungstools (Selenium, Puppeteer-Skripte, Screen Scraper), die versuchen, die Sitzung außerhalb des offiziellen Eingabekanals auszulesen oder mit ihr zu interagieren.

Was die Isolationsschicht erzwingt

Jedes der folgenden Verhalten wird pro geschütztem Service konfiguriert und nicht im Code der geschützten Anwendung, sondern auf der Browser-Schicht erzwungen. Die geschützte Anwendung muss von ihrer Existenz nichts wissen — die Grenze ist aus der Laufzeit der Anwendung unsichtbar.

Vollständig isolierter Browser-Kontext pro Sitzung

Jede Sitzung läuft in ihrem eigenen Browser-Kontext — einer Konstruktion auf Chromium-Ebene, die der Sitzung ihren eigenen Cookie-Jar, ihren eigenen lokalen Speicher, ihre eigene Service-Worker-Registrierung, ihre eigenen Berechtigungen und ihren eigenen Sitzungszustand gibt. Zwei Sitzungen auf derselben geschützten Anwendung teilen auf Browser-Ebene nichts.

Anfrageabfang auf Netzwerkebene

Jede Navigationsanfrage — Hauptdokument, Unterdokument, Fetch, XHR — durchläuft einen Abfänger, der die Ziel-Domain gegen die Allowlist der Sitzung prüft. Nicht erlaubte Domains werden blockiert, bevor eine Verbindung aufgebaut wird. Es gibt keine Race Condition zwischen dem Klick des Benutzers und der Prüfung der Navigation.

Single-Page-Application-Navigations-Polling

Moderne Single-Page-Applications navigieren, indem sie pushState oder replaceState aufrufen, ohne eine Netzwerkanfrage zu stellen. Ein einfacher Anfrageabfänger kann diese nicht erfassen. ZeroLeak pollt außerdem die aktuelle URL innerhalb der Seite in kurzen Intervallen, sodass SPA-Navigationen zu nicht erlaubten Pfaden innerhalb von Sekunden erfasst und rückgängig gemacht werden.

Linkklick-Abfang innerhalb der gerenderten Seite

Linkelemente mit nicht erlaubtem Ziel, window.open()-Aufrufe, programmatische Standortänderungen — alle werden innerhalb der gerenderten Seite abgefangen, bevor sie ausgeführt werden. Ein Benutzer, der auf einen Link klickt, dem er nicht folgen darf, wird im Moment des Klicks blockiert, nicht erst nachdem die Netzwerkanfrage bereits begonnen hat.

Tab- und Popup-Blockierung

Der Browser ist so konfiguriert, dass jeder Versuch, ein neues Browsing-Ziel zu erzeugen — durch den Benutzer, die Seite oder ein Skript — sofort abgefangen und verworfen wird. Die Sitzung hat immer genau einen sichtbaren Tab, und das ist der Tab der geschützten Anwendung.

Leerlauf-Timeout und ordnungsgemäßes Herunterfahren

Jede Sitzung überwacht die Benutzerinteraktion. Wenn der Benutzer länger als das konfigurierte Timeout im Leerlauf ist, wird die Sitzung ordnungsgemäß beendet, der Browser-Kontext zerstört und (wenn konfiguriert) ein Webhook informiert den Koordinator, sodass die Zielrichtlinie aktualisiert werden kann. Keine speicherzehrenden verlassenen isolierten Browser.

Rendering-Schicht-Abwehrmaßnahmen unter dem sichtbaren Inhalt

Über die Isolation pro Sitzung und die Navigationsgrenze hinaus trägt der gerenderte Pixelstream selbst kontinuierliche Low-Level-Modifikationen. Ihr Zweck ist es, Automatisierungstools zu stören — Skripte, die andernfalls den Sitzungsbildschirm auslesen, Elemente identifizieren und über inoffizielle Kanäle interagieren würden — ohne zu beeinflussen, wie die Seite für den menschlichen Benutzer aussieht oder sich verhält.

01

Zufälliges Pixelrauschen geringer Intensität

Ein Canvas-Overlay zeichnet kontinuierlich zufälliges Rauschen geringer Intensität über die gerenderte Seite. Das menschliche Auge nimmt höchstens eine leichte Textur wahr; OCR- und Template-Matching-Skripte, die versuchen, den Bildschirm auszulesen, verlieren die konsistenten Pixelgrenzen, auf die sie sich verlassen. Rauschintensität und Aktualisierungsrate sind pro geschütztem Service konfigurierbar.

02

Feine Farbtonverschiebungen

Ein halbtransparentes Overlay legt einen sich langsam ändernden zufälligen Farbton über die gerenderte Seite. Weiße und schwarze Bereiche erscheinen dem Auge weiterhin effektiv weiß und schwarz, aber die tatsächlichen Pixelwerte verschieben sich. Bildbasierte Automatisierungstools, die gegen Farbsignaturen abgleichen, verlieren ihre Referenzen.

03

Kontinuierliche Mikro-Unschärfe

Als Bildschirmfilter wird eine sehr leichte kontinuierliche Unschärfe angewendet. Jeder Frame unterscheidet sich in seinen hochfrequenten Details geringfügig, was es OCR- und Mustervergleichern erschwert, stabile Merkmalpunkte zu finden. Der Benutzer nimmt die Unschärfe auf normaler Leseentfernung nicht wahr.

04

Mikro-Elementverschiebung über CDP-Injektion

Seitenelemente werden gegenüber ihren normalen Positionen um 1-3 Pixel zufällig verschoben. Die Verschiebung liegt unter der menschlichen Wahrnehmung, stört aber Skripte, die Elemente über absolute Bildschirmkoordinaten finden. Automatisierungstools können sich von einem Frame zum nächsten nicht auf eine stabile Elementposition verlassen.

05

Subpixel-Vibration (Anti-Selenium)

In kurzen Intervallen wird die gesamte gerenderte Oberfläche um einige Pixel verschoben — klein genug, um das Lesen nicht zu stören, groß genug, um Automatisierungstools zu schlagen, die für die Eingabesimulation auf konsistente absolute Pixelkoordinaten angewiesen sind. Replay-Angriffe im Selenium-Stil verlieren ihre festen Punkte.

Wo Isolation pro Sitzung wichtig ist

Betriebstechnologie- und SCADA-Konsolen

Oberflächen für kritische Infrastruktur, bei denen ein Zustandsleck zwischen Sitzungen oder eine unerwünschte Navigation physische Systeme beeinflussen könnte. Die Isolation pro Sitzung garantiert, dass zwei Operatoren an derselben Konsole die Sitzung des jeweils anderen nicht sehen können; die strenge Allowlist sorgt dafür, dass keiner von ihnen von der Betriebskonsole zu einem externen Link wechselt.

Interne Unternehmensanwendungen mit reinen Anzeigerollen

Interne Dashboards, Prüfoberflächen und Reporting-Tools, auf die viele Benutzer zugreifen — einschließlich Auftragnehmer und externe Prüfer. Jede Sitzung ist ihr eigener Browser, die Zugriffsrichtlinie wird auf der Navigationsschicht erzwungen, und die Abwehrmaßnahmen auf Rendering-Ebene widerstehen der Automatisierung von jedem, der versucht, den Bildschirm auszulesen.

Dokument- und Datenraumzugriff

Der Kontext pro Sitzung bedeutet, dass ein Auftragnehmer, der einen Datenraum betrachtet, weder die Cookies, den Suchverlauf noch die Sitzungs-IDs eines anderen Auftragnehmers in einem anderen Datenraum sehen kann. Die Allowlist sorgt dafür, dass die Datenraumsitzung niemals ins weitere Internet geht.

Forschungs- und Studienportale

Studienportale, in denen mehrere Forscher unter strengen Offenlegungsgrenzen auf Patientendaten zugreifen. Die Isolation pro Sitzung erzwingt die Grenze auf der Browser-Schicht; die Allowlist erzwingt sie auf der Navigationsschicht; die Rendering-Abwehrmaßnahmen widerstehen der Automatisierung von jedem, der versucht, über den Datenbildschirmkanal auszulesen.

Häufig gestellte Fragen

Ist das dasselbe wie der Inkognito-Modus von Chrome?
Konzeptionell ähnlich, aber auf einer anderen Schicht erzwungen. Der Inkognito-Modus ist eine Profileinstellung, die der Benutzer verlassen kann; die Browser-Kontext-Isolation ist ein von ZeroLeak verwalteter Container pro Sitzung — es gibt kein Wahlrecht über die Isolation der Sitzung und keine UI-Steuerung, um sie zu deaktivieren. Der Benutzer kann nicht versehentlich oder absichtlich in ein normales Profil entkommen.
Was passiert, wenn der Benutzer auf einen Link zu einer nicht erlaubten Domain klickt?
Der Klick wird abgefangen, bevor die Navigation ausgeführt wird. Die Sitzung bleibt auf der aktuellen Seite und zeigt (optional) eine Benachrichtigung an, dass das Ziel nicht erlaubt ist. Das Ereignis wird in die Sitzungsaufzeichnung geschrieben, sodass der Operator sehen kann, was versucht wurde. Keine teilweise Navigation, keine Drittanbieteranfrage, kein Leck der Sitzungs-ID an das nicht erlaubte Ziel.
Wie werden Single-Page-Application-Navigationen behandelt?
Moderne SPAs ändern die URL über pushState oder replaceState, ohne eine Netzwerkanfrage zu stellen — ein einfacher Anfrageabfänger würde sie verpassen. ZeroLeak führt innerhalb der Seite in kurzen Intervallen eine Polling-Prüfung durch; wenn sich die URL zu einem nicht erlaubten Pfad ändert, wird die Sitzung sofort in einen sicheren Zustand zurückgeführt. Das Polling-Intervall ist kurz genug, um sicherzustellen, dass jede nicht erlaubte SPA-Navigation höchstens Sekunden dauert.
Verringern die Rendering-Schicht-Abwehrmaßnahmen die Seitenleistung?
Das Pixelrausch-Overlay verwendet ein verkleinertes Canvas (in der Regel Viertelauflösung), um CPU- und Speicherverbrauch niedrig zu halten, und wird mit angemessenen Raten aktualisiert. Das Farbverschiebungs-Overlay und die Mikro-Unschärfe sind Filter auf CSS-Ebene. Die kumulierte Wirkung ist klein genug, um auf gewöhnlicher Hardware Hunderte gleichzeitige Sitzungen auszuführen.
Kann die geschützte Anwendung erkennen, dass sie innerhalb dieser Isolation läuft?
Sie muss es nicht und ist in diesem Rahmen nicht dafür konzipiert. Die geschützte Anwendung sieht eine standardmäßige Headless-Browser-Umgebung. Die Isolation, die Allowlist, die Kiosk-Beschränkungen und die Rendering-Abwehrmaßnahmen arbeiten außerhalb der Laufzeit der Anwendung — die Anwendung wird nicht gebeten, mit ihnen zusammenzuarbeiten, und kann sie nicht deaktivieren.
Was passiert am Ende der Sitzung?
Der Browser-Kontext wird vollständig zerstört. Cookies, lokaler Speicher, Service Worker, zwischengespeicherte Seiten, speicherinterner Zustand — alles ist weg. Es gibt nichts, was die nächste auf demselben geschützten Service geöffnete Sitzung übernehmen könnte. Wenn konfiguriert, wird mit der Sitzungs-ID und dem Grund des Endes ein Koordinator-Webhook ausgelöst, sodass die Zielrichtlinie oder Audit-Systeme aktualisiert werden können.

Sehen Sie die Isolation pro Sitzung in einer Live-Demo

Wir führen zwei Sitzungen auf derselben geschützten Anwendung nebeneinander aus, zeigen, dass nichts zwischen ihnen leckt, versuchen, die Allowlist zu verlassen, und versuchen, die Sitzung mit einem externen Automatisierungstool zu steuern — und zeigen, was passiert.