Ana içeriğe geç

Threat Replay Testing

Gerçek dünyadan gelen saldırıları zararsız güvenlik testleri olarak yeniden oynatarak, Wallarm'ın Threat Replay Testing özelliği, geleneksel güvenlik test araçlarının gözden kaçırabileceği uygulama ve API'lerdeki güvenlik açıklarını bulma zorluğunu ele alır.

Threat Replay Testing yetenekleri:

  • Gerçek zamanlı analiz: Gerçek saldırı verilerini kullanarak hâlihazırda istismar edilen veya gelecekte istismar edilme potansiyeli olan güvenlik açıklarını belirler.

  • Kapsamlı test: Gerçek saldırıların varyasyonlarını üretip farklı saldırı vektörlerini keşfeder ve orijinal saldırganların gözden kaçırmış olabileceği zayıflıkları ortaya çıkarır.

  • Güvenli simülasyon: Test isteklerinden zararlı kodu ve hassas kimlik doğrulama ayrıntılarını çıkarır, böylece test süreci herhangi bir hasara yol açmaz veya sistemleri tehlikeye atmaz.

  • Canlı dışı test: Üretim verilerini veya sistem kararlılığını riske atmadan, uygulamaları ve API'leri güvenli bir ortamda (genellikle staging) test etmeye olanak tanır.

TRT - Tests tab

Nasıl çalışır

Threat Replay Testing modülü Wallarm Cloud üzerinde çalışır. İlk olarak, modül Security Edge veya self-hosted filtreleme düğümünün tespit edip Cloud'a yüklediği kötü amaçlı istekler hakkında ayrıntılı bilgi toplar. Bu verilerden yararlanarak, modül dinamik olarak yaklaşık 100-150 test isteğinden oluşan bir set üretir. Bu test istekleri, kötü amaçlı isteklerle aynı zafiyet türlerini hedefler ancak farklı payload'lar kullanır.

Ortaya çıkan saldırı simülasyonları, orijinal kötü amaçlı isteğin gönderildiği aynı adrese yönlendirilir. Ancak modül, bu test isteklerini örneğin staging veya geliştirme ortamlarına ya da her ikisine birden alternatif hedeflere yönlendirme esnekliği sunar.

Test isteklerine verilen yanıtları analiz ederek, modül belirli saldırı türlerine karşı zafiyeti belirler. Keşfedilen güvenlik açıkları Wallarm Console UI'nin Vulnerabilities bölümünde kataloglanır. Ayrıca, bu bulgular hakkında bildirimler almayı tercih edebilirsiniz.

Aşağıdaki diyagram modülün nasıl çalıştığını göstermektedir:

ATV şeması

Oluşturulan istekler, diğer isteklerden ayırt edilmesine yardımcı olmak için User-Agent: Wallarm Threat-Verification (v1.x) başlığını taşır.

Test isteği güvenliği

Threat Replay Testing modülü, test isteklerini mümkün olan en güvenli şekilde oluşturacak biçimde tasarlanmıştır ve şu temel özellikleri sağlar:

  • Oluşturulan isteklerin kötü amaçlı yükleri gerçek zararlı söz dizimi içermez, sadece saldırı ilkesini taklit etmeye yöneliktir. Sonuç olarak, kaynaklarınıza zarar vermezler.

  • Cookie, Authorization: Basic ve Viewstate gibi kimlik doğrulama başlıkları yeniden oynatılan isteklerden hariç tutulur. Ayrıca, özel kimlik doğrulama başlıkları ve maskeleme kuralı doğrultusunda, gerekli görüldüğünde ilave başlıklar uyarlanabilir veya kaldırılabilir.

Örnek

Aşağıdaki gibi, Wallarm filtreleme düğümü tarafından ilk olarak tespit edilip Cloud'a yüklenen gerçek dünyaya benzer bir GET isteğini ele alalım:

https://example.com/login?user=UNION SELECT username, password

Bu istekten, modül şu ayrıntıları öğrenir:

  • Saldırıya uğrayan URL https://example.com/login

  • Kullanılan saldırı türü SQLi'dir (UNION SELECT username, password payload'una göre)

  • Saldırıya uğrayan sorgu dizesi parametresi user

  • İstekte sağlanan ek bilgi, istek dizesi parametresi token=IyEvYmluL3NoCg'dur (muhtemelen uygulama, kullanıcının kimliğini doğrulamak için kullanır)

Bu verilerden yararlanan modül bir dizi test isteği hazırlar. Bu istekler, aşağıdakiler gibi çeşitli payload'lar kullanarak olası SQL enjeksiyonu zafiyetlerine odaklanır:

https://example.com/login&user=1')+WAITFOR+DELAY+'0 indexpt'+AND+('wlrm'='wlrm
https://example.com/login&user=1+AND+SLEEP(10)--+wlrm
https://example.com/login&user=1);SELECT+PG_SLEEP(10)--
https://example.com/login&user=1'+OR+SLEEP(10)+AND+'wlrm'='wlrm
https://example.com/login&user=1+AND+1=(SELECT+1+FROM+PG_SLEEP(10))
https://example.com/login&user=%23'%23\x22%0a-sleep(10)%23
https://example.com/login&user=1';+WAITFOR+DELAY+'0code:10'--
https://example.com/login&user=1%27%29+OR+SLEEP%280%29+AND+%28%27wlrm%27%3D%27wlrm
https://example.com/login&user=SLEEP(10)/*'XOR(SLEEP(10))OR'|\x22XOR(SLEEP(10))OR\x22*/

Sınırlamalar

Threat Replay Testing şu durumlarda kullanılamaz:

Desteklenen saldırı türlerinin listesini kurulum dokümantasyonunda görün.