Özel Saldırı Belirleyicileri¶
Wallarm, düzenli ifadelerle tanımlanan kendi saldırı göstergelerinizi tanımlamanız için Create regexp-based attack indicator kuralını sağlar.
Kuralı oluşturma ve uygulama¶
Kendi saldırı belirleyicinizi 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 öğesini seçin.
-
If request is içinde, kuralın uygulanacağı kapsamı açıklayın.
-
Saldırı göstergesi parametrelerinizi ayarlayın:
-
Regular expression - düzenli ifade (imza). Aşağıdaki parametrenin değeri bu ifadeyle eşleşirse, söz konusu istek bir saldırı olarak tespit edilir. Düzenli ifadelerin sözdizimi ve özellikleri kuralların eklenmesine ilişkin yönergelerde açıklanmıştır.
Kuralda belirtilen düzenli ifadeyi değiştirme
Create regexp-based attack indicator türündeki mevcut kuralda belirtilen düzenli ifadeyi değiştirmek, önceki ifadeyi kullanan Disable regexp-based attack detection kurallarının otomatik olarak silinmesine yol açar.
Yeni düzenli ifadeye göre saldırı tespitini devre dışı bırakmak için, yeni düzenli ifadeyi belirterek yeni bir Disable regexp-based attack detection kuralı oluşturun.
-
Experimental - bu bayrak, istekleri engellemeden bir düzenli ifadenin tetiklenmesini güvenle kontrol etmenizi sağlar. Filtre düğümü blocking mode olarak ayarlansa bile istekler engellenmez. Bu istekler deneysel yöntemle tespit edilen saldırılar olarak kabul edilir ve varsayılan olarak olay listesinden gizlenir.
experimental attacks
arama sorgusunu kullanarak erişebilirsiniz. -
Attack - istekteki parametre değeri düzenli ifadeyle eşleştiğinde tespit edilecek saldırı türü.
-
-
In this part of request bölümünde, saldırı işaretlerini aramak istediğiniz istek bölümlerini belirtin.
-
kuralın derlenmesinin ve filtreleme düğümüne yüklenmesinin tamamlanmasını bekleyin.
Kural örnekleri¶
Yanlış X-AUTHENTICATION
başlığına sahip tüm istekleri 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 istekleri engelleme¶
Spring Core Framework (Spring4Shell) içindeki 0-gün güvenlik açığından yararlanmanın yollarından biri, aşağıdaki gövde parametrelerine belirli kötü amaçlı yükleri enjekte ederek 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 mode değeri blocking dışında ise, sanal yama kullanarak güvenlik açığından yararlanmayı önleyebilirsiniz. Aşağıdaki kural, monitoring ve safe blocking modes durumlarında bile listelenen gövde parametrelerine sahip tüm istekleri engeller:
Regular expression alanının değeri:
(class[.]module[.]classLoader[.]resources[.]context[.]parent[.]pipeline[.]first[.])(pattern|suffix|directory|prefix|fileDateFormat)
Blocking mode ile çalışan Wallarm düğümü bu tür güvenlik açığından yararlanma girişimlerini varsayılan olarak engeller.
Spring Cloud Function bileşeninde de etkin bir güvenlik açığı (CVE-2022-22963) bulunmaktadır. Bu bileşeni kullanıyorsanız ve Wallarm düğüm mode değeri blocking dışında ise, aşağıda açıklandığı gibi bir sanal yama oluşturun.
CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
başlığına sahip tüm istekleri 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ük enjekte edilerek istismar edilebilen etkin bir güvenlik açığı (CVE-2022-22963) vardır.
Bu bileşeni kullanıyorsanız ve Wallarm düğüm mode değeri blocking dışında ise, sanal yama kullanarak istismarı önleyebilirsiniz. Aşağıdaki kural, CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
başlığını içeren tüm istekleri engeller:
CLASS.CLOUD.FUNCTION-ROUTING-EXPRESSION
başlıklı istekleri engelleme
Bu kural, CLASS.CLOUD.FUNCTION-ROUTING-EXPRESSION
başlığına sahip istekleri engellemez ancak NGINX bu başlığa sahip istekleri varsayılan olarak geçersiz sayarak düşürür.
Blocking mode ile çalışan Wallarm düğümü bu tür güvenlik açığından yararlanma girişimlerini varsayılan olarak engeller.
Spring Core Framework (Spring4Shell) içinde ayrıca 0-gün bir güvenlik açığı daha vardır. İstismar girişimlerini reqexp tabanlı sanal yamayla nasıl engelleyeceğinizi öğrenin.
Kısmen devre dışı bırakma¶
Oluşturulan kural belirli bir dal (branch) için kısmen devre dışı bırakılacaksa, aşağıdaki alanlarla Disable regexp-based attack detection kuralını oluşturarak kolayca yapılabilir:
-
Regular expression: yok sayılması gereken daha önce oluşturulmuş düzenli ifadeler.
Düzenli ifade değiştirildiyse kuralın davranışı
Create regexp-based attack indicator türündeki mevcut kuralda belirtilen düzenli ifadeyi değiştirmek, önceki ifadeyi kullanan Disable regexp-based attack detection kurallarının otomatik olarak silinmesine yol açar.
Yeni düzenli ifadeye göre saldırı tespitini devre dışı bırakmak için, yeni düzenli ifadeyi belirterek yeni bir Disable regexp-based attack detection kuralı oluşturun.
-
in this part of request: istisna tanımlanması gereken parametreyi belirtir.
Örnek: Belirli bir URL için hatalı X-Authentication başlığına izin verme
example.com/test.php
adresinde bir betiğiniz olduğunu ve bunun için belirteçlerin (token) biçimini değiştirmek istediğinizi varsayalım.
İlgili kuralı oluşturmak için:
-
Rules sekmesine gidin
-
example.com/test.php
için dalı (branch) bulun veya oluşturun ve Add rule’a tıklayın. -
Fine-tuning attack detection → Disable custom attack detector öğesini seçin.
-
Devre dışı bırakmak istediğiniz düzenli ifadeyi seçin.
-
Seçeneği
Header X-AUTHENTICATION
olarak ayarlayın. -
Create’e tıklayın.
Kuralı oluşturmak için API çağrısı¶
Regexp tabanlı saldırı göstergesini oluşturmak için Wallarm API’sini doğrudan çağırabilirsiniz.