Her iyi yönetilen kurum bilinen veri çıkış yollarını zaten kontrol ediyor. Kopyala-yapıştır izleniyor, dosya indirme kayıt altında, e-postalar taranıyor, baskı kısıtlanıyor. Bu kontroller kazara veri açığa çıkmasının büyük çoğunluğunu durduruyor.
Geriye, hiçbirinin göremediği tek bir yol kalıyor: ekran görüntüsü. Sadece görüntüleme yetkisi olan bir kullanıcı ekranın fotoğrafını çekiyor — elindeki telefonla, işletim sisteminin ekran görüntüsü kısayoluyla, ya da ayrı bir cihazla yapılan ekran kaydıyla. Görüntü kurumdan piksel olarak çıkıyor. Piksel ne bir kopyala-yapıştır olayı, ne bir dosya indirme, ne bir e-posta — mevcut araçların hiçbiri onu bir veri çıkışı olarak algılamıyor.
Bu görüntüyle yapılabilecekler son birkaç yılda dramatik biçimde değişti. Klasik OCR motorları (Tesseract, AWS Textract gibi) bir görüntüden üretim kalitesinde metin çıkarabiliyor. Modern AI görme modelleri — GPT-4V, Claude Vision, Gemini gibi — daha da ileri gidiyor: görüntüye bütüncül bakıp tablo yapısını, sözleşme bölümlerini, form alanlarını çıkarsıyor, bazen iyi eğitimli bir insandan bile fazlasını okuyor.
Bu sorun için sıkça önerilen savunmalar — görünür filigran, kopyalanamaz DOM, ekran kaydı tespiti, mobil cihaz yönetiminden pano kontrolü — artık geçerliliğini koruyamayan varsayımlara dayanıyor. Görünür bir filigran etrafındaki metnin okunmasını engellemez. Kopyalanamaz DOM cep telefonundaki kamerayı durdurmaz. Ekran kaydı tespiti ayrı bir cihazla yapılan kaydı görmez.
Bu yolu gerçekten kapatan tek yer ekranda gösterilen pikselin kendisidir — kullanıcının ekranında görünen şeyi öyle bir düzenlersiniz ki, çekilen görüntüden anlamlı metin çıkarılamaz hale gelir.
ZeroLeak korunan web uygulamasını sunucudaki bir tarayıcıda çalıştırır ve oluşturulan kareler kullanıcıya ulaşmadan önce piksel düzeyinde müdahalelerden geçirir. Kullanıcının tarayıcısı bir piksel akışı alır — HTML, DOM veya JavaScript değil — yani içerik çıkarmanın tek yolu ekrandakini fotoğraflamaktır. O görüntü ise tasarım gereği OCR ve AI görme modelleri için okunamaz haldedir.
Korunan web uygulamasını ZeroLeak kendi sunucusunda, başlıksız (headless) bir tarayıcının içinde açar. Kullanıcının tarayıcısı sayfanın HTML'ini, JavaScript'ini veya DOM'unu hiç almaz — sadece o sayfanın görüntülenmiş halinin piksel akışını alır. Bir video izliyormuş gibi düşünebilirsiniz: tıklama ve klavye girdileri arkaya, sunucudaki tarayıcıya geri gönderilir; ondan dönen yeni görüntü kullanıcıya akar.
Sunucuda oluşturulan her sayfa kullanıcıya gönderilmeden önce sekiz bağımsız piksel müdahalesinden geçer. Kullanıcının gözünün fark etmeyeceği kadar küçük gürültü, karakter kenarlarına yerleştirilen ince çizgiler, renk kanallarının ayrıştırılması ve benzeri teknikler birlikte uygulanır. Her teknik OCR motorlarının farklı bir aşamasını hedef alır; üst üste konulduklarında bir motorun aştığı katmanı diğeri durdurur.
GPT-4V, Claude Vision, Gemini gibi modeller bir görüntüye bütüncül bakar — sadece harf harf okumaz, sayfanın düzenini, başlıkları, tabloları çıkarmaya çalışır. Bu yüzden tek başına harf düzeyinde piksel müdahalesi yetmez. ZeroLeak görüntüyü kullanıcının fark edemeyeceği hızda dönen küçük karelere böler ve her kareyi bağımsız bir desenle pikselleştirir. İnsan görsel sistemi dönen kareleri kaynaştırıp sabit ve okunabilir bir görüntü oluşturur; AI görme modeli tek bir kareden bile sabit bir metin veya düzen yakalayamaz.
Anti-OCR koruması ZeroLeak'in diğer ekran katmanı korumalarıyla aynı yapılandırma içinde çalışır. Sayfa, kırpılsa veya yeniden ölçeklense bile iz bırakacak gizli bir kullanıcı kimliği taşıyabilir (forensic filigran); ve görünen metnin DOM'daki karşılığı kopyalandığında anlamsız çıktı verebilir (metin şifreleme). Her katman korunan servis bazında bağımsız açılıp kapatılır — kullanım senaryosuna göre kombinasyon seçilir.
Aşağıdaki sekiz teknik, sunucuda oluşturulan her sayfaya kullanıcıya gönderilmeden önce uygulanır. Her biri OCR motorlarının ve AI görme modellerinin farklı bir zayıf noktasını hedefler. Üst üste konulduklarında, bir saldırganın çekeceği görüntüden metin çıkarmak için aşması gereken yüzey toplamı, tek tekniklerin etkisinden çok daha büyüktür.
Her piksel çok küçük bir aralıkta rastgele parlaklık değişimine uğrar. İnsan bunu okumayı etkilemeyen hafif bir doku olarak algılar; ancak OCR motorlarının metin kenarlarını ve harf şekillerini ayırt etmek için baktığı temiz, tutarlı piksel sınırları artık orada değildir.
Klasik ve modern OCR motorları görüntü içindeki harf kenarlarını ve çizgi kalınlıklarını belirli bir uzamsal frekans bandında arar. Bu band hedeflenerek ince bir frekans bozması uygulanır. Görüntünün genel yapısı insan okuyucu için net görünür, OCR'nin kenar tespit modülü ise güvenilir bir kenar bulamaz.
Metin işleme, renk kanalları arasında küçük farklarla farklı şekilde uygulanır; aynı karakter kırmızı, yeşil ve mavi kanallarda farklı oluşturulur. İnsan gözü üç kanalı kaynaştırıp tek okunabilir karakter görür. Çoğu OCR motoru görüntüyü önce gri tonlamaya çevirir — bu süreçte ihtiyaç duyduğu kanallar arası harf bilgisini kaybeder.
Bir harfin nerede bittiği ve diğerinin nerede başladığı, OCR'nin doğru çalışması için kritik bir aşamadır. Sayfanın görüntüsüne bu harf-arası sınırlara denk gelen, çok ince ve kullanıcıya arka plan dokusu gibi görünen çizgiler eklenir. İnsan göz çizgileri arka plan zannedip atlar; OCR ise iki harfi tek harf ya da bir harfi iki harf olarak ayırır ve metni yanlış parçalar.
Her harf, insanın algılayamayacağı kadar küçük — piksel ölçeğinin altında — bir miktar kaydırılır. Okuma deneyimi değişmez. OCR motorlarının harfleri tanımlamak için kullandığı temel çizgi konumu ve gövde hizalaması bozulduğu için tanıma doğruluğu düşer.
Her harfin kendi alanı içinde sınırlı bir piksel yer değiştirmesi uygulanır. Okuma mesafesinde harf göze aynı görünür. Ancak OCR motorlarının bir harfin 'A' mı 'R' mi olduğunu belirlerken kullandığı piksel düzeyi istatistikler bozulur.
Metin olmayan bölgelere, insan gözünün neredeyse hiç fark etmediği özel desenler yerleştirilir. Bu desenler OCR'nin önce metin bölgelerini bulup sonra okuma yaptığı aşamayı yanıltır — metin ile arka plan arasındaki kontrast OCR'nin algısında düşer, motor metnin nerede başladığını belirleyemez.
Temsili bir OCR veya AI görme modeli alınıp, o modelin kendi iç çalışma yapısı (gradient) üzerinden hesaplanan piksel değişiklikleri uygulanır. Sonuç, aynı aileden başka modellere de etki eder. Üstteki yedi tekniğin üzerine eklendiğinde, toplam etki tek tekniklerin toplamından daha fazladır.
AI görme modelleri (GPT-4V, Claude Vision, Gemini ve benzerleri) bir görüntüye OCR'den farklı bir şekilde bakar. Harf harf okumak yerine sayfaya bütüncül bakıp düzeni, tabloyu, formu yeniden kurmaya çalışırlar. Yukarıdaki sekiz teknik klasik OCR'yi güvenilir şekilde durdurur, ama bu bütüncül okuyucuları tamamen etkisiz hale getirmez. Döner kare bölütleme bu okuyucular için tasarlanmış katmandır.
Sunucuda oluşturulan her görüntü görünmez bir ızgaraya (genellikle 3×3) bölünür. Her kare bağımsız bir pikselleştirme deseni ve bağımsız bir desen evresiyle uygulanır. İki komşu kare arasında ortak bir yapı yoktur.
Pikselleştirme deseni, kareler arasında insan görsel sisteminin algılayabileceğinden hızlı, ama gözün hala kararlı bir görüntü oluşturabileceği bir hızda döner. Kullanıcı sayfayı normal okur. Tek bir kareye veya kısa bir kare dizisine bakan AI görme modeli ise sabit bir metin veya düzen yapısı yakalayamaz.
Kareler birbirleriyle desen veya evre paylaşmaz. Bir AI modeli bir karenin pikselleştirme desenini çözse bile, bu bilgiyi komşu karelere uygulayamaz. Görüntünün tamamını çözmek için her kareyi ayrı ayrı çözmek gerekir; bu, kare sayısıyla doğru orantılı bir iş yükü demektir.
Döner kare bölütleme tek başına çalışan bir savunma değil — yukarıdaki sekiz tekniklik piksel katmanının üzerine eklenir. Bir AI modeli üst katmanı kısmen aşsa bile, altında hala harf düzeyini hedefleyen sekiz tekniklik bir katman vardır. Saldırganın aynı görüntüde iki farklı koruma türünü yenmesi gerekir.
Izgara yoğunluğu, dönüş hızı, desen şiddeti ve ızgara geometrisi her korunan web servisi için ayrı belirlenir. Yüksek hassasiyetli içerik için (hukuk dosyaları, mali tablolar) koruma sıkılaştırılır; günlük içerikler için temel ayarlar yeterlidir.
Yarı saydam filigranlar ve kopyalanamaz DOM öğeleri kırpılarak veya filtrelenerek aşılabilir — altta hala temiz bir görüntü vardır. Döner kare bölütleme ise içeriğin asıl piksellerini değiştirir, altta gizlenmiş 'temiz' bir görüntü yoktur.
Klinik çalışanları görev gereği hasta verilerini ekranda görmek zorundadır ama bu verilerin kurumdan çıkmaması gerekir. ZeroLeak ile veriler oturum içinde okunabilir kalır, çekilen bir ekran görüntüsünden ise anlamlı bilgi çıkarılamaz. Sadece görüntüleme yetkisine sahip roller için HIPAA'nın minimum açıklama prensibiyle uyumludur.
Okunması gereken ama kimsenin telefonuna sıçraması istenmeyen içerikler — mali tablolar, sözleşme metinleri, due-diligence dosyaları. Anti-OCR ve döner kare bölütleme bir arada uygulandığında, belge ekranda rahatlıkla okunur, çekilen görüntü ise işe yaramaz hale gelir.
Analistlerin görmesi gereken ama dışarı çıkmaması gereken sınıflandırılmış içerikler. Piksel düzeyinde değişiklik, ekran görüntüsü yoluyla sızma yolunu erişim politikasıyla aynı sınırda kapatır.
Bir müşteri paneline, denetim arayüzüne veya araştırma konsoluna kısa süreli yetki alan dış kullanıcılar. Kullanıcı içeriği okur; ekran görüntüsü çekse de içeriği başka bir ortama taşıması mümkün olmaz.
Araştırmacılar çalışma verilerini, hasta kayıtlarını, laboratuvar sonuçlarını görmek zorundadır. Açıklama sınırı çoğunlukla dışarı taşımayı yasaklar. Anti-OCR bu yasak sınırını politikadan teknik bir kontrole dönüştürür.
Çalışan riski programları, çekilen bir ekran görüntüsünün zararsız olduğunu artık varsayamaz. Cebinde AI bulunan herhangi bir kişi için, ekranda görünen her içerik potansiyel bir dışa aktarım vektörüdür. Anti-OCR ve döner kare bölütleme bu riski, AI öncesi dönemin sadece-insan ortamlarındaki seviyeye geri çeker.
ZeroLeak'in anti-OCR piksel katmanını ve döner kare bölütlemesini canlı demoda görün. Aynı sayfayı Tesseract, AWS Textract, GPT-4V ve Claude Vision'a verip diğer uçtan ne çıktığını gösteririz.