Bundan önce yayınladığımız “Yazılım Güvenliğinde Fuzz Testleri Neden Gerekli?” başlık yazımızda, Fuzz Testi ile ilgili genel kavramları özetleyerek yazılım güvenliğindeki önemini vurgulamıştık. Bu yazımızda ise bu kavramların vücut bulduğu Black Duck Defensic Fuzz Testing ürününden ve Fuzz Testi kullanımına örnek bir vakadan ve kullanım pratiğinden bahsedeceğiz.
Defensics Fuzz Testing, yazılımlardaki güvenlik açıklarını etkili ve verimli bir şekilde keşfetmeye ve gidermeye olanak tanıyan, kapsamlı, güçlü ve otomatik bir kara kutu testidir. Burada, “kara kutu” kavramı, test aracının hedefin iç yapısı hakkında hiçbir bilgiye sahip olmadan, sadece dış arayüzler aracılığıyla etkileşimde buluması anlamına gelmektedir.
Defensics Fuzz Testing, sistematik ve akıllı bir negatif test yaklaşımıyla, yazılım güvenliğini ürün inovasyonunu, pazara çıkış süresini veya operasyonel maliyetleri olumsuz etkilemeden sağlar. Önceki yazımızda açıkladığımız üzere negatif test yaklaşımı, beklenmedik girdiler ile hedef sistemi çalışmaz hale getirilmeye çalışarak, zafiyetleri bulmaya çalışan bir yaklaşımdır.
Temel Özelliler
- Akıllı fuzzing motoru: Motor, giriş türünü (arayüz, protokol veya dosya formatı) tanır ve bu türün iletişim kurallarını derinlemesine bildiği için hedefe yönelik test senaryoları üretir. Bu sayede test süresi kısalır, güvenlikten ödün verilmez.
- Kapsamlı test paketleri: 300’den fazla hazır test paketi ile hızlı başlangıç yapılabilir. Yeni giriş türleri ve standartlara göre sürekli güncellenir.
- Özelleştirme: Mesaj dizilerini ince ayar yaparak testleri özelleştirebilirsiniz. Ayrıca Universal Data Fuzzer ve SDK Express gibi araçlarla kendi testlerinizi oluşturabilirsiniz.
- Donanım desteği: FuzzBox ile kablosuz LAN ve IoT protokollerini doğrudan özel donanım üzerinde test etmek mümkündür.
- Dikey çözümler: Otomotiv, ICS, IoT, ağ ve telekom için özel paketler sunulur.
Geliştirme Süreçlerine Uyum
Defensics, klasik SDL veya CI geliştirme yaşam döngülerine kolayca entegre olur. Böylece güvenlik açıkları erken aşamada yakalanır ve daha düşük maliyetle giderilir. Ayrıca API ve veri aktarım özellikleri sayesinde diğer sistemlerle uyumlu çalışır.
Raporlama ve Çözüm
- Bağlamsal loglar: Zafiyetin tetikleyici noktası ve teknik etkisi detaylı şekilde raporlanır.
- Zafiyet haritalama: CWE gibi endüstri standartlarına göre sınıflandırma yapılır.
- Sorun yeniden üretimi: Tek bir test senaryosu ile zafiyet tekrar oluşturulabilir ve çözüm doğrulanabilir.
- Çözüm paketleri: Tedarikçilerle güvenli iş birliği için şifrelenmiş çözüm paketleri oluşturulabilir.
Otomasyon ve Ölçeklenebilirlik
Defensics, API’leri sayesinde tek cihazdan büyük ölçekli sanallaştırmaya kadar esnek otomasyon sağlar. Böylece test süreleri kısalır ve süreçler tekrarlanabilir hale gelir.
Test Paketi Kataloğu
Defensics; ağ protokolleri (HTTP, DNS, DHCP, IPv4/IPv6), e-posta (SMTP, IMAP, POP3), IoT (Zigbee, Thread, Bluetooth, Wi-Fi), otomotiv (CAN Bus, SOME/IP), ICS (Modbus, OPC UA, MQTT), telekom (5G, O-RAN), VoIP (SIP, RTP, H.323), VPN (IPSec, TLS/SSL), medya formatları (MP3, MP4, JPEG, PNG, DICOM) ve daha birçok alanda hazır test paketleri sunar.
Anomali ve Güvenlik Kontrolleri
- SafeGuard denetleyicileri: SQL enjeksiyonu, LDAP enjeksiyonu, XSS, CSRF, zayıf kriptografi, Heartbleed gibi kritik zafiyetleri tespit eder.
- Anomali kategorileri: Paket taşmaları, kimlik bilgisi hataları, adresleme sorunları, rastgelelik eksiklikleri gibi durumlar raporlanır.
Defensics’in sahip olduğu 300’den fazla kapsamlı test paketinin listesini, aşağıda kaynaklar bölümündeki broşürden veya Black Duck web sitesi bağlantısından inceleyebilirsiniz.
Defensic Fuzz Testinin Bazı Faydalı Özellikleri
- Başkasından önce bilinmeyen bir güvenlik açığını keşfetme yeteneği.
- Hem son kullanıcılar, hem de yazılım geliştiriciler tarafından kullanılabilir:
- Geliştiricilerin güvenlik açıklarını keşfetmelerini ve gidermelerini sağlar.
- Son kullanıcılar da satın aldıkları ve kullanmayı planladıkları ürünleri doğrulayabilir ve onaylayabilirler.
- Defensics, güvenli bir koda veya sisteme özel erişime ihtiyaç duymaz.
Örnek Bir Vaka: CyRC Advisory: High-severity vulnerability in TP-Link Archer BE400
Black Duck Cybersecurity Research Center (CyRC), Defensics® Fuzzing ile yaptığı 802.11 protokol testlerinde TP-Link Archer BE400 yönlendiricide yüksek önem dereceli bir zafiyet buldu.
- TP-Link’e ilk bildirim 20 Ağustos 2025 tarihinde yapıldı.
- 19 Kasım 2025 tarihinde çözüm doğrulandı.
- 6 Ocak 2026 tarihinde TP-Link tarafından duyuru yayınlandı.
- Konu Ocak 2026 tarihinde Black Duck tarafından kamuya açıklandı.
Belirli anomali testlerinde cihaz sürekli yeniden başlatmaya başladı. Bu açık, saldırganın tek bir hatalı 802.11 çerçevesi göndererek erişim noktasını tüm istemcilere karşı işlevsiz hale getirmesine olanak tanıyor. Tüm istemci bağlantıları kesiliyor. Devam eden veri iletimleri bozulabiliyor veya kesiliyor. Cihaz yaklaşık 2 dakika boyunca hizmet dışı kalıyor. Saldırı tekrarlanarak kalıcı bir hizmet reddi (DoS) durumu yaratılabiliyor.
Hata, 802.11 çerçeve işleme mantığında NULL pointer dereference kaynaklı. Saldırı kimlik doğrulama gerektirmiyor ve WPA2/WPA3 güvenlik seviyesinden bağımsız çalışıyor.
CVSS skoru 7.1 (yüksek) olan bu sorundan etkilenen sürümler: TP-Link Archer BE400 V1, Firmware 1.1.0 Build 20250710 rel.14914 veya daha eski sürümler.
Çözüm, TP-Link’in yayınladığı en güncel firmware sürümüne yükseltmek gerekiyor.
Basit gibi görünen bu hata, kurumsal ağlarda,
- Erişimde ve kritik iş uygulamalarında hizmet kesintisi (DoS),
- Operasyonel verimlilik kaybı,
- Güvenlik zincirinin zayıflaması (Zafiyet kimlik doğrulama gerektirmediği için, ağ güvenlik duvarı veya WPA2/WPA3 şifreleme bu saldırıyı engelleyemez),
- İtibar ve müşteri güveni kaybı riski,
gibi çeşitli istenmeyen durumlara yol açabilir.
Kullanım Pratiği
Bulanık testin amacı, protokol uygulamalarına bozuk, spesifikasyona aykırı, hatalı, anormal protokol mesajları göndererek protokol uygulamalarını zorlamaktır. Test genellikle ağ bağlantısı üzerinden yapılır, ancak 802.11 WLAN, Bluetooth, ZigBee ve CANbus da mümkündür. Kaynak koduna veya cihaza özel erişime gerek yoktur. Gereken şey, test edilen protokol için çalışan, canlı bir hedef cihazdır. Cihazın/sistemin ne olduğu önemli değildir. Sisteme bir giriş ve desteklenen bir protokol olduğu sürece test edilebilir.
Defensics çok geniş bir (300+) protokol desteğine sahip. Bu protokollerden uygun olanları test paketi sunucusundan indirilir ve test hedefi üzerinde uygulanır.
Defensics testine başlarken, hedef sisteminize uygun ayarları yapılmalıdır. Sonrasında birlikte çalışabilirlik testini çalıştırılır. Her şey hazır olduğunda, test senaryoları için hangi seçeneklere sahip olduğunuzu kontrol edebilirsiniz.
Test Paketlerinin İndirilmesi
Defensics Fuzz Testlerine başlarken ilk yapılacak şeylerden biri, test paketlerini içeren sunucudan (suite browser aracılığı ile), dahil etmek istediğiniz protokollerle ilgili test paketlerinin indirilmesidir. Aşağıdaki ekran kopyasının sol tarafında bununla ilgili açılmış bir pencere görülebilir.

Aşağıdaki ekranda, örnek olarak seçilmiş bir protokol ile ilgili ağ yığını bilgisi görülmektedir.

Ayarlar
Herhangi bir bulanık testin ilk adımı, test paketini hedefe yönlendirmektir. Birçok protokol için bir IP adresi ve bir port numarası belirtmek gerekir. Bu HTTP Sunucu test paketinde, Defensics’e hedefi nerede bulacağını söylemek için bir URI kullanılmalı. Uygulanacak test protokolüne göre bazı konfigürasyon ayarlarını önceden yapmak gerekebilir. Örneğin:
- Hedef sistemin IP adresi and port numarası
- MAC adresi ve diğer ağ ayarları
- şifreleme ayarları
- Auxiliary suite for handling key exchange
- UDP yükü (payload)
- TCP kaynak ve hedefi
Birlikte Çalışırlık (Interoperability)
Bundan sonraki aşamada birlikte çalışabilirliğin test edilmesi gerekir. Birlikte çalışabilirlik görünümü, temel yapılandırma ayarlarının doğru şekilde yapıldığından ve hedef sisteme bağlantının çalıştığından emin olmak için tasarlanmıştır. Test düğmesi, bir veya daha fazla geçerli test senaryosu çalıştırarak ayarları ve bağlantıyı test etmek için bir birlikte çalışabilirlik testi başlatır. Birlikte çalışabilirlik testi, test paketinin ve test edilen sistemin birlikte çalışmadığını gösteriyorsa, temel yapılandırmayı ayarlamanız gerekebilir.

Gelişmiş Yapılandırma Ayarları
Bazı ek özellikleri etkinleştirmek veya testin bazı yönlerini kontrol etmek amacıyla ayrıca bir “Gelişmiş yapılandırmalar” ekranı tasarlanmıştır.

Enstrümantasyon Ve Testlerin Oluşturulması
Defensics testlerinde enstrümantasyon çok önemlidir, çünkü test senaryosunun sonucu, hedefte bir hata olup olmadığı enstrümantasyon tarafından belirlenir. Bunun için birçok seçenek vardır, ancak örneğin HTTP veya IPv4 için “Geçerli durum enstrümantasyonu” başlangıç için yeterlidir. Farklı enstrümantasyon yöntemleri, test edilen sistemi farklı şeyler açısından izler ve bunların çoğu ek yapılandırma gerektirir. Kullanılan enstrümantasyon teknikleri:
- Geçerli durum enstrümantasyonu
- Bağlantı enstrümantasyonu
- Syslog enstrümantasyonu
- SNMP Tuzak enstrümantasyonu
- SNMP Değer enstrümantasyonu
- Harici enstrümantasyon
- Ajan enstrümantasyonu

Defensics’in farklılaştırıcı özelliklerinden biri, her bir testin, test paketi tarafından deterministik olarak oluşturulmasıdır. Yani, testler rastgele oluşturulmuyor. Defensics, test senaryolarını içerdikleri anomali türüne göre gruplandırır; varsayılan olarak 700.000 test içerdiğini görebilirsiniz.

Testlerin Yapılması
Test aşamasında Defensics, seçilen gruplardaki tüm test senaryolarını çalıştırır; hedefe düzgün biçimlendirilmiş mesajlar gönderilir ve geçerli yanıtlar aranır.
Test çalışmasını başlatabilir, durdurabilir ve devam eden test çalışmasının gerçek zamanlı istatistiklerini görebilirsiniz. Test çalışması için kontrol düğmeleri ve günlükleri gerçek zamanlı olarak görüntülemek için bir düğme bulunur.


Düzeltme (Remediation) Paketi
Yapılan testlerin sonucu, test çalıştırma günlükleri, test paketi ayarları bir “Düzeltme (Remediation) Paketi”nde toplanarak raporlanabilir. Böylece, bir test mühendisi, bulunan sorunları yeniden üretmek isteyen herkese dağıtabilir. Bulunan sorunları yeniden üretebilmek son derece önemlidir. Genellikle, bulunan sorunları düzelten kişiler, ilk test çalıştırmalarını yapan kişilerden farklıdır. Test mühendisleri Defensics ile testler çalıştırıp hatalar bulduklarında, bulunan sorunları nasıl yeniden üretecekleri konusunda bir sonraki kişiye tüm ayrıntıları verebilmelidirler.
Bu yöntem, bulunan hataların yeniden çalıştırılmasını çok daha kolay hale getirir ve geliştirici artık sorunu kendi ortamında gözlemleyebilir ve sorunu çözmek için çalışmaya başlayabilir.

Kaynaklar:
- Defensics Fuzz Testing Tools & Services | Black Duck
- Defensics Fuzz Testing Broşürü
- [White Paper] What Is Fuzzing? | Black Duck
- TP-Link Archer BE400 CVE-2025-14631 Vulnerability | Black Duck Blog
Konu hakkında daha fazla bilgi almak için Focerta ile iletişim kurabilirsiniz.
Forcerta Bilgi Teknolojileri A.Ş ISO/IEC 27001:2022 standardının gereklerine uygunluğu açısından belgelendirilmiştir.