TR7 WAF, zero-day bir saldırıyı imzası olmadan yakalayabilir mi?
Kısa cevap
Evet, saldırı uygulamanın öğrenilmiş istek şeklinden sapıyorsa ya da bilinen bir saldırı tekniğini kullanıyorsa (sıfırıncı gün savunması). TR7 WAF'ın pozitif modeli imza aramaz: Page Types kurallarındaki Check Fields denetimleri beklenmeyen bir parametreyi, sınır dışı uzunluk, sayı ya da derinliği, izin verilmeyen HTTP metodunu ya da içerik türünü, değer desenine (regex) uymayan alanı, ayrıştırılamayan gövdeyi ve içeriğinden tespit edilen türü izinli olmayan yüklenen dosyayı 24 puanlık yapısal ihlal sayar; bu puan en gevşek düzeyin (Elementary, 24) eşiğine bile tek başına ulaşır. Eski kuralları yok sayan bir Analysis & Learning koşusu Rule Creating Mode Data based (varsayılan) ya da Comprehensive ile çalıştırıldığında, öğrenilmemiş sayfalara gelen veri taşıyan ya da bütün istekler de engellenir. İmza tarafında tek bir açığa değil saldırı tekniğine yönelik genel imzalar (Encoding Evasion, OS Command Execution, Template/Expression Eval gibi) yeni açıkların istismar yüklerinin bir kısmını yakalar ve isabetler tek saldırı puanında birikir (Signature Categories); kaynağı kara listede olan istek Blacklist Protection ile içerikten bağımsız olarak 100 puan alır. Bu korumanın gücü öğrenilmiş kural setinin kalitesine bağlıdır: yapısal ihlaller yalnızca Monitor ve Blocking modlarında puana girer, Structure Checks ya da Argument Checks kapalıysa ilgili denetimler üretilmez ve izinli bir parametrenin izinli biçimi içine gizlenen yeni bir saldırıyı yalnızca imzalar yakalayabilir. AI Learning saldırı tespit eden bir katman değildir; kural setini yanlış pozitiflere göre güncel tutar.
Nasıl Çalışır?
İmza, saldırının biçimini bilmeyi gerektirir; zero-day saldırının ise henüz yazılmış bir imzası yoktur. TR7 WAF böyle bir isteği beş ayrı yoldan yakalayabilir; hepsi aynı saldırı puanına yazar ve karar tarama bittiğinde bu tek puanla verilir (hibrit güvenlik modeli):
| Yol | İmzası olmayan saldırıyı nasıl yakalar | Puan |
|---|---|---|
| Yapısal denetimler (pozitif model) | Uygulamanın her path'i için izinli metotlar, beklenen parametreler, uzunluk, sayı, boyut ve derinlik sınırları, değer desenleri ve izinli içerik ve dosya türleri Page Types kurallarında tutulur. Bu tanımın dışına çıkan istek, içeriği hiçbir imzaya uymasa da ihlal alır | 24 |
| Öğrenilmemiş sayfaların korunması | Eski kuralları yok sayan (Ignore Old Rules, varsayılan) bir Analysis & Learning koşusu Any Paths kuralını seçilen Rule Creating Mode'a göre kısıtlayıcı biçimde yeniden kurar: Data based (varsayılan) ile öğrenilmemiş sayfalara gelen veri taşıyan istekler, Comprehensive ile öğrenilmemiş sayfalara gelen bütün istekler Any paths kuralına düşer ve engellenir. Otomatik öğrenmenin (Teacher, AI learning) kural üretim biçimini ise Rule Creation Policy belirler | 24 |
| Saldırı tekniğine yönelik imzalar | İmzaların çoğu tek bir CVE'ye değil bir tekniğe bakar: komut enjeksiyonu, şablon ve ifade dili enjeksiyonu, dizin geçişi, güvensiz serileştirme, çift kodlama ve Unicode kötüye kullanımı gibi. Yeni bir açığın istismar yükü bu tekniklerden birini kullanıyorsa açığın kendi imzası yazılmadan yakalanır | 2 · 4 · 6 · 8 |
| Puan birikimi | Tarama ilk isabette durmaz; isteğin bütün bölümlerindeki isabetler toplanır. Tek başına eşiğin altında kalan isabetler birlikte OWASP Protection Level eşiğine ulaşabilir (Bir istekte birden fazla saldırı varsa WAF ilk eşleşmede mi durur, hepsini mi değerlendirir?) | Toplam |
| IP itibarı | Kaynak adres IP Intelligence & Reputation kara listesinde ya da Frontend Blacklist'te ise ve Blacklist Protection açıksa istek, içeriğinden bağımsız olarak puan alır | 100 |
Beş koruma düzeyinin en yüksek eşiği 24 olduğundan Blocking modunda tek bir yapısal ihlal ya da kara liste isabeti her düzeyde isteği engeller; varsayılan Very tight düzeyinde (eşik 4) Medium ve üzeri tek bir imza isabeti de yeter (TR7 WAF bir isteği engelleyip engellememeye nasıl karar verir?).
Yapısal Denetimlerin Yakaladıkları
| Denetim grubu | Örnek sapma | Hangi ana anahtara bağlı |
|---|---|---|
| Sınırlar (Structure Limits) | Path, query, header, JSON, XML ve form alanlarında anahtar ve değer uzunluğu, alan sayısı, toplam boyut; JSON ve XML'de iç içe geçme derinliği; ham gövde boyutu | Structure Checks |
| Değer deseni ve tekrar | Alan değerinin tanımlı düzenli ifadeye (regex) uymaması; aynı alanın izin verilenden fazla tekrarlanması | Structure checks |
| İzinli ve zorunlu alanlar | Sayfanın hiç görülmemiş bir parametre, header, JSON ya da XML anahtarı taşıması; zorunlu bir alanın eksik olması | Argument Checks |
| Metot ve içerik politikası | İzin verilmeyen HTTP metodu; JSON, XML ya da form gövdesini toptan engelleyen anahtarlar; yüklenen dosyanın ya da ham gövdenin içeriğinden tespit edilen türünün izinli listede olmaması | Ana anahtarlardan bağımsız |
| İçerik bütünlüğü | Ayrıştırılamayan JSON, XML ya da form gövdesi; işlenebilir boyutu aşan ya da beklenmeyen biçimde ayrıştırma hatası veren gövde | Gövde tipine göre Structure checks ya da RAW sekmesindeki ayar |
Denetimlerin ayrıntısı ve hangi ana anahtara bağlı oldukları: Checks · denetimlerin ana anahtarları
Korumanın Gücünü Belirleyen Etkenler
| Etken | Etkisi |
|---|---|
| Öğrenme kalitesi | Öğrenme sırasında ziyaret edilmemiş path'ler için ayrı kural oluşmaz; bu path'lere Any Paths kuralının genel denetimleri uygulanır. Öğrenmenin ne kadar tamamlandığı Learning Coverage panelinden izlenir |
| Rule Creating Mode ve Rule Creation Policy | Comprehensive: öğrenilmiş sayfaların dışındaki her erişim engellenir · Data based (varsayılan): öğrenilmemiş ve veri taşıyan erişimler engellenir · Page independent: sayfalar tek tek öğrenilmez, erişim tek bir genel kuralla yönetilir |
| Structure Checks | Kapalıysa uzunluk, boyut, derinlik ve alan değeri denetimleri üretilmez |
| Argument Checks | Kapalıysa beklenmeyen ya da eksik parametre denetimi yapılmaz |
| Max. Allowed Arguments | Bir sayfanın izinli parametre listesi bu sayıyı (varsayılan 25) aşarsa o sayfada liste denetimi bırakılır |
| WAF Mode | Learning modunda path, başlık ve alan yapı denetimleri çalışmaz, gövde denetimleri puana girmez; Monitor modunda ihlal kaydedilir ama istek geçer |
| OWASP Protection Level | Yapısal ihlali ve kara liste isabetini etkilemez; imza isabetlerinin kaçının engellemeye yeteceğini belirler |
TR7'de Öğrenmenin Rolü
- Pozitif modelin haritası elle yazılmak zorunda değildir: Learning modunda toplanan trafikten Analysis & Learning ile üretilir ya da OpenAPI belgesinden Import (OpenAPI) ile kurulur (Negatif güvenlik modeli (imza tarama) ile pozitif güvenlik modeli arasındaki fark nedir?).
- Öğrenme tek bir kaynağın trafiğiyle yönlendirilemez: kural önerisinin kabulü için istek, istemci, ülke ve ASN ağı sayısı eşikleri birlikte aranır (öğrenme ne zaman bitti).
- AI Learning ve Teacher, Monitor ya da Blocking modundaki olay kayıtlarından yanlış pozitifleri kurala öğretir; kural seti uygulama değiştikçe güncel kaldığı için pozitif model sıkı tutulabilir. İkisi de istekleri satır içinde değerlendiren bir saldırı tespit katmanı değildir.
- Yapısal ihlaller Event Logs'ta Severity değeri Structural olarak görünür; kayıttaki Attacks sekmesi ihlalin hangi alanda oluştuğunu gösterir.
Sık Karıştırılan Noktalar
- "AI learning bilinmeyen saldırıları tespit eder." AI Learning, Monitor ya da Blocking modundaki olay kayıtlarını istatistiksel eşiklerle değerlendirip kural değişikliği üreten bir öğrenme yöntemidir; istekleri satır içinde değerlendiren bir saldırı tespit katmanı değildir.
- "Pozitif model her zero-day saldırısını yakalar." İzinli bir parametrenin değerine, izinli uzunluk ve biçim içinde gizlenen bir saldırı yapısal denetime takılmaz; bu durumda yalnızca imzalar yakalayabilir. Değer kalıbı (regex) denetimi tanımlı alanlarda bu boşluğu daraltır (Path Check Fields).
- "Learning modunda da yapısal denetim yapılır." Learning modunda path, başlık ve alan yapı denetimleri çalışmaz, gövde denetimleri puana girmez ve saldırı puanına göre hiçbir istek engellenmez.
- "Zero-day koruması için koruma düzeyini Aggressive yapmak gerekir." Yapısal ihlal (24) her düzeyde tek başına eşiğe ulaşır; zero-day korumasını düzeyden çok öğrenilmiş kural setinin kapsamı belirler (Hangi koruma düzeyini seçmeliyim? (Elementary, Normal, Tight, Very Tight ve Aggressive)).
Dokümantasyonda nasıl yapılır
