Yetenek

Her oturum kendi izole tarama ortamıdır

Her ZeroLeak oturumu korunan uygulamayı kendi tarayıcı bağlamında açar — paylaşılan çerez, depolama veya oturum durumu olmayan yepyeni bir profil. Kullanıcı yalnızca izin verilen domain'lere gidebilir, yeni sekme veya pop-up açamaz, ve render edilen piksellerin kendisi kullanıcının ekranına ulaşmadan önce otomasyon karşıtı savunmalar taşır.

İki kullanıcı aynı korunan uygulamaya ZeroLeak üzerinden eriştiğinde, birbirlerinin oturum verisini göremez, çerez paylaşmaz veya birbirlerinin tarama durumunu hiçbir şekilde etkileyemez olmalıdır. Hiçbir kullanıcı da korunan uygulamanın domain'inden kaçamamalıdır — kötü amaçlı bir bağlantıya tıklayarak, istenmeyen bir pop-up açarak veya politika izin vermediği bir yere giderek. Tarayıcı bağlamı izolasyonu tüm bunları zorlayan katmandır. Her oturum paylaşılan durumu olmayan kendi tarayıcı bağlamında çalışır; sıkı bir domain allowlist gezinme girişimlerini gerçekleşmeden önce yakalar; yeni sekmeler ve pop-up'lar kaynakta engellenir; ve render edilen piksel akışının kendisi, dışarıdaki otomasyon araçlarının oturumu okumaya veya etkileşime girmeye çalışmasını engelleyen sürekli, alt düzey modifikasyonlar taşır.

Oturum başına
İzole tarayıcı bağlamı — kendi çerezler, kendi depolama, kendi durum, paylaşım yok
Allowlist
İstek katmanında, bağlantı katmanında ve SPA polling katmanında domain zorlaması
Kiosk modu
Yeni sekme yok, pop-up yok, sağ tık menüsü yok — bir oturum, bir izin verilen yüzey

Paylaşılan tarayıcı durumu sızıntıdır; denetimsiz gezinme kaçıştır

Saf bir uzak tarayıcı birçok kullanıcı arasında tek bir tarayıcı süreci paylaşır. Bir oturumda kurulan çerezler bir sonrakinde görünür; localStorage verisi oturum sınırlarını aşar; bir kullanıcının kimlik doğrulama durumu başkası tarafından devralınabilir. Korunan uygulamanın kendisi iyi davranıyor olsa bile, paylaşılan tarayıcı her uygulama düzeyi erişim kontrolünü atlatan bir yan kanal haline gelir.

Bir de gezinme var. Tek bir iç gösterge tablosuna sadece görüntüleme yetkisi olan bir kullanıcı, o gösterge tablosunun içinde bir oltalama bağlantısına tıklıyor, kişisel bir hesap için yeni bir sekme açıyor veya niyet etmediği bir dış bağlantıyı takip ediyor. Tarayıcı katmanında zorlama olmadan oturum korunan uygulamadan kaçar — ve şimdi korunan uygulamanın oturum kimliği, kullanıcının kimliği ve aktif tarama durumu, tarayıcının gittiği yere görünür hale gelir.

Tarayıcı bağlamı izolasyonu her ikisini de kapatır. Her oturum paylaşılan durumu olmayan kendi tarayıcı bağlamında çalışır. Tarayıcının kendisi oturumun ulaşabileceği domain'lerin bir allowlist'ini zorlar ve kullanıcının başka yere gitmek için kullanabileceği her kanalı engeller — yeni sekmeler, pop-up'lar, izin verilmeyen domain'lere bağlantı tıklamaları, sayfanın kendisi tarafından programatik gezinme.

Tarayıcıda izolasyon, sınırda zorlama

Her oturum render motorunun içinde kendi tarayıcı bağlamını alır — diğer her oturumun durumundan tamamen ayrı. Sıkı bir domain allowlist gezinme katmanında durur — istek kesme, tek-sayfa-uygulama gezinme polling'i ve bağlantı-tık kesme birlikte oturumun izin verilmediği bir domain'e hiç ulaşmadığından emin olur. Altta, render edilen piksellerin kendisi, oturumu okumaya veya etkileşime girmeye çalışan otomasyon araçlarını bozan sürekli alt düzey modifikasyonlar taşır.

Paylaşılan durumu olmayan oturum başına tarayıcı bağlamı

Her kullanıcı oturumu kendi izole tarayıcı bağlamında açılır — kendi çerez kavanozu, kendi yerel depolaması, kendi oturum durumu olan yepyeni bir profil. Aynı korunan uygulamada iki kullanıcının tamamen bağımsız tarayıcıları vardır; bir oturumdan hiçbir şey diğerine görünmez. Oturum bitişi bağlamı tamamen yok eder; hiçbir durum sağ kalmaz.

Gezinme anında zorlanan sıkı domain allowlist

Her gezinme girişimi yürütülmeden önce yakalanır. İstek katmanı izin verilmeyen domain'leri ağ düzeyinde engeller; sayfa içindeki bağlantı tıklamaları render katmanında yakalanır; tek-sayfa-uygulama gezinmeleri (pushState, replaceState) polling ile yakalanır. Oturum, kullanıcı kasten denese de sayfa kendi başına denese de allowlist dışındaki bir domain'e ulaşamaz.

Yeni sekme, pop-up ve sağ tık menüsü engellenir

Kiosk tarzı tarayıcı kullanıcının yeni sekme açmasına, pop-up oluşturmasına veya sağ tık bağlam menüsünü kullanmasına izin vermez. Kullanıcının korunan uygulamadan kaçmak için kullanabileceği her kanal tarayıcı yapılandırmasında kapanır. Kullanıcı kendisi için açılmış oturumun içinde çalışır — daha fazlası değil.

Render edilen piksellere uygulanan otomasyon karşıtı savunmalar

Görünür içeriğin altında, render edilen piksel akışı sürekli alt düzey modifikasyonlar taşır — rastgele gürültü, ince renk kaymaları, mikro öğe yer değiştirmesi, piksel altı titreşim. Bunlar kullanıcının gördüğünü etkilemez, ama resmi giriş kanalı dışından oturumu okumaya veya etkileşime girmeye çalışan otomasyon araçlarını (Selenium, Puppeteer script'leri, ekran kazıyıcılar) bozar.

İzolasyon katmanının zorladıkları

Aşağıdaki her davranış korunan servis bazında yapılandırılır ve korunan uygulamanın kodunda değil, tarayıcı katmanında zorlanır. Korunan uygulamanın bunların varlığından haberdar olması gerekmez — sınır uygulamanın çalışma zamanından görünmez.

Oturum başına tamamen izole tarayıcı bağlamı

Her oturum kendi tarayıcı bağlamında çalışır — oturuma kendi çerez kavanozunu, kendi yerel depolamasını, kendi service worker kaydını, kendi izinlerini, kendi oturum durumunu veren Chromium düzeyinde bir yapı. Aynı korunan uygulamadaki iki oturum tarayıcı düzeyinde hiçbir şey paylaşmaz.

Ağ düzeyinde istek kesme

Her gezinme isteği — ana belge, alt belge, fetch, XHR — hedef domain'i oturumun allowlist'ine karşı kontrol eden bir kesiciden geçer. İzin verilmeyen domain'ler bağlantı kurulmadan önce engellenir. Kullanıcının tıklaması ile gezinmenin kontrol edilmesi arasında yarış durumu yoktur.

Tek-sayfa-uygulama gezinme polling'i

Modern tek-sayfa-uygulamalar bir ağ isteği yapmadan pushState veya replaceState çağırarak gezinir. Basit bir istek kesici bunları yakalayamaz. ZeroLeak ayrıca sayfanın içinde kısa bir aralıkla mevcut URL'yi polling yapar, böylece izin verilmeyen yollara SPA gezinmeleri saniyeler içinde yakalanıp geri alınır.

Render edilen sayfa içinde bağlantı-tık kesme

İzin verilmeyen hedefli bağlantı öğeleri, window.open() çağrıları, programatik konum değişiklikleri — hepsi yürütülmeden önce render edilen sayfa içinde yakalanır. Takip edemeyeceği bir bağlantıya tıklayan kullanıcı, ağ isteği zaten başladıktan sonra değil tık anında engellenir.

Sekme ve pop-up engelleme

Tarayıcı, yeni bir tarama hedefi oluşturma girişiminin — kullanıcı, sayfa veya bir script tarafından — anında yakalanıp atılacak şekilde yapılandırılmıştır. Oturum her zaman tam olarak bir görünür sekmeye sahiptir, o da korunan uygulamanın sekmesidir.

Idle timeout ve graceful shutdown

Her oturum kullanıcı etkileşimini izler. Kullanıcı yapılandırılan timeout'tan daha uzun süre boştaysa, oturum nazikçe sonlandırılır, tarayıcı bağlamı yok edilir ve (yapılandırıldığında) bir webhook koordinatörü bilgilendirir, böylece hedef politika güncellenebilir. Bellek tüketen terk edilmiş izole tarayıcılar yok.

Görünür içeriğin altında render katmanı savunmaları

Oturum başına izolasyon ve gezinme sınırının ötesinde, render edilen piksel akışının kendisi sürekli alt düzey modifikasyonlar taşır. Amaçları otomasyon araçlarını bozmaktır — aksi takdirde oturum ekranını okuyup öğeleri tanımlayıp resmi olmayan kanallar üzerinden etkileşime girecek olan script'leri — sayfanın insan kullanıcıya nasıl göründüğünü veya davrandığını etkilemeden.

01

Rastgele düşük şiddetli piksel gürültüsü

Bir canvas overlay render edilen sayfa boyunca sürekli olarak düşük şiddetli rastgele gürültü çizer. İnsan gözü en fazla hafif bir doku algılar; ekranı okumaya çalışan OCR ve template-matching script'leri güvendikleri tutarlı piksel sınırlarını kaybeder. Gürültü şiddeti ve yenileme oranı korunan servis bazında yapılandırılabilir.

02

İnce renk tint kaymaları

Yarı saydam bir overlay, render edilen sayfa boyunca yavaşça değişen rastgele bir renk tint'i uygular. Beyaz ve siyah alanlar göze hala etkili olarak beyaz ve siyah görünür ama gerçek piksel değerleri kayar. Renk imzalarına karşı eşleşme yapan görü tabanlı otomasyon araçları referanslarını kaybeder.

03

Sürekli mikro blur

Ekran filtresi olarak çok hafif bir sürekli blur uygulanır. Her kare yüksek frekanslı detayında hafifçe farklıdır, bu da OCR ve desen eşleyicilerin sabit özellik noktaları bulmasını zorlaştırır. Kullanıcı normal okuma mesafesinde blur'u algılamaz.

04

CDP enjeksiyonu ile öğe mikro kayması

Sayfa öğeleri normal konumlarına göre 1-3 piksel rastgele yerinden oynatılır. Kayma insan algısının altındadır ama mutlak ekran koordinatlarıyla öğe bulan script'leri bozar. Otomasyon araçları bir kareden diğerine sabit bir öğe konumuna güvenemez.

05

Piksel altı titreşim (anti-Selenium)

Kısa bir aralıkla, render edilen tüm yüzey birkaç piksel kaydırılır — okumayı bozmayacak kadar küçük, girdi simülasyonu için tutarlı mutlak piksel koordinatlarına bağımlı otomasyon araçlarını yenmeye yetecek kadar büyük. Selenium tarzı replay saldırıları sabit noktalarını kaybeder.

Oturum başına izolasyonun önemli olduğu yerler

Operasyonel teknoloji ve SCADA konsolları

Oturumlar arası durum sızıntısı veya istenmeyen gezinmenin fiziksel sistemleri etkileyebileceği kritik altyapı arayüzleri. Oturum başına izolasyon aynı konsoldaki iki operatörün birbirlerinin oturumunu göremeyeceğini garanti eder; sıkı allowlist ise hiçbirinin operasyonel konsoldan bir dış bağlantıya geçmeyeceğini sağlar.

Sadece görüntüleme rolleri olan iç kurumsal uygulamalar

Birçok kullanıcı tarafından erişilen iç gösterge tabloları, denetim arayüzleri, raporlama araçları — yükleniciler ve dış denetçiler dahil. Her oturum kendi tarayıcısıdır, erişim politikası gezinme katmanında zorlanır, ve render katmanı savunmaları ekranı kazımaya çalışan herkesin otomasyonuna direnir.

Belge ve veri odası erişimi

Oturum başına bağlam, bir veri odasını görüntüleyen bir yüklenicinin farklı bir veri odasındaki farklı bir yüklenicinin çerezlerini, arama geçmişini veya oturum kimliklerini göremeyeceği anlamına gelir. Allowlist veri odası oturumunun asla daha geniş internete gitmemesini sağlar.

Araştırma ve klinik çalışma portalları

Birden çok araştırmacının sıkı açıklama sınırları altında hasta verisine eriştiği çalışma portalları. Oturum başına izolasyon sınırı tarayıcı katmanında zorlar; allowlist gezinme katmanında zorlar; render savunmaları veri ekran kanalı üzerinden kazımaya çalışan herkesin otomasyonuna direnir.

Sık sorulan sorular

Bu Chrome incognito modu ile aynı şey mi?
Kavramsal olarak benzer ama farklı bir katmanda zorlanır. Incognito modu kullanıcının terk edebileceği bir profil ayarıdır; tarayıcı bağlamı izolasyonu ZeroLeak tarafından yönetilen oturum başına bir kapsayıcıdır — oturumun izolasyonu hakkında seçim hakkı yoktur ve onu devre dışı bırakacak UI kontrolü yoktur. Kullanıcı yanlışlıkla veya kasten normal bir profile kaçamaz.
Kullanıcı izin verilmeyen bir domain'e bağlantı tıkladığında ne olur?
Tık, gezinme yürütülmeden önce yakalanır. Oturum mevcut sayfada kalır ve (opsiyonel olarak) hedefin izinli olmadığına dair bir bildirim gösterir. Olay oturum kaydına yazılır, böylece operatör neyin denendiğini görebilir. Kısmi gezinme yok, üçüncü taraf isteği yok, izin verilmeyen hedefe oturum kimliğinin sızması yok.
Tek-sayfa uygulama gezinmeleri nasıl ele alınır?
Modern SPA'lar URL'yi pushState veya replaceState ile değiştirir, ağ isteği yapmaz — basit bir istek kesici bunları kaçırırdı. ZeroLeak sayfanın içinde kısa bir aralıkla polling kontrolü çalıştırır; URL izin verilmeyen bir yola değişirse, oturum hemen güvenli bir duruma geri götürülür. Polling aralığı, izin verilmeyen herhangi bir SPA gezinmesinin en fazla saniyeler sürmesini sağlayacak kadar kısadır.
Render katmanı savunmaları sayfa performansını düşürür mü?
Piksel gürültü overlay'i CPU ve bellek kullanımını düşük tutmak için boyutu küçültülmüş bir canvas (genellikle çeyrek çözünürlük) kullanır ve makul oranlarda yenilenir. Renk kayması overlay'i ve mikro blur CSS düzeyi filtrelerdir. Birikmiş etki, sıradan donanımda yüzlerce eşzamanlı oturum çalıştıracak kadar küçüktür.
Korunan uygulama bu izolasyonun içinde çalıştığını tespit edebilir mi?
Bunu yapması gerekmez ve bu çerçevede tasarlanmamıştır. Korunan uygulama standart bir headless tarayıcı ortamı görür. İzolasyon, allowlist, kiosk kısıtlamaları ve render savunmaları uygulamanın çalışma zamanı dışında çalışır — uygulamadan onlarla işbirliği yapması istenmez ve onları devre dışı bırakamaz.
Oturum sonunda ne olur?
Tarayıcı bağlamı tamamen yok edilir. Çerezler, yerel depolama, service worker'lar, önbelleğe alınmış sayfalar, bellek içi durum — hepsi gider. Aynı korunan servis üzerinde açılan bir sonraki oturumun devralacağı hiçbir şey yoktur. Yapılandırıldıysa, oturum kimliği ve bitiş nedeniyle bir koordinatör webhook'u tetiklenir, böylece hedef politika veya denetim sistemleri güncellenebilir.

Oturum başına izolasyonu canlı demoda görün

Aynı korunan uygulamada iki oturumu yan yana çalıştıracağız, aralarında hiçbir şey sızmadığını göstereceğiz, allowlist dışına gitmeye çalışacağız ve oturumu dış bir otomasyon aracıyla sürmeyi deneyeceğiz — ne olduğunu göstereceğiz.