5465 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / roadmap.md MD
# Araştırma ve Geliştirme Yol Haritası (Roadmap)

> [!NOTE]
> Bu doküman, araştırma projesinin yazılım geliştirme (fuzzer, patch, simülasyon betikleri) tarafına yönelik çalışma maddelerini listelemektedir.

## Faz 1: Laboratuvar ve Çevre Kurulumu
- [ ] **Docker Topolojisinin İnşası:** Victim (Nginx), Attacker (Fuzzer) ve Monitor node'ları için Dockerfile ve docker-compose konfigürasyonlarının hazırlanması.
- [ ] **Ağ Segmentasyonu:** Dışa kapalı (air-gapped) bir bridge ağın kurulması.
- [ ] **Nginx Kaynak Kodu Hazırlığı:** Nginx kaynak kodunun indirilmesi ve HTTP/3 desteğiyle ASAN/UBSAN (`-fsanitize=address,undefined`) kullanılarak derlenmesi.
- [ ] **Gözlem Araçlarının Kurulumu:** tcpdump ve Valgrind ortamlarının hazırlanması.

## Faz 2: Güvenli Fuzzer Geliştirme
- [ ] **Packet Corpus Oluşturma:** Wireshark veya mevcut araçlarla geçerli QUIC Initial, Handshake paketlerinin (seed corpus) elde edilmesi.
- [ ] **LibFuzzer Harness Geliştirme:** Nginx'in `ngx_quic_parse_packet` fonksiyonunu izole şekilde test edecek in-memory C/C++ harness kodunun yazılması.
- [ ] **AFL++ Entegrasyonu:** (Opsiyonel) Nginx'in ağ üzerinden beslenerek blackbox/greybox tarzında fuzz edilmesi için wrapper yazımı.
- [ ] **Fuzzing Kampanyası:** Fuzzer'ların başlatılması ve malformed (özellikle hatalı CID uzunluklu) paketlerin hedefe basılması.

## Faz 3: Kontrollü Simülasyon ve Crash Triage
- [ ] **Crash Triage:** Fuzzer tarafından bulunan ASAN crash loglarının incelenerek heap-buffer-overflow zafiyetinin tespit edilmesi.
- [ ] **Reproducer Script Geliştirme:** Python ve Scapy kullanılarak zafiyeti ağ üzerinden stabil şekilde tetikleyen minimalist bir "crash reproducer" betiği yazılması.
- [ ] **Hafıza Analizi (Memory Diagnostics):** GDB ve ASAN çıktıları ile taşan buffer'ın ve ezilen (corrupted) heap alanlarının haritalanması.

## Faz 4: Savunma Yaması Geliştirme
- [ ] **Güvenli Parsing Yaması (Patch):** Nginx `ngx_event_quic.c` dosyasına `dcid_len` için katı bounds checking eklenmesi.
- [ ] **Yamanın Entegrasyonu:** Değiştirilen kaynak kodun tekrar derlenmesi.

## Faz 5: Mitigasyon Doğrulama (Validation)
- [ ] **Regression Testing:** Fuzzer'ın bulduğu tüm crash payload'larının yamalı sisteme gönderilmesi ve Nginx'in stabil kaldığının (crash olmadığının) teyit edilmesi.
- [ ] **Performans Testleri:** Eklenen bounds-check kontrollerinin Nginx'in paket işleme kapasitesine (RPS) negatif etkisi olup olmadığının ölçülmesi.

## Faz 6: Akademik Çıktılar
- [ ] **Metriklerin Toplanması:** Fuzzing coverage verileri ve performans test sonuçlarının derlenmesi.
- [ ] **Raporun Yazılması:** Metodolojinin, yamanın ve simülasyon çıktılarının akademik bir doküman haline getirilmesi.