IAST (Etkileşimli Uygulama Güvenlik Testi) Nedir?
Etkileşimli Uygulama Güvenlik Testi (IAST), uygulama güvenlik açıklarını daha etkili bir şekilde bulmak için Statik Uygulama Güvenlik Testi (SAST) ve Dinamik Uygulama Güvenlik Testi (DAST) yöntemlerini birleştiren bir yöntemdir.
IAST özellikleri şunları içerir:
- IAST araçları, uygulama çalışırken içine sensörler veya izleme bileşenleri ekleyerek çalışır. Bu araçlar, testler otomatik veya insanlar tarafından yapılıyor olsun, uygulamanın test sırasında nasıl davrandığını izler. Bu yaklaşım, IAST’nin kod yürütmesini, kullanıcı girdilerini ve uygulamanın verileri nasıl işlediğini gerçek zamanlı olarak kontrol etmesine olanak tanır.
- IAST, tüm kod tabanını otomatik olarak taramaz; kapsamı, testler sırasında uygulamanın ne kadar geniş bir şekilde kullanıldığına bağlıdır. Test etkinliği ne kadar kapsamlı olursa, güvenlik açığı kapsamı o kadar derin olur.
- IAST genellikle otomatik veya manuel fonksiyonel testlerin yapıldığı QA veya hazırlık ortamlarında kullanılır.
Siber Güvenlikte IAST’nin Önemi
SAST, uygulamayı çalıştırmadan kaynak kodu, bayt kodu veya ikili dosyaları analiz eder ve kodlama hatalarını ortaya çıkarmada oldukça etkilidir, ancak yanlış pozitifler üretebilir ve çalışma zamanı ile ilgili özel sorunları kaçırabilir.
DAST, uygulamaları çalışırken dışarıdan test eder ve yalnızca çalışma zamanında ortaya çıkan sorunları ortaya çıkarabilir, ancak iç mantık veya kod yapısına derinlemesine görünürlük sağlamaz. IAST, bu tekniklerin güçlü yönlerini birleştirerek aradaki boşluğu doldurur ve şunları sağlar:
- Güvenlik açığı kaynakları ve yolları hakkında daha derinlemesine bilgiler.
- Yalnızca SAST veya DAST’a kıyasla geliştirilmiş tespit doğruluğu.
- Çalışma zamanı etkinliğini kod analiziyle ilişkilendirerek yanlış pozitiflerin azaltılması.
IAST Nasıl Çalışır
- Enstrümantasyon: IAST, enstrümantasyon kullanır, yani sensörler veya izleme kodu, uygulamaya (genellikle bir QA veya hazırlık ortamında) gömülerek test sırasında davranışını gözlemler.
- İzleme: Uygulama testler veya manuel işlemlerle çalıştırıldığında veri akışını, kullanıcı girişini ve kod davranışını gerçek zamanlı olarak izler.
- Tespit: Güvensiz yapılandırma, temizlenmemiş veri akışları veya enjeksiyon riskleri gibi güvenlik açıklarını işaretler.
- Raporlama: Tespit edilen sorunları ele almak için geliştiricilere uygulanabilir bulgular ve iyileştirme rehberliği sağlanır.
Örnek
Fonksiyonel testler sırasında, QA ekibi giriş formu ile etkileşime girer. IAST aracı, kullanıcı girdisinin temizlenmeden bir veritabanı sorgusuna aktığını tespit eder, bu da potansiyel bir SQL enjeksiyonu riski olduğunu gösterir. Ekip, bir güvenlik açığı raporu ve güvenlik sorunlarını düzeltmek için uygulanabilir adımlar alır.