DAST (Dinamik Uygulama Güvenlik Testi) Nedir?
Dinamik uygulama güvenlik testi veya DAST, bir uygulamanın çalışırken güvenliğini kontrol etmenin bir yoludur. Kaynak kodunu inceleyen SAST’ın aksine, DAST güvenliği canlı bir ortamda SQL Enjeksiyonu ve Siteler Arası Komut Dosyası Çalıştırma gibi gerçek saldırıları simüle ederek test eder.
DAST genellikle Kara Kutu Testi olarak adlandırılır çünkü dışarıdan bir güvenlik testi yürütür.
Siber Güvenlikte DAST Neden Önemlidir
Bazı güvenlik sorunları yalnızca canlıyken ortaya çıkar, özellikle çalışma zamanı, davranış veya kullanıcı doğrulaması ile ilgili olanlar. DAST, kuruluşların:
- SAST aracı tarafından kaçırılan güvenlik sorunlarını keşfetmelerine yardımcı olur.
- Uygulamayı gerçek dünya koşullarında, ön yüz ve API dahil olmak üzere değerlendirmelerine olanak tanır.
- Web uygulama saldırılarına karşı uygulama güvenliğini güçlendirir.
DAST Nasıl Çalışır
- Uygulamayı test veya hazırlık ortamında çalıştırın.
- Kötü niyetli veya beklenmedik girdiler gönderin (özel URL’ler veya yükler gibi)
- Güvenlik açıklarını tespit etmek için uygulama yanıtını analiz edin.
- İyileştirme önerileri içeren raporlar üretin (Plexicus’ta, daha da iyisi, iyileştirmeyi otomatikleştirir)
DAST Tarafından Tespit Edilen Yaygın Güvenlik Açıkları
- SQL Enjeksiyonu: saldırganlar, veritabanı sorgularına kötü amaçlı SQL kodu ekler
- Siteler Arası Komut Dosyası Çalıştırma (XSS): kötü amaçlı komut dosyaları, kullanıcıların tarayıcılarında çalışacak şekilde web sitelerine enjekte edilir.
- Güvensiz sunucu yapılandırmaları
- Bozuk kimlik doğrulama veya oturum yönetimi
- Hata mesajlarında hassas verilerin açığa çıkması
DAST’ın Faydaları
- SAST araçlarının kaçırdığı güvenlik açıklarını kapsar
- Gerçek dünya saldırılarını simüle eder.
- Kaynak koda erişim olmadan çalışır
- PCI DSS, HIPAA ve diğer çerçeveler gibi uyumlulukları destekler.
Örnek
Bir DAST taramasında, araç, kullanıcıların yazdıklarını düzgün bir şekilde kontrol etmeyen bir giriş formunda bir güvenlik sorunu bulur. Araç, özel olarak tasarlanmış bir SQL komutu girdiğinde, web sitesinin SQL enjeksiyonu yoluyla saldırıya uğrayabileceğini gösterir. Bu keşif, geliştiricilerin uygulama üretime geçmeden önce güvenlik açığını düzeltmelerini sağlar.