Python ile tespit mühendisliği: Sigma ve YARA
Sigma benzeri kuralları çalıştıran küçük bir motor yazar, yara-python ile dosya taramayı otomatikleştirir ve tespitlerini testlerle güvenceye alırsın.
Seviye 301 · 16 ders · 15 pratik lab
Dersler
Kural olarak tespit
- Tespitin yaşam döngüsü: fikir, kural, test, bakım
- Sigma kural biçimini okumak
- YAML kuralları çalıştıran küçük bir motor yazmak
- Alan eşleme: kuralı farklı günlüklere uyarlamak
- Kısa görev: şüpheli PowerShell komutu için kural yaz ve çalıştır
YARA ile dosya tespiti
- YARA kuralı: dizgiler, koşullar, modüller
- yara-python ile klasör ve süreç belleği taramak
- Hızlı ve az yanlış alarmlı YARA kuralları
- Kısa görev: bir zararlı ailesinin örneklerini tek kuralla yakala
Tespitleri sınamak
- İyi ve kötü örneklerden test verisi kurmak
- Her kural için birim testi
- MITRE ATT&CK ile kapsama haritası çıkarmak
- Kuralları her değişiklikte otomatik doğrulamak
- Kısa görev: gürültülü bir kuralı testleri bozmadan düzelt
Kapanış
- Uyarıyı SIEM’in anladığı biçimde üretmek
- Bitirme görevi: test edilmiş bir tespit kuralı paketi yayınla
Pratik lablar
- Kodlanmış PowerShell komutu kuralı: Kodlanmış komutla başlatılan PowerShell süreçlerini yakalayan bir Sigma kuralı yaz ve küçük motorunla verilen örnek olaylarda doğru satırları işaretlediğini göster.
- Aynı kural, iki farklı günlük: Bir Sigma kuralını alan eşleme tablosuyla hem Sysmon hem Linux auditd kayıtlarında çalıştır ve iki kaynakta da beklenen olayı bulduğunu göster.
- Kural motoru niteleyicileri anlamıyor: contains, startswith ve all niteleyicilerini yok sayan kural motorunu düzelt ve önceden hatalı sonuç veren üç kuralın artık doğru eşleştiğini testlerle göster.
- Bir aileye tek kural: Verilen eğitim örneği ailesindeki ortak dizgileri bulup hepsini yakalayan ve temiz dosyalara dokunmayan tek bir YARA kuralı yaz.
- Klasör taraması raporu: yara-python ile Kuzey Lojistik dosya sunucusu kopyasını tarayan, eşleşen kuralı, dosya yolunu ve SHA-256 özetini JSON olarak raporlayan bir betik yaz.
- Yavaş ve gürültülü YARA kuralı: Geniş düzenli ifadeleri ve kısa dizgileri yüzünden hem yavaş hem yanlış alarmlı çalışan kuralı yeniden yaz, tarama süresini ölç ve temiz örneklerde sıfır eşleşme göster.
- Her kurala bir test: Kural paketindeki her kural için bir iyi ve bir kötü örnek içeren pytest testleri yaz ve testsiz kural kalmadığını gösteren bir kontrol ekle.
- Gürültülü kuralı testleri bozmadan düzelt: Yönetim betikleri yüzünden günde yüzlerce alarm veren kuralı daralt, mevcut testlerin hepsinin geçmeye devam ettiğini ve gürültünün azaldığını ölçerek göster.
- Bozuk kural yayına çıkmasın: Kural deposundaki her değişiklikte sözdizimi, zorunlu alanlar ve testleri çalıştıran bir doğrulama betiği yaz ve bilerek bozulmuş kuralın reddedildiğini göster.
- ATT&CK kapsama tablosu: Kural paketindeki etiketlerden MITRE ATT&CK tekniklerine göre kapsama tablosu üreten bir betik yaz ve hiç kural olmayan taktikleri listele.
- SIEM’in anlamadığı uyarılar: Kural motorunun ürettiği uyarıları verilen ortak olay şemasına dönüştür ve örnek SIEM içe aktarma betiğinin hatasız kabul ettiğini göster.
- Test edilmiş kural paketi yayınla: Copperleaf Insurance için beş Sigma ve iki YARA kuralından oluşan, her kuralı test edilmiş, sürüm numaralı ve değişiklik notlu bir paket hazırla ve doğrulama betiğinden geçir.
- Kurala iyi ve kötü örnek seti hazırla: Ham günlük dosyasından şüpheli komut satırı kuralı için beş eşleşmesi gereken ve beş eşleşmemesi gereken olayı seç, etiketli bir test dosyasına yaz ve kuralın onunu da doğru sınıfladığını göster.
- Kural küçük değişikliklerde kaçırıyor mu?: Kötü örneklerin büyük-küçük harf, parametre sırası ve fazladan boşluk içeren çeşitlemelerini üreten bir betik yaz, kural paketini bunlarla sına ve hangi kuralın hangi çeşitlemeyi kaçırdığını tabloyla ver.
- Sıradan bir haftada kaç uyarı çıkar?: Yelkovan Bankası’nın bir haftalık temiz lab günlüklerini kural paketinden geçirip her kuralın günlük uyarı sayısını ölç, eşiği aşan gürültülü kuralları sırala ve yeni kuralın yayına girmeden bu ölçümden geçmesini zorunlu kılan bir denetim ekle.
Kurs hakkında
Sigma benzeri kuralları çalıştıran küçük bir motor yazar, yara-python ile dosya taramayı otomatikleştirir ve tespitlerini testlerle güvenceye alırsın.
Ne öğreneceksin
- Kural olarak tespit
- YARA ile dosya tespiti
- Tespitleri sınamak
- Kapanış
Ö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.