Örnek sorular
As Secure Sdlc Sast DastZorluk 1
Bir SAST (Static Application Security Testing) aracı, açıkları bulmak için neyi analiz eder?
- aUygulama production'da çalışırken yakalanan ağ trafiğini
- bDeploy edilmiş bir uygulama birkaç gündür çalıştıktan sonra üretilen log dosyalarını
- cBir güvenlik olayından sonra açılan kullanıcı bug ticket'larını
- dUygulamanın kaynak kodunu, bytecode'unu ya da binary'sini, programı çalıştırmadan✓
Açıklama:SAST araçları kaynak kodu, bytecode ya da binary'yi doğrudan parse eder ve uygulamayı hiç çalıştırmadan kontrol akışı ile veri akışı üzerinden akıl yürütür; bu yüzden kod deploy edilebilir bir artefakta derlenmeden önce bile uygulanabilir.
As Secure Sdlc Sast DastZorluk 1
Bir DAST (Dynamic Application Security Testing) aracının bir uygulamayı test edebilmesi için neye ihtiyacı vardır?
- aUygulamanın kaynak kod deposuna tam okuma erişimine, çünkü DAST'ın SAST'ın arayacağı aynı kalıpları kaynak dosyalarında statik olarak analiz ettiği varsayılır
- bİstek gönderip yanıtları gözlemleyebileceği, çalışan bir uygulama örneğine✓
- cDebug sembolleri çıkarılmış derlenmiş binary'nin bir kopyasına
- dProjeye kod commit etmiş her geliştiricinin listesine
Açıklama:DAST kara-kutu bir saldırgan gibi çalışır: hazırlanmış HTTP istekleri gönderip gerçek yanıtları, header'ları ve davranışı inceleyebilmesi için deploy edilmiş, çalışan bir uygulamaya (genellikle staging ortamında) ihtiyaç duyar. Kaynak kodu hiç okumaz.
As Secure Sdlc Sast DastZorluk 2
Bir ekip, sanitize edilmemiş SQL sorgu birleştirme hatasını mümkün olduğunca erken, ideal olarak bir geliştirici kodu henüz yazarken ve commit etmeden yakalamak istiyor. Bu hedefe en uygun test yaklaşımı hangisidir?
- aStaging ortamına karşı her gece çalışan DAST, bu da geri bildirim üretilmeden önce özelliğin yine de deploy edilip çalışıyor olmasını gerektirir
- bIDE içine entegre edilmiş veya her pull request'te çalışan SAST✓
- cProduction sürümünden hemen önce çalıştırılan yük testi
- dÜç ayda bir yapılan manuel penetrasyon testi
Açıklama:SAST kaynak kodu doğrudan okur, bu yüzden bir IDE eklentisi içinde ya da pre-commit/PR kontrolü olarak çalışabilir ve kod daha merge edilmeden önce geri bildirim verir. DAST, penetrasyon testi ve yük testi ise çalışan, genellikle daha geç aşamalı bir deployment gerektirir.
As Secure Sdlc Sast DastZorluk 2
SAST araçlarıyla en sık ilişkilendirilen sınırlama hangisidir?
- aUygulama production'a deploy edilene kadar çalıştırılamazlar, çünkü aracın, tıpkı bir DAST tarayıcısı gibi, inceleyecek canlı bir HTTP endpoint'ine ihtiyaç duyduğu varsayılır
- bYalnızca derlenen dillerdeki açıkları tespit edebilirler, yorumlanan dillerde asla edemezler
- cTam runtime bağlamından yoksun oldukları için önemli miktarda false positive üretme eğilimindedirler✓
- dHerhangi bir bulgu üretebilmeleri için uygulamanın aktif saldırı altında olması gerekir
Açıklama:SAST kod yollarını statik olarak, gerçek runtime değerlerini, konfigürasyonu ya da bileşenlerin fiilen nasıl bağlandığını bilmeden akıl yürüttüğü için, riskli görünen ama pratikte istismar edilemeyen kalıpları işaretleyebilir; bu da triyaj gerektiren false positive'lere yol açar.
As Secure Sdlc Sast DastZorluk 2
DAST araçlarıyla en sık ilişkilendirilen sınırlama hangisidir?
- aSadece tarama sırasında gönderdiği isteklerle fiilen tetiklenen kod yollarındaki sorunları bulabilirler✓
- bOtomatikleştirilemezler ve her zaman bir insan test uzmanı tarafından manuel olarak çalıştırılmalıdırlar, çünkü bir HTTP yanıtını gerçek bir açık için yorumlamanın, hiçbir script'lenmiş crawler'ın taklit edemeyeceği insan yargısı gerektirdiği varsayılır
- cHer bağımlılığın tam kaynak kodunun önceden sağlanmasını gerektirirler
- dYalnızca C gibi bellek-güvenli olmayan dillerde yazılmış uygulamalara karşı çalışabilirler
Açıklama:DAST istek gönderen bir dış saldırgan gibi davranır, bu yüzden hiç ulaşmadığı herhangi bir kod yolu, endpoint ya da özellik (ör. olağan dışı bir auth akışının arkası, nadiren kullanılan bir admin formu) test edilmeden kalır. Kapsam tamamen taramanın neyi tarayacağına ya da neye vurmak üzere yapılandırıldığına bağlıdır.
As Secure Sdlc Sast DastZorluk 3
IAST (Interactive Application Security Testing) araçları genellikle SAST ve DAST'ın yönlerini birleştiren araçlar olarak tanımlanır. Bu hibrit yaklaşımın temel fikri nedir?
- aIAST otomatik taramayı tamamen geliştiricilerin manuel doldurduğu bir kontrol listesiyle değiştirir
- bIAST yalnızca ağ çevresini tarar ve hiçbir zaman çalışan uygulama sürecinin içine bakmaz
- cIAST sadece DAST'ın yeniden adlandırılmış halidir, ikisi arasında gerçek bir teknik fark yoktur
- dIAST çalışan uygulamayı bir ajan ile enstrümante eder, böylece fonksiyonel ya da DAST-tarzı testler uygulamayı tetiklerken gerçek kod yürütmesini gözlemler✓
Açıklama:IAST, çalışan uygulamanın içine bir enstrümantasyon ajanı yerleştirir (SAST'ın kodu anlaması gibi) ve ardından uygulama fonksiyonel testler ya da DAST trafiğiyle tetiklenirken fiilen ne çalıştığını gözlemler; bu, kod düzeyinde görünürlüğü gerçek runtime davranışıyla birleştirir.