SAST vs DAST vs IAST: Üç kardeşin tamamlayıcıları için güvenlik testi, alt kurumlar değil
Uygulama güvenlik testlerinde en yaygın üç kısaltma SAST, DAST, IAST. Birçok insanın ilk tepkisi “en güçlü biri” idi, ancak hipoktik bir öneriydi - üç kardeş aynı konuyu farklı perspektiflerden görüyordu. Seçim daha ileri kim olduğuna bağlı değildir, ancak yazılım yaşam döngüsünde olduğunuz aşamaya bağlı olarak, ne tür bir döngü bulmak istediğiniz ve ne kadar bekleyebileceğinize bağlıdır.
I. DEFINITIONS ON THE İLK REFERENCE
- SAST (statik uygulama güvenlik testi)Diğer OrganiserProgramı çalıştırmayınAncak tarama kaynağı kodu/bay kodu, Beyaz Kutuya ait bir döngü de bulur.
- DASTDiğer OrganiserKoşu programıDış fırlatma talepleri, simülasyonlu saldırılar “kara kutular” ve kaynak kodu gerekli değildir.
- IAST ( Interaktif Uygulama Güvenliği Test)Diğer OrganiserRun programı içeridenPlug-in (agent), akış ve kod bağlamı ile birlikte, Grey Box'a aittir.
Bu üçünü anlamanın anahtarı, her birinin farklı soruları cevap vermesidir: SAST sorar, “ kodda bir hata nerede olabilir?” DAST soruyor, “Aslında ne zaman koşuyoruz?” IAST soruyor, “Bu operasyonda, hangi veriler gerçekten tehlike noktasına akar.”
SAST: Problemi kod yazım aşamasında düzenler
SAST doğrudan kaynak kodunu analiz eder (veya orta ürünleri derler) ve programı yürütmez. Avantaj, erken bir aşamada sorunları tespit edebilir veya hatta kod gönderildiğinde, belirli belgeleri ve satır numaraları bulmak, düşük onarım maliyetleri ile. Bu, "kolayları temizlenebilir" ve çalışan zamana bağlı değildir.
Shortboard: Hata oranı genellikle yüksektir, çünkü belirli bir kod sayısı gerçek iş içinde tetiklenecektir; yalnızca çalışan sorunlar (örneğin, yapılandırma hataları, güvenlik atlamaları, gerçek çağrı zinciri tam olarak görülmez; kaynak kodu gereklidir ve üçüncü taraf kapalı kaynak bileşeni işlevsel değildir.
Tipik senaryo: CI akış hattı kod gönderme kapıları görünür enjeksiyon, sert kodlama anahtarı önlemek için kapalıdır, tehlike fonksiyonu arka kemiğine çağrır.
DAST: "Gerçekten çalışıyor mu?"
DAST, dışarıdan gelen istekleri göndermek için hedef kullanıyor, saldırı ücretleri inşa ediyor ve yanıt gözlemliyor. En büyük değeri...Gerçek bir saldırıya yakın.- “gerçek erişim” sorunu, nispeten düşük sınır dışı edildi. Hiçbir kaynak kodu gerekli değildir, bu nedenle üçüncü taraf bileşenler, konfigürasyon tabakaları da kapılabilir.
ShortboardGenellikle geç algılamanın tespitinin ve onarımın maliyetinin yüksek olduğu dağıtıma kadar; kapsama giriş gerektiren senaryolar ve test rotaları, önceden belirlenmiş olmayan işlevsel noktaların tespiti olmadan; kaynak kodunu tam olarak bulmak zordur ve rapor etmek genellikle sadece “işlevsel” olarak bilinir; ve yapılandırma maliyetleri, giriş gerektiren senaryolar için yüksektir.
Tipik senaryo: online gitmeden önce güvenlik tespiti, kullanılan ortamların periyodik tarama.
IV. IAST: Run-time fişs, gerçek veri akışlarıyla dengeleme bağlamı
IAST ayrıca uygulamada anten implante ederek programı çalıştırırken kod yürütme ve dış akış gözlemliyor. İsteklerin nasıl geldiğini ve verilerin koda nasıl attığını görebilirsiniz, böylece verilebilir.Inn'ın tam kanıtlarını alın.Genellikle SAST'den daha düşük ve doğru.
ShortboardHedef ortamda probları dağıtabilmeli (prodüktör ortamı hakkında endişeler için), kod uygulanmadan önce bulunan test kapsamına güvenmek, bu genellikle fonksiyonel / otomatik testlere bağlıdır; dil ve çerçeve desteğinde farklılıklar; ve bazı performans maliyetleri.
Tipik senaryo: test ortamında otomatik testlerle birlikte koşmak, hem işlevselliği doğrulamak hem de çıktı güvenliği sonuçları senkronize etmek.
Beş, birine karşı üç.
| Ölçüler | SAST | DAST | IAST |
|---|---|---|---|
| Test Object | Kaynak/baytlar ( çalışmıyor) | Aktif hedef (external) | Operasyonel uygulamalar (internal plugs) |
| Perspektif | Beyaz Kutu | Black Box | Grey Box |
| Müdahale Zamanı | Encoding/submission aşaması en erken | Dağıtımdan sonra | Test/Run-time |
| Gerekli kaynak kodu | Evet. | İhtiyaç yok. | ) |
| Misreported Level | Yüksek Yüksek Yüksek Yüksek Yüksek | Low Low Low Low | Aşağı Aşağı |
| Hassas Pozisyon | Dosya / | URL/ Interface | Call Inn/Data Stream |
| Overwrite Dependence | Sınırlı (Kaynak kodu kısmı) | Override maruz kalırken | Sınırlı: |
| Tipik sahne | CI Code Door Ban | Online gitmeden önce kontrol ve kabul edin. | Otomatik test testi ile birlikte |
VI. Neden alttan ziyade tamamlayıcılık
Eğer üçünü birlikte koyarsanız, kör bölgeleri tamamlayıcı olarak bulurlar:
- SAST kodu görür, ancak tetiklenecek olup olmadığını bilmiyor; DAST, problemin hangi çizgide tetiklenebileceğini biliyor; IAST her ikisinde de, ancak uygulanacak kodu gerektirir.
- SAST erken, geniş ve yüksek sesle kapsar; DAST küçük gürültüye sahiptir, ancak geç müdahaleye, dar kapsamaya sahiptir; ve IAST yüksek doğruluka sahiptir, ancak yeterince iyi çalıştırılabilir.
- Sadece SAST'ye gidin, “bir parça kırmızı kaset” yorgunluk için kırılgandır; DAST'ye gidin, döngü deliği genellikle çizgide açığa çıkar; IAST'ye gidin, hangi yere ulaşılmayan yol kördür.
Gerçekliğe cevap bir ya da iki değil, bir aşama-by- aşama yaklaşımı: SAST'nın açık bir şekilde kötü tadı ve tehlike, IAST'nin test aşaması, otomasyon ile birlikte doğru bir şekilde doğrulanması ve aggressor'un perspektifinden dış kabul edilmesi için DAST'nin erken kullanımı. Üç süperstisyon, önemli boşluklar olmadan kapalı döngü oluşturur.
VII. PRACTICAL ISSUES ON LANDING
1. Onunla kiminle ilgilenen
Ya şekilde, kimse raporu düzeltmez, kimse yapmaz. Açık bir triage süreci var: kim görür, ne kadar yakın, " riski kabul etmek" nasıl. Özellikle, SAST'nin temel yönetime ihtiyacı var, aksi takdirde tarihin mirası yeni sorunlar doğuracaktır.
Coverage, araç markalarından daha önemlidir
IAST'nin keşfetme yeteneği doğrudan test tarafından kaç kod kaplıdır; DAST, birçok arayüzün reptiles tarafından nasıl ulaşıldığına bağlıdır. Daha pahalı bir aracı değiştirmekten önce online olarak “eşit oranı” ölçmek daha anlamlıdır.
3. Güvenlik testlerini tek taraflı testler olarak tedavi etmeyin Take it.
Güvenlik testleri, online gitmeden önce merkezileştirilmiş olan sürekli bir R & D sürecinde yer almalıdır. CI SAST çalışır, test ortamı IAST, düzenli olarak üretim için DAST yapar, bu yüzden yangını kurtarmak için insan eti güvenmek zorunda değildir.
4. Araçlar arasında sinerjiklere odaklanın
İdeal devlet şu ki, üç tür sonuç aynı görüşe karışabilir: aynı döngü deliği, SAST kod yeri verir, IAST veri akışı kanıt verir ve DAST kullanılabilirliği doğrulamaktadır. Üç savaş gemisi adasından çok daha değerli.
VIII. Kararların listesi
- Evet.Submission fazıSadece SAST'deki açık döngü deliğinden uzak durun, kapı kapanışlarına ve temellere odaklanın.
- doğrulamak içinDesteklenen sistem gerçekten saldırabilecek mi? • DAST ile, kapsama ve giriş konfigürasyonuna odaklanır.
- Güvenlik sonuçları almak için.Otomatik test testi ile ÇıktıVe tam olarak IAST'de bulun.
- Sınırlı kaynaklar sadece bir alt çizgi kurmak için SAST için ilk öncelik olarak kullanılabilir ve sonra yavaş IAEA/DAST'yi tamamlamak için kullanılabilir.
- Bir "bir boyutlu-fits-all, kalıcı çözüm" arayışı mevcut değildir, ancak organize etme ve süreç yolu cevaptır.
SAST mümkündür, DAST pratiktir, IAST özeldir - birlikte tam bir resimdir.