Zafiyet taraması ile sızma testi arasındaki fark nedir?
Zafiyet taraması, bilinen güvenlik açıklarını otomatik bir araçla arayıp listeleyen bir envanter çalışmasıdır. Sızma testi ise bir uzmanın bu açıkları gerçekten kullanarak sistemin içinde nereye kadar ilerleyebildiğini gösteren bir kanıt çalışmasıdır. Aradaki fark araçların farkı değil, sorulan sorunun farkı: tarama "nerede açık olabilir?" diye sorar, sızma testi "bu açıkla müşteri veritabanına gerçekten ulaşılabiliyor mu?" diye sorar. İkisi birbirinin yerini almaz. Bunu en net söyleyen yer de düzenlemelerin kendisi. PCI DSS taramayı 11.3, sızma testini 11.4 başlığı altında ayrı ayrı ister; BDDK'nın banka yönetmeliği otomatik tarama araçlarını 16. maddede, bağımsız bir ekiple yılda bir yapılacak sızma testini 18. maddede sayar. Yani elinizde bir tarayıcı raporu varsa, sızma testi yaptırmış olmuyorsunuz.
Tarayıcı ne yapar, ne yapamaz
Tarayıcının işi eşleştirmedir. Ağdaki sistemleri bulur, açık portları ve çalışan servislerin sürümlerini tespit eder, sonra bunları bilinen açık veri tabanlarıyla karşılaştırıp bir liste üretir. Bu işi çok iyi yapar ve insandan çok daha hızlıdır: yamasız bir kütüphane, süresi geçmiş bir sertifika, varsayılan parolayla açık kalmış bir yönetim paneli, dışa dönük gereksiz bir servis. Burada önemli bir ayrım var. Kimlik doğrulamasız tarama sisteme dışarıdan bakar ve tahmin yürütür; kimlik doğrulamalı tarama bir hesapla içeri girip kurulu paket sürümlerini okur ve belirgin biçimde doğru sonuç verir. PCI DSS 4.0, iç taramaların kimlik doğrulamalı yapılmasını 11.3.1.2'de ayrıca şart koşuyor. Sebebi basit: dışarıdan bakan bir tarama, bir sunucuda gerçekten neyin kurulu olduğunu bilemez.
Tarayıcının iki yapısal sınırı var. Birincisi yanlış pozitifler: liste her zaman gerçekte istismar edilebilir açıkların listesi değildir, doğrulanmamış bulgular içerir. İkincisi ve daha önemlisi, tarayıcı yalnızca birinin daha önce bulup tanımladığı açıkları bulur. Sizin uygulamanıza özgü, hiçbir veri tabanında kaydı olmayan hatalar onun görüş alanı dışındadır.
Bir insanın bulduğu, aracın bulamadığı
Aracın göremediği şeyler kısa bir listeye sığar ve o liste tam da ihlallerin geçtiği yerdir. Yetkilendirme hataları buradadır: fatura adresindeki numarayı 1043'ten 1044'e çevirdiğinizde başka bir müşterinin faturasını görüyorsanız, ortada hiçbir CVE numarası olmayan gerçek bir açık vardır. İş mantığı hataları da öyle: aynı indirim kuponunu iki kez uygulamak, sipariş adedine negatif değer girip bakiye kazanmak, ödeme adımını atlayıp doğrudan onay sayfasına gitmek. Bir araç bunları göremez, çünkü hangi kullanıcının hangi veriye ve hangi işleme erişmesi gerektiğini yalnızca sizin iş kuralınız bilir. OWASP Top 10'un yıllardır bir numaralı maddesi olan bozuk erişim kontrolü tam bu kategoriye girer, ve otomatik tespiti en zor sınıftır. Aynı şey API'ler için daha da geçerlidir: bir uç noktanın çalıştığını görmek kolay, o uç noktanın başkasının kaydını döndürüp döndürmediğini anlamak insan işidir.
Üç "düşük", bir "kritik" eder
İkinci fark zincirlemedir. Tarayıcı bulguları tek tek puanlar, saldırgan ise onları birleştirir. Diyelim ki test ortamında dizin listeleme açık kalmış, tarayıcı buna "orta" diyor. Aynı ortamda eski bir yedek dosyası okunabiliyor, bu da "düşük". Üçüncü bulgu tarayıcının hiç göremediği bir şey: yedek dosyasının içindeki veritabanı parolası üretim sunucusunda da kullanılıyor. Üç madde tek tek kimseyi telaşlandırmaz. Birleştiğinde müşteri veritabanına giden bir yol olur. Sızma testinin asıl değeri budur, tek tek bulguların listesi değil, o bulgularla kurulabilen yolun gösterilmesi. Rapordaki en pahalı satır zafiyetin adı değil, "bu adımlarla şu veriye ulaştım" cümlesidir.
Düzenlemeler ikisini neden ayrı maddelerde istiyor
PCI DSS 4.0.1 bu ayrımın en net örneği. İç zafiyet taraması üç ayda bir (11.3.1), dış tarama üç ayda bir ve PCI SSC onaylı bir tarama sağlayıcısı (ASV) tarafından (11.3.2) yapılır. Sızma testi ise ayrı bir grupta: iç sızma testi yılda en az bir kez (11.4.2), dış sızma testi yılda en az bir kez (11.4.3), ağ segmentasyonunun gerçekten çalıştığının testi yılda bir (11.4.5), hizmet sağlayıcılar için altı ayda bir (11.4.6). Üstüne 11.4.1, testin sektörde kabul görmüş bir metodolojiyle yapılmasını ve testi yapan kişinin test edilen sistemi yöneten ekipten kurumsal olarak bağımsız olmasını istiyor. Metodoloji örneği olarak NIST SP 800-115, OWASP test kılavuzları, PTES ve OSSTMM kabul görür. Geçen bir ASV taraması sızma testi yerine sayılmaz, geçen bir sızma testi de tarama yükümlülüğünü ortadan kaldırmaz.
Türkiye'de kim neyi zorunlu tutuyor
Bankacılıkta ayrım mevzuatta harfiyen yazılıdır. Bankaların Bilgi Sistemleri ve Elektronik Bankacılık Hizmetleri Hakkında Yönetmelik'in 16. maddesinin üçüncü fıkrası, bankanın ağa bağlı sistem ve cihazlarına yönelik otomatik güvenlik açığı tarama araçları kullanmasını ve bulguların en kritikten başlayarak bilgi güvenliği sorumlusuna raporlanmasını istiyor. Sızma testi ise 18. maddenin yedinci fıkrasında: "Banka, bilgi sistemleri aracılığıyla sunduğu hizmetlerin tasarımı, geliştirilmesi, uygulanması veya yürütülmesinde görevi bulunmayan bağımsız ekiplere yılda en az bir defa sızma testi yaptırır." Dikkat edilecek nokta bağımsızlık koşulu: sistemi kuran ekip kendi işini test edemez.
KVKK tarafında durum farklı. Kanun bir sıklık ya da yöntem şart koşmuyor, 12. madde "gerekli teknik ve idari tedbirler" diyor. Kurumun Kişisel Veri Güvenliği Rehberi ise beklentiyi açıkça yazıyor: bilişim sistemlerinin bilinen zafiyetlere karşı korunması için düzenli olarak zafiyet taramaları ve sızma testlerinin yapılması, ve çıkan açıklara göre değerlendirme yapılması gerekiyor. İkisi birlikte anılıyor, biri diğerinin alternatifi olarak değil. Kamu kurumları ile kritik altyapı işletmeleri için Bilgi ve İletişim Güvenliği Rehberi ayrıca yıllık uyum denetimi öngörüyor. Avrupa'da finans sektöründe daha ağır bir katman var: DORA'nın 26. maddesi, kapsama giren büyük kuruluşlardan üç yılda bir tehdit temelli sızma testi (TLPT) istiyor ve bu testin canlı üretim sistemlerinde yapılmasını şart koşuyor. ISO 27001 ise sertifika için tek tek sızma testi dayatmaz; A.8.8 teknik zafiyet yönetimini, A.8.29 geliştirme ve kabul aşamasında güvenlik testini ister, denetçi de bunu nasıl yaptığınızın kanıtını arar.
Kırmızı takım (red team) üçüncü bir şeydir
Sızma testi ile kırmızı takım çalışması sık karıştırılıyor. Sızma testi kapsam odaklıdır: verilen sistemlerde mümkün olduğu kadar çok açık bulunur ve hepsi raporlanır. Kırmızı takım hedef odaklıdır: "maaş bordro sistemine eriş" gibi bir amaç verilir, ekip gerçek bir saldırgan gibi sessiz kalmaya çalışır ve asıl ölçülen şey açıkların sayısı değil sizin fark edip müdahale etme yeteneğinizdir. Yani kırmızı takım aslında olay müdahale kapasitenizin testidir. Sıralama önemli: bilinen açıkları kapatmamış bir şirketin kırmızı takım çalışması satın alması para israfıdır, çünkü sonuç baştan bellidir.
Ne sıklıkla, hangi sırayla
Tarama sürekli bir iştir, sızma testi periyodik. Bunun sebebi rakamlarda görünüyor: 2025'te 48.185 yeni CVE yayımlandı, bir önceki yıla göre yaklaşık %21 artış. Dün temiz olan bir sunucu bugün açık olabilir, çünkü sunucu değişmese de dünya değişiyor. Pratik bir tempo şöyle kurulur: internete açık varlıklarda otomatik tarama en azından haftalık veya aylık, iç ağda en az üç ayda bir, sızma testi yılda bir ve her önemli değişiklikten (yeni bir uygulama yayını, mimari değişiklik, veri merkezi taşıma) sonra.
Sıra da en az sıklık kadar önemli. Zafiyet taraması yapmamış ve yamalarını uygulamamış bir şirket sızma testi satın aldığında, günlük ücretle çalışan bir uzmana ücretsiz bir aracın bulacağı şeyleri buldurmuş olur. Raporun yarısı "şu sistemde eksik yama var" satırlarıyla dolar, uzmanın iş mantığına ve erişim kontrolüne ayıracağı zaman kalmaz. Doğru sıra şudur: envanter, tarama, yamalama ve yapılandırma düzeltmeleri, sonra sızma testi. Test öncesi hazırlık yatırımın geri dönüşünü doğrudan etkiler.
Elinize gelen rapor gerçek bir test mi
Piyasada tarayıcı çıktısının üzerine kapak sayfası eklenip sızma testi raporu olarak satıldığı durumlar var. Ayırt etmek zor değil. Gerçek bir raporda her bulgunun yeniden üretme adımları vardır: hangi istek, hangi parametre, hangi cevap. Kanıt vardır: ekran görüntüsü, istek gövdesi, elde edilen veri örneği (maskelenmiş). İş etkisi vardır: bu açıkla kimin hangi verisine erişilebildiği yazılıdır, yalnızca CVSS puanı değil. Tarayıcının bulamayacağı en az bir bulgu vardır, örneğin bir yetki atlatma ya da iş akışı hatası. Testi yapan kişilerin adı ve metodoloji vardır. Ve düzeltmeden sonra yeniden test (retest) koşulları sözleşmede tanımlıdır. Bunların hiçbiri yoksa, satın aldığınız şey bir taramadır ve fiyatı da o kadar olmalıdır.
Teklif alırken sorulacak sorular
- Kapsamda tam olarak hangi IP adresleri, alan adları ve uygulamalar var, kapsam dışında ne var?
- Test kimlik doğrulamalı mı yapılacak, hangi rollerle (yetkisiz kullanıcı, standart kullanıcı, yönetici)?
- Hangi metodoloji izleniyor (NIST SP 800-115, OWASP WSTG, PTES)?
- Otomatik araç kullanımı ile manuel test arasındaki dağılım ne, örnek raporda manuel bulgular var mı?
- Testi yapan ekip, test edilen sistemi kuran veya işleten ekipten bağımsız mı?
- Düzeltme sonrası yeniden test fiyata dahil mi, hangi süre içinde?
- Üretim ortamında test edilecekse kesinti riski nasıl yönetilecek, acil durumda kim aranacak?
Bir cümlelik özet: zafiyet taraması size bilinen açıkların listesini verir ve sürekli çalışması gerekir; sızma testi o açıkların gerçekte ne kadar ilerlemeye izin verdiğini gösterir ve periyodik olarak insan eliyle yapılır. Wedevit olarak bu ikisini birlikte kurguluyoruz: internete açık varlıklarınızı haritalıyor, tarama ritmini ve önceliklendirmeyi oturtuyor, kapsamı ticari riskinize göre çizip sızma testini yürütüyor, bulguları iş etkisine göre sıralayıp düzeltme sonrası yeniden test ediyoruz. Bugün atabileceğiniz bedelsiz ilk adım: son sızma testi raporunuzu açın ve içinde bir tarayıcının bulamayacağı tek bir bulgu arayın. Bulamıyorsanız, o test hiç yapılmamış demektir.
Bu konuda yardıma mı ihtiyacınız var?