Schema-Based Testing
¶
Wallarm'ın Schema-Based Testing özelliği, uygulamalarınızı ve API'lerinizi dinamik güvenlik testlerine tabi tutarak, kapsamlı ve otomatik testler aracılığıyla hem OWASP Top 10 hem de OWASP API Security Top 10’da yer alanlar dahil geniş bir yelpazedeki güvenlik açıklarını tespit etmek üzere tasarlanmıştır.
Schema-Based Testing yetenekleri:
-
API uç noktalarının derin ve dinamik analizi.
-
Uygulamanın veya API’nin kendisindeki güvenlik açıklarının yanı sıra, altında yatan altyapı veya ortamda bulunan güvenlik yanlış yapılandırmalarının tespiti.
-
Bulunan sorunların Wallarm Console içindeki Security Issues bölümünde görselleştirilmesi.
-
Docker konteyneri aracılığıyla hafif çalıştırma.
Nasıl çalışır¶
Schema-Based Testing’i aşağıdaki adımları yerine getirerek kullanın:
-
Create test policy: hedef uygulamayı belirtin, OpenAPI spesifikasyonunu veya Postman koleksiyonunu, temel URL’yi sağlayın ve çalıştırılacak testleri seçin.
-
Docker komutunu kopyalayın: Test policies sekmesinde test policy’nizi bulun, tıklayın ve sağlanan Docker komutunu kopyalayın.
-
Çalıştırın ve izleyin: ajanı komutla başlatın. İlerlemeyi takip edin ve sonuçları Test runs sekmesinde görüntüleyin.
Test temeli¶
Schema-Based Testing testlerini şu temellere dayandırabilir:
-
OpenAPI spesifikasyonu (OAS) - API’nizin kesin ve makine tarafından okunabilir taslağı, uygulamanız için verimli ve güvenilir bir test seti oluşturmayı sağlar. OAS tabanlı testler, girdi doğrulama, enjeksiyon ve yanlış yapılandırma tespitine odaklanır.
-
Postman koleksiyonu - Postman API tasarım platformunu kullanıyorsanız, koleksiyonlarındaki işlevsel testler eşzamanlı olarak güvenlik testleri oluşturmak için kullanılabilir. Ayrıntılar. Postman koleksiyonu tabanlı testler, karmaşık iş mantığı ve erişim kontrolü zafiyetlerine odaklanır.
Test türleri¶
OpenAPI spesifikasyonu tabanlı testler için, Schema-Based Testing güvenlik sorunlarını tespit etmek üzere üç tür testi kullanır:
-
Ortam yanlış yapılandırma testleri, uygulamanın ve API’lerin çalıştığı ortam veya altyapıdaki (API mantığı değil) güvenlik açıklarını ve yanlış yapılandırmaları kontrol eder. Örnekler:
- Açığa çıkarılmış kaynak kodu, yedekler, yapılandırma dosyaları.
- Erişilebilir
.git
,.env
veya sistem dosyaları. - Güvensiz web sunucusu ayarları (ör. dizin listeleme, zayıf TLS).
-
GraphQL zafiyet tespiti, en popüler 10 GraphQL yanlış yapılandırmasını kontrol eder (API2, API4).
-
Girdi parametresi testleri, OpenAPI spesifikasyonunda tanımlanan her bir giriş noktasını (parametreler, başlıklar vb.) uygulama düzeyindeki güvenlik açıkları için kontrol eder. Kapsanan zafiyetler:
- Komut enjeksiyonu
- CRLF enjeksiyonu
- LFI / RFI
- NoSQL enjeksiyonu
- Açık yönlendirme (Open redirect)
- Yol geçişi (Path traversal)
- Uzak kod yürütme (RCE)
- SQL enjeksiyonu
- SSRF
- SSTI
- XSS
- XXE
- Bilgi sızıntısı
Etkinleştirme ve kurulum¶
Schema-Based Testing’i kullanmaya başlamak için, Schema-Based Testing Kurulumu belgesinde açıklandığı şekilde etkinleştirip yapılandırın.