← Listeye dön

SAST vs DAST vs IAST: Üç kardeşin tamamlayıcıları için güvenlik testi, alt kurumlar değil

itadol5j

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.

Üç güvenlik testinin uygulanmasına genel bakış

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.

Veri akışını izleyin ve içeriden yığını arayın

Beş, birine karşı üç.

ÖlçülerSASTDASTIAST
Test ObjectKaynak/baytlar ( çalışmıyor)Aktif hedef (external)Operasyonel uygulamalar (internal plugs)
PerspektifBeyaz KutuBlack BoxGrey Box
Müdahale ZamanıEncoding/submission aşaması en erkenDağıtımdan sonraTest/Run-time
Gerekli kaynak koduEvet.İhtiyaç yok.)
Misreported LevelYüksek Yüksek Yüksek Yüksek YüksekLow Low Low LowAşağı Aşağı
Hassas PozisyonDosya /URL/ InterfaceCall Inn/Data Stream
Overwrite DependenceSınırlı (Kaynak kodu kısmı)Override maruz kalırkenSınırlı:
Tipik sahneCI Code Door BanOnline 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.

Statik, dinamik, etkileşimli testler kapalı bir çember 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.