Ana içeriğe geç

Tehdit Yeniden Oynatma Testlerinin Genel Bakışı

Gelen gerçek dünya saldırılarını zararsız güvenlik testleri olarak yeniden oynatarak, Wallarm'ın Tehdit Yeniden Oynatma Testleri, geleneksel güvenlik test araçlarının gözden kaçırabileceği uygulamalarda ve API'lerdeki güvenlik açıklarını bulma zorluğunu ele alır.

Tehdit Yeniden Oynatma Testleri özellikleri:

  • Gerçek zamanlı analiz: Aktif olarak istismar edilen veya gelecekte istismar edilme potansiyeline sahip güvenlik açıklarını belirlemek için gerçek saldırı verilerini kullanır.

  • Kapsamlı test: Gerçek saldırıların varyasyonlarını oluşturma yöntemiyle farklı saldırı vektörlerini inceler ve orijinal saldırganların kaçırmış olabileceği zayıflıkları ortaya çıkarır.

  • Güvenli simülasyon: Test isteklerinden zararlı kodu ve hassas kimlik doğrulama bilgilerini çıkararak test sürecinin herhangi bir zarara yol açmasını veya sistemlerin tehlikeye girmesini engeller.

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

TRT - Tests tab

Nasıl Çalışır

Tehdit Yeniden Oynatma Testleri modülü Wallarm Cloud üzerinde çalışır. İlk olarak, modül, Wallarm filtering node tarafından tespit edilen ve Cloud'a yüklenen kötü niyetli istekler hakkında ayrıntılı bilgiler toplar. Edinilen bu verilerden yararlanarak, yaklaşık 100-150 test isteğinden oluşan bir set dinamik olarak oluşturulur. Bu test istekleri, kötü niyetli isteklerle aynı güvenlik açığı türlerini hedef alır ancak farklı payload'lar kullanır.

Oluşturulan saldırı simülasyon seti, orijinal kötü niyetli istek ile aynı adrese yönlendirilir. Bununla birlikte, modül bu test isteklerinin staging veya geliştirme ortamlarına, ya da her ikisine yönlendirilmesine olanak tanıyan esnekliği sunar.

Test isteklerine verilen yanıtlar analiz edilerek, modül belirli saldırı türlerine karşı olan güvenlik açığı tespitini gerçekleştirir. Keşfedilen güvenlik açıkları Wallarm Console UI'deki Vulnerabilities bölümünde kataloglanır. Ayrıca, bu bulgular hakkında bildirimler alma seçeneğiniz de bulunmaktadır.

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

ATV scheme

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

Test İsteği Güvenliği

Tehdit Yeniden Oynatma Testleri modülü, en güvenli şekilde test istekleri oluşturmak üzere tasarlanmıştır ve aşağıdaki temel özelliklere sahiptir:

  • Oluşturulan isteklerin kötü niyetli payload'ları gerçek kötü niyetli sözdizimini içermez; yalnızca saldırı prensibini taklit etmek amacıyla oluşturulmuştur. Sonuç olarak, kaynaklarınıza zarar vermez.

  • 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 maskelenmiş kural doğrultusunda, ek başlıklar gerektiğinde uyarlanabilir veya kaldırılabilir.

Örnek

Wallarm filtering node tarafından ilk tespit edilen ve Cloud'a yüklenen aşağıdaki gerçek dünya benzeri GET isteğini ele alalım:

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

İstekten modül aşağıdaki bilgileri öğrenir:

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

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

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

  • İstekle sağlanan ek bilgi, istekteki token=IyEvYmluL3NoCg dizesidir (muhtemelen uygulama tarafından kullanıcıyı kimlik doğrulamak için kullanılır).

Bu verilerden yararlanarak, modül bir dizi test isteği oluşturur. Bu istekler, farklı payload'lar kullanarak potansiyel SQL enjeksiyon güvenlik açıklarına odaklanır, örneğin:

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

Tehdit Yeniden Oynatma Testleri aşağıdaki durumlar için kullanılamaz:

Desteklenen saldırı türlerinin listesini setup dokümantasyonunda inceleyebilirsiniz.