Hatta güvenlik testleri: birim, entegrasyon ve fuzzing
Güvenlik gereksinimlerini otomatik testlere dönüştürür, yetkilendirme ve girdi hatalarını testle yakalar, fuzzing ile beklenmedik girdide çöken kodu bulursun.
Seviye 301 · 15 ders · 12 pratik lab
Dersler
Güvenlik testleri
- Güvenlik birim testleri: kötü girdiyle test
- Yetkilendirme matrisi testleri
- Entegrasyon testlerinde güvenlik başlıkları ve çerezler
- Her açıktan bir regresyon testi
- Kısa görev: dört rol ve on uç için yetki testleri yaz
Fuzzing
- Fuzzing nedir: kapsama rehberli rastgele girdi
- Python’da atheris ile fuzzing
- Go’nun yerleşik fuzzing desteği
- Tohum girdiler, çökme ve küçültme
- Kısa görev: bir ayrıştırıcıyı fuzzla ve çökmeyi düzelt
Hatta yerleştirmek
- hypothesis ile özellik tabanlı testler
- CI’da kısa fuzzing, gece uzun koşular
- Güvenlik testi kapsamını izlemek
- Kısa görev: gece çalışan bir fuzzing işi kur
Bitirme
- Bitirme görevi: bir ödeme modülü için güvenlik test paketi
Pratik lablar
- Kötü girdiyle bir güvenlik birim testi yaz: Aşırı uzun ve özel karakterli girdinin doğrulama işlevince reddedildiğini sınayan iki test yaz.
- Dört rol ve on uç için yetki matrisi testleri yaz: Matrisi veri olarak tanımla, parametreli testle her hücreyi sına ve beklenmeyen izni yakala.
- Entegrasyon testlerinde başlık ve çerezleri doğrula, açığa regresyon testi ekle: Her yanıtta güvenlik başlıklarını ve çerez bayraklarını sınayan testi yaz, daha önce düzeltilmiş bir açık için düzeltme geri alınınca kırılan regresyon testi ekle.
- Hazır bir fuzzing hedefini çalıştır ve çıktıyı oku: atheris hedefini bir dakika çalıştır ve kapsama ile deneme sayısındaki artışı not et.
- Bir ayrıştırıcıyı fuzz et ve çökmeyi düzelt: Tohum girdilerle fuzzing başlat, çökmeye yol açan girdiyi küçült, kusuru düzelt ve girdiyi regresyon testi yap.
- Go’nun yerleşik fuzzing desteğiyle bir çözümleyiciyi sına: Fuzz işlevini ve tohum girdileri yaz, bulunan paniği yeniden üret, düzelt ve bozuk girdiyi test verisine ekle.
- Bir işlevin değişmez özelliğini tanımla: Kodlama ve çözme işlev çifti için her girdide doğru kalması gereken özelliği cümleyle yaz ve tek örnekle sına.
- hypothesis ile özellik tabanlı test yaz: Tutar yuvarlama işlevinin hiçbir girdide negatif ya da sınır üstü sonuç vermediğini sınayan testi yaz ve bulunan karşı örneği düzelt.
- Güvenlik testi kapsamını ölç ve eksik alanı kapat: Yetki ve doğrulama koduna ait kapsamı ayrı raporla, sınanmayan dalı bul ve onu kapsayan özellik testini ekle.
- CI’da kısa fuzzing çalıştırmasının süresini ayarla: Hat adımının fuzzing’i iki dakikayla sınırlamasını ve çökme olursa başarısız bitmesini sağla.
- Gece çalışan bir fuzzing işi kur: Zamanlanmış işi yaz, tohum girdileri önbellekte sakla ve bulunan çökmeleri yapıt olarak yayımla.
- Ödeme modülü için güvenlik test paketini tamamla: Birim, yetki matrisi, özellik ve fuzzing testlerini bir pakette topla, CI’da kısa ve gece uzun çalışacak şekilde ayır ve kapsamı raporla.
Kurs hakkında
Güvenlik gereksinimlerini otomatik testlere dönüştürür, yetkilendirme ve girdi hatalarını testle yakalar, fuzzing ile beklenmedik girdide çöken kodu bulursun.
Ne öğreneceksin
- Güvenlik testleri
- Fuzzing
- Hatta yerleştirmek
- Bitirme
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.