Özel Saldırı Tespit Cihazları¶
Wallarm, normal ifadelerle tanımlanan kendi saldırı işaretlerinizi belirlemeniz için Create regexp-based attack indicator kuralını sağlar.
Kural Oluşturma ve Uygulama¶
Kendi saldırı tespit cihazınızı ayarlamak ve uygulamak için:
-
Proceed to Wallarm Console:
- Rules → Add rule or your branch → Add rule.
- Attacks / Incidents → attack/incident → hit → Rule.
- API Discovery (if enabled) → your endpoint → Create rule.
-
Mitigation controls → Custom attack detector seçin.
-
If request is bölümünde, kuralın uygulanacağı kapsamı tanımlayın.
-
Saldırı göstergesi parametrelerinizi ayarlayın:
-
Regular expression - düzenli ifade (imza). Aşağıdaki parametrenin değeri ifadeyle eşleşiyorsa, o istek saldırı olarak tespit edilir. Düzenli ifadelerin sözdizimi ve özellikleri rules ekleme talimatlarında açıklanmıştır.
Kurala belirtilen düzenli ifadeyi değiştirme
Mevcut Create regexp-based attack indicator tipindeki kuralda belirtilen düzenli ifadeyi değiştirmek, önceki ifadeyi kullanan Disable regexp-based attack detection kurallarının otomatik olarak silinmesine neden olur.
Yeni düzenli ifade ile saldırı tespitini devre dışı bırakmak için, belirtilen yeni düzenli ifadeye sahip yeni bir Disable regexp-based attack detection kuralı oluşturun.
-
Experimental - bu bayrak, istekleri engellemeden düzenli ifadenin tetiklenmesini güvenli bir şekilde kontrol etmenizi sağlar. Filtre düğümü blocking modunda olsa dahi istekler engellenmeyecektir. Bu istekler, deneysel yöntemle tespit edilmiş saldırılar olarak kabul edilir ve varsayılan olarak olay listesinden gizlenir. 'experimental attacks' arama sorgusuyla erişilebilirler.
-
Attack - istekteki parametre değeri düzenli ifadeyle eşleştiğinde tespit edilecek saldırı tipi.
-
-
In this part of request bölümünde, saldırı işaretlerini aramak istediğiniz istek bölümlerini belirtin.
-
Kuralın derlenip filtreleme düğümüne yüklenmesinin tamamlanmasını bekleyin.
Kural Örnekleri¶
Yanlış X-AUTHENTICATION
Başlığına Sahip Tüm İstekleri Engelleme¶
Let us say your application accessible at the example.com
domain uses the X-AUTHENTICATION
header in 32 hex symbols format for user authentication and you want to reject incorrect format tokens.
To do so, set the Create regexp-based attack indicator rule and set it to Virtual patch as displayed on the screenshot, including:
-
Regular expression:
^(.{0,31}|.{33,}|[^0-9a-fA-F]+)$
-
Request part:
header
-X-AUTHENTICATION
class.module.classLoader.*
Gövde Parametrelerine Sahip Tüm İstekleri Engelleme¶
Spring Core Framework (Spring4Shell) içindeki 0-day açığından yararlanmanın yollarından biri, aşağıdaki gövde parametrelerine belirli kötü amaçlı yükler enjekte edilmiş POST isteği göndermektir:
-
class.module.classLoader.resources.context.parent.pipeline.first.pattern
-
class.module.classLoader.resources.context.parent.pipeline.first.suffix
-
class.module.classLoader.resources.context.parent.pipeline.first.directory
-
class.module.classLoader.resources.context.parent.pipeline.first.prefix
-
class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat
Savunmasız Spring Core Framework kullanıyorsanız ve Wallarm düğümünün mode blocking dışında ise, sanal yama kullanarak açığın istismarını önleyebilirsiniz. Aşağıdaki kural, izleme ve güvenli blocking modlarında bile listelenen gövde parametrelerine sahip tüm istekleri engelleyecektir:
Düzenli ifade alan değeri şudur:
(class[.]module[.]classLoader[.]resources[.]context[.]parent[.]pipeline[.]first[.])(pattern|suffix|directory|prefix|fileDateFormat)
Blocking mode de çalışan Wallarm düğümü, bu tür açığın istismar girişimlerini varsayılan olarak engeller.
Spring Cloud Function bileşeninde de (CVE-2022-22963) aktif bir açık bulunmaktadır. Bu bileşeni kullanıyorsanız ve Wallarm düğümünün mode blocking dışında ise, aşağıda açıklanan gibi sanal yama oluşturun.
CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
Başlığına Sahip Tüm İstekleri Engelleme¶
Spring Cloud Function bileşeninde, CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
veya CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
başlığına kötü amaçlı yükler enjekte edilerek istismar edilebilen aktif bir açık (CVE-2022-22963) bulunmaktadır.
Bu bileşeni kullanıyorsanız ve Wallarm düğümünün mode blocking dışında ise, sanal yama kullanarak açığın istismarını önleyebilirsiniz. Aşağıdaki kural, CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
başlığını içeren tüm istekleri engelleyecektir:
Blocking requests with the CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
header
Bu kural, CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
başlığına sahip istekleri engellemez; bunun yerine NGINX, bu başlığa sahip istekleri varsayılan olarak geçersiz sayarak düşürür.
Blocking mode de çalışan Wallarm düğümü, bu tür açığın istismar girişimlerini varsayılan olarak engeller.
Ayrıca, Spring Core Framework (Spring4Shell) içinde 0-day açığı da mevcuttur. Açığın istismar girişimlerini reqexp tabanlı sanal yama ile nasıl engelleyeceğinizi öğrenin.
Kısmi Devre Dışı Bırakma¶
Oluşturulan kural, belirli bir dal için kısmen devre dışı bırakılacaksa, aşağıdaki alanlarla Disable regexp-based attack detection kuralı oluşturarak bu kolayca yapılabilir:
-
Regular expression: göz ardı edilmesi gereken, daha önce oluşturulmuş düzenli ifadeler.
Düzenli ifade değiştirildiğinde kuralın davranışı
Mevcut Create regexp-based attack indicator tipindeki kuralda belirtilen düzenli ifadeyi değiştirmek, önceki ifadeyi kullanan Disable regexp-based attack detection kurallarının otomatik olarak silinmesine neden olur.
Yeni düzenli ifade ile saldırı tespitini devre dışı bırakmak için, belirtilen yeni düzenli ifadeye sahip yeni bir Disable regexp-based attack detection kuralı oluşturun.
-
in this part of request: bir istisna ayarlanması gereken parametreyi belirtir.
Örnek: Belirli bir URL için Yanlış X-Authentication Başlığına İzin Verme
Diyelim ki example.com/test.php
adresinde bir betiğiniz var ve token formatını değiştirmek istiyorsunuz.
İlgili kuralı oluşturmak için:
-
Rules sekmesine gidin
-
example.com/test.php
için ilgili dalı bulun veya oluşturun ve Add rule'e tıklayın. -
Fine-tuning attack detection → Disable custom attack detector seçin.
-
Devre dışı bırakmak istediğiniz düzenli ifadeyi seçin.
-
Header X-AUTHENTICATION
noktasını ayarlayın. -
Create'e tıklayın.
Kuralı Oluşturmak İçin API Çağrısı¶
Regexp tabanlı saldırı göstergesini oluşturmak için, Wallarm API'sine doğrudan çağrı yapabilirsiniz.