Ana içeriğe geç

Bölüm 19: OCR Filters

Genel Bakış

OCR Filtre Kuralları (Belge Güvenliği → OCR Filtre Kuralları), yüklenen dosyanın içeriğini OCR (Optical Character Recognition) ile tarar; çıkarılan metin kuraldaki desenlerle eşleşirse isteği engeller veya denetim kaydına alır. MIME ve Dosya Meta Verisi Filtreleri (Bölüm 18) dosyanın türüne ve kimliğine bakarken, OCR Filters dosyanın gerçek içeriğindeki metne bakarak karar verir.

Dosya kontrolleri sabit katman sırasıyla çalışır: MIME → dosya meta verisi → OCR. Birkaç katman aynı dosyayı engelleyecekse, blok sayfasında ve denetim kaydında en erken katman adlandırılır.

Bu filtre özellikle görsel (PNG, JPEG) ve PDF içeriklerde, dosyaya gömülü hassas verilerin (ör. TCKN, IBAN, kredi kartı numarası) dışarı sızdırılmasını önlemek için kullanılır. Metin katmanı taşıyan belgelerin metni PII kurallarınca da okunur (Bölüm 14); OCR, görseller ve taranmış sayfalar için tamamlayıcı katmandır.

Kapsam sınırı: OCR yalnızca byte olarak yüklenen dosyalara uygulanır. Kodlama ajanlarının (Claude Code vb.) yerelde okuduğu dosyalara MIME ve dosya meta verisi kuralları uygulanır, ancak OCR uygulanmaz — yerel okumaları türüne göre bir MIME kuralıyla durdurun, metinlerini bir PII veya DLP kuralıyla kapsayın (Bölüm 14 ve Bölüm 20).

Kurallar yeniden kullanılabilir kütüphane mantığıyla çalışır ve Erişim Yönetimi (Bölüm 11) üzerinden hedeflere bağlanarak etkinleşir.

OCR Filters sayfası üç sekmeden oluşur: Kurallar (Rules), İçerik Desenleri (Content Patterns) ve Desen Grupları (Pattern Groups). Kurallar, desenleri kural içine gömmek yerine kütüphanedeki desenleri/grupları referans alır; bunlara ek olarak kurala özgü satır içi özel desenler de tanımlanabilir.

Kural Tablosu (Kurallar Sekmesi)

Kurallar sekmesi, arama kutusu ve sayfalamalı bir tablo listeler. Sütunlar:

  • Ad: Kuralın görünen adı; altında hata: açık / hata: kapalı etiketiyle hata davranışı gösterilir.
  • Eylem: block (engelle) veya audit (denetle) rozeti.
  • Desenler: Kurala bağlı kütüphane desenleri ve grup desenleri; satır içi desenler "N özel" rozetiyle sayılır.
  • MIME Türleri: Tarama kapsamındaki türler.
  • Limitler: Maksimum dosya boyutu ve "Nsn zaman aşımı" bilgisi.
  • İşlemler: Düzenle ve Sil butonları.

Kural Oluşturma ve Düzenleme

  • Kural Adı: Kuralın görünen adı. Örnek: "Kredi kartı görsellerini engelle".
  • Eylem: OCR taramasında eşleşme bulunduğunda uygulanacak eylem:
  • engelle (block): İsteği reddeder.
  • denetle (audit): Yalnızca kaydeder, geçişe izin verir.
  • Hata Davranışı: OCR taramasının başarısız olması (hasarlı dosya, desteklenmeyen format, zaman aşımı, kısmi okuma) durumundaki davranış:
  • açık (open): İşleme izin verir (fail-open). Kullanıcı deneyimini kesintiye uğratmaz, ancak koruma boşluğu yaratabilir; taranamayan geçen her dosya denetim kaydına tek satırla düşer.
  • kapalı (closed): İşlemi engeller (fail-closed). Güvenlik öncelikli ortamlarda tercih edilir, ancak geçerli dosyalar da etkilenebilir.
  • Zaman Aşımı (saniye): Tek bir dosyanın OCR taraması için maksimum süre. Varsayılan 60 saniye (1–120 aralığında ayarlanabilir). Eski 10–15 saniyelik değerler, okunabilir boyuta indirilmiş yoğun bir ekran görüntüsünü bile okumaya yetmiyordu. Süre aşılırsa hata davranışı devreye girer.
  • Maks. Dosya Boyutu (MB): OCR taramasına gönderilecek maksimum dosya boyutu. Varsayılan: 20 MB. Büyük dosyalar gecikme ve kaynak tüketimine yol açabileceğinden bu sınır dikkatli ayarlanmalıdır.
  • Taranacak MIME Türleri: Satır başına bir tür; joker karakter desteklenir. Varsayılan: image/* ve application/pdf.
  • Desen Grupları: Kütüphanedeki gruplar düğme olarak seçilir; düğmede grup adı ve desen sayısı yazar.
  • Bireysel Desenler: Kütüphaneden tek tek desen seçilen, arama kutulu onay listesi.
  • Özel Desenler (satır içi): Yalnız bu kuralda geçerli, ad + ifade satırları.

Kural, en az bir desen (kütüphaneden ya da özel) olmadan kaydedilmez. Kural oluşturulduğunda etkindir; bu sayfada aç/kapat anahtarı yoktur — etkinlik yalnızca API üzerinden değiştirilir.

Desen İfadeleri

Desenin İfade alanı üç biçimden birini alır:

  • regex: ön eki — Go uyumlu düzenli ifade (ör. regex:\b\d{16}\b).
  • Düz anahtar kelime — büyük/küçük harf duyarsız eşleşir. 3+ harfli düz bir kelime, ekranda harfleri ayraçla veya leetspeak ile yazılmış olsa da ("T A I", "t.a.i", "t@!") ya da Türkçe karakterleri düşürülmüş olsa da yakalanır.
  • exact: ön eki — kelimenin yalnızca yazıldığı gibi eşleşmesini istiyorsanız.

Taranacak Dosyalar: Etiketleme ve Kapsam

Bir OCR kuralının hangi dosyalara bakacağı, dosyaya verilen MIME etiketine bağlıdır; etiket istemci beyanından bağımsız olarak bayt koklamasıyla verilir. Varsayılan image/* + application/pdf listesi çoğu senaryo için yeterlidir; kapsam genişletilirken şunlar bilinmelidir:

  • Office belgeleri gerçek türlerini taşır. docx/xlsx/pptx birer zip kapsayıcısıdır ve eskiden her Office belgesi application/zip etiketi alıyordu. Data-URI, sarmalanmış yükleme, Claude base64 ve multipart yollarıyla gelen docx ekleri artık gerçek belge türünü taşır; bu sayede yalnız docx kapsamındaki OCR kuralları bu yollarda eşleşir. Bilinen sınır: ChatGPT'nin eski chunked (?comp=block) yüklemelerinde dosyanın yalnızca bir dilimi görülebildiğinden etiket application/zip kalır.
  • octet-stream kapsamı daraldı. MIME listesi yalnızca application/octet-stream olan bir OCR kuralı artık .doc/.xls dosyalarını taramaz — bu dosyaların etiketleri octet-stream'den gerçek türlerine döndü (PE/MSI için de aynı boşluk kapatıldı).
  • Bildirimsiz .doc ham metinle okunur. Gerçek bir .doc ayrıştırıcısı olmadığından bu dosya application/msword etiketiyle alınır, ham metin okuması yapılır ve sonuç "kısmi okundu" olarak işaretlenir: anahtar kelime eşleşmesi önce değerlendirilir, eşleşme yoksa kuralın hata davranışı karar verir. kapalı hata davranışlı bir OCR kuralı altında anahtar kelime eşleşmeyen her .doc engellenir.
  • Yerleşik Belgeler izin listesi (Bölüm 18) CFB koklamasıyla eski biçimli (.doc/.xls/.ppt) ve şifreli Office dosyalarını geçirir; beyanla gelen bu dosyalar artık koklanan gerçek türleriyle yargılanır.

Sonuç önbelleği: OCR sonuç önbelleğinin anahtarı, desen kararını da taşıyan yeni sürümündedir. Önceden ayraçla yazılmış bir ekran görüntüsü ikinci kez yüklendiğinde önbellekten geçebiliyordu; artık geçmez.

Tarama Sınırları ve Redler

  • Ek sayısı sınırı: Kullanıcıya atanmış bir OCR kuralı varken bir istekte 32'den fazla ek bulunuyorsa istek, taranmadan iletilmek yerine not_scanned_file_cap gerekçesiyle reddedilir (OCR kuralı atanmamışsa genel sınır 128'dir; Bölüm 18). Önceki turlardan tekrar oynatılan ve sınırın ötesinde kalan ekler için istek reddedilmez; yalnızca kaydedilir.
  • Tarama sınırı aşımı: Bir ileti veya ek, denetim sınırını aştığında artık çıplak bir 413 yanıtı dönmez; blok sayfası (API istemcilerinde JSON hata), referans numarası ve denetim kaydıyla reddedilir. Sınırı aşan bir ek, atanmış bir dosya kontrolü varsa "dosya tarama sınırından büyük" gerekçesiyle reddedilir.
  • Tarayıcı tekrarları tek blok sayılır. Tarayıcılar reddedilen yüklemeyi otomatik olarak tekrar dener (Gemini yaklaşık dört kez); her tekrar artık ayrı bir blok yazmak yerine ilk reddedilen bloğa bağlı bir "tekrar" satırı bırakır. Blok sayfasında görünen referans numarası, Denetim Kayıtları'nda (Bölüm 25) bu satırı bulur. İki farklı kullanıcı ya da iki farklı dosya yine iki ayrı bloktur.
  • Fail-open geçişleri kaydedilir. Hata davranışı açık olan bir kuralda taranamayıp geçen her dosya (ör. birlikte zaman aşımına uğrayan dört ekran görüntüsü) dosya başına bir denetim satırı alır.

OCR Tarama İş Akışı

  1. Kullanıcı transparent proxy (tarayıcı), explicit proxy (kodlama ajanı), unified gateway veya /local/ üzerinden bir dosya yükler.
  2. Dosya, katman sırasının ilk iki adımından geçer: MIME kuralları, ardından dosya meta verisi kuralları (Bölüm 18).
  3. Koklanan tür, atanmış OCR kurallarının MIME listeleriyle eşleştirilir; kapsama giren dosya boyut ve zaman aşımı sınırlarından geçirilir.
  4. Dosya, atanmış kaç OCR kuralı olursa olsun dosya başına yalnızca bir kez taranır.
  5. Çıkarılan metin, eşleşen kuralların tüm desenleriyle taranır; aynı içerik daha önce taranmışsa sonuç önbellekten karşılanabilir.
  6. Eşleşme bulunursa kuralların eylemi uygulanır (engelle/denetle); birden çok katman engelliyorsa en erken katman adlandırılır.
  7. Eşleşme bulunamazsa yükleme devam eder. Tarama herhangi bir nedenle tam okunamadıysa (hata, zaman aşımı, kısmi okuma) kuralın hata davranışı devreye girer.
  8. Karar, gerekçesiyle birlikte denetim kaydına yazılır (Bölüm 25).

OCR Filter kuralları, Erişim Yönetimi (Bölüm 11) üzerinden "OCR Filter" kural türü olarak kullanıcı veya grup hedeflerine bağlanır.

OCR Worker Mimarisi

OCR taramaları, Arceris'in ana hizmetinden ayrı bir tarama servisinde çalışır. Bu ayrımın işletme sonuçları:

  • Yoğunlukta hata davranışı belirleyicidir. Tarama servisi eşzamanlı işleyebileceği tarama sayısına üst sınır koyar; yoğunlukta istekler kuyruğa girer ya da kuralın hata davranışı (açık/kapalı) uygulanır. Yoğunluk, sınırsız büyüyen bir bekleme kuyruğuna değil kuralın açık/kapalı ayarına düşer.
  • Süre bütçeleri asılı kalmayı önler. Tek bir PDF veya görsel için wall-clock süre bütçesi vardır (kuralın zaman aşımı daha kısaysa o geçerlidir); bütçe tükenince okunabilen sayfalar "kısmi okundu" işaretiyle döndürülür — bir tarama asla askıda kalmaz. Kısmi sonuçta anahtar kelime eşleşmesi önce değerlendirilir, eşleşme yoksa hata davranışı karar verir.
  • Aşırı büyük görseller çözülmez. Piksel sınırını aşan görseller (dekompresyon bombaları) hiç çözülmez ve "taranmadı" olarak raporlanır.
  • PDF için sessiz sayfa sınırı yoktur. Sınırın ötesindeki sayfaların taranmadan modele gitmesi bir içerik filtresi atlatma yolu olabileceğinden sayfa sınırı varsayılan olarak kapalıdır; gerçek sınır süre bütçesidir.

Tarama servisi yalnızca OCR kurallarına hizmet etmez: PII kurallarının PDF/Word dosya metni okumaları da (Bölüm 14) bu servis üzerinden yapılır. Tarama kapasitesinin yetersiz kaldığı ortamlarda kapasite planlaması için destek ekibiyle çalışın.

İçerik Deseni Kütüphanesi (Content Pattern Library)

OCR kurallarında kullanılacak desenlerin yeniden kullanılabilir kütüphanesi İçerik Desenleri ve Desen Grupları sekmelerinde yönetilir. Bu yapı, MIME ve Dosya Meta Verisi Filtreleri (Bölüm 18)'ndeki tür/grup kütüphanesiyle paralel bir iz izler: desenleri her kurala tekrar tekrar girmek yerine katalogdan seçmeyi sağlar.

İçerik Desenleri sekmesi: Her desen kaydı Ad (ör. Kredi Kartı Numarası), İfade (yukarıdaki üç biçimden biri), Kategori (ör. finans, kimlik) ve Yerleşik bayrağıyla listelenir; ad, ifade ve kategoriye göre aranabilir. Yerleşik desenler salt okunurdur; yalnızca özel desenler düzenlenebilir ve silinebilir.

Desen Grupları sekmesi: Desenleri tek başlık altında toplayan gruplar (Ad, Açıklama, üye desenler) listelenir. Gruplar kurallara topluca bağlanabildiği için "tüm PII desenlerini tara" gibi senaryoları tek seçimle yönetmeyi kolaylaştırır. Yerleşik gruplar salt okunurdur; özel gruplar oluşturulabilir. Bir grup en az bir desen içermelidir.

Performans Değerlendirmesi

OCR taraması işlem maliyeti yüksek bir işlemdir. Her dosya için tarama yapılması gecikmeye ve kaynak tüketimine neden olabilir. Bu nedenle:

  • MIME türü listesi ile yalnızca gerekli dosya türleri taranmalıdır.
  • Maks. dosya boyutu sınırı makul tutulmalıdır.
  • Zaman aşımı, ortamdaki dosya büyüklüklerine göre ayarlanmalıdır; yoğun ekran görüntülerinde kısa değerler okumayı yarım bırakır.
  • Yoğun tarama yükü beklenen ortamlarda kapasite planlaması için destek ekibiyle çalışın; hata davranışı (açık/kapalı) bu duruma göre seçilmelidir.
  • Üretim dağıtımından önce gerçek kullanıcı akışlarıyla performans testi yapılmalıdır.

Sağlayıcı Bazlı Dosya Trafiği Farkları

Dosya yükleme davranışı sağlayıcıya göre değişebilir. Bazı servisler dosya akışını doğrudan, bazıları yardımcı alan adları (CDN subdomain) veya ara yükleme mekanizmaları üzerinden işler. Bu durum özellikle OCR Filters için geçerlidir; çünkü dosyanın hangi noktada kesilip taranacağı sağlayıcı mimarisine bağlıdır. Bilinen bir örnek: ChatGPT'nin eski chunked (?comp=block) yüklemelerinde dosyanın yalnızca bir dilimi görülebildiğinden Office belgeleri gerçek türlerine daralamaz ve application/zip etiketiyle kalır. Bu nedenle dosya denetimi planlanırken sağlayıcı davranışı mutlaka test edilmelidir.

Operasyonel Bağlam

  • Kuralların kullanıcılara atanması ve bir blokun hangi kuralladan geldiği: Bölüm 11 (Erişim Yönetimi) ve Bölüm 25 (denetim kayıtları, deny satırlarında kural zinciri).
  • MIME ve dosya meta verisi katmanları: Bölüm 18; dosya metninde PII taraması: Bölüm 14; DLP/ICAP dosya taraması: Bölüm 20.