Saldırı Tespit Prosedürü¶
Wallarm platformu API trafiğini sürekli analiz eder ve kötü amaçlı istekleri gerçek zamanlı olarak etkisiz hale getirir. Bu makalede, Wallarm'ın saldırılara karşı koruduğu kaynak türlerini, trafikte saldırıları tespit yöntemlerini ve tespit edilen tehditleri nasıl takip edip yöneteceğinizi öğreneceksiniz.
Saldırı nedir ve saldırının bileşenleri nelerdir?¶
Saldırı, aşağıdaki özelliklere göre gruplanmış tek bir hit veya birden fazla hit'tir:
-
Aynı saldırı türü, kötü amaçlı payload içeren parametre ve hit'lerin gönderildiği adres. Hit'ler aynı veya farklı IP adreslerinden gelebilir ve tek bir saldırı türü içinde kötü amaçlı payload değerleri farklı olabilir. Yeni hit, son hit'ten itibaren bir saat içinde gelmelidir - aksi halde ayrı bir saldırıya gidecektir.
Bu hit gruplama yöntemi temeldir ve tüm hit'lere uygulanır.
-
Hit'lerin kaynak IP'ye göre gruplanması etkinse aynı kaynak IP adresi. Diğer hit parametre değerleri farklı olabilir.
Bu hit gruplama yöntemi, Brute force, Forced browsing, BOLA (IDOR), Resource overlimit, Data bomb ve Virtual patch saldırı türleri dışındaki tüm hit'ler için çalışır.
Hit'ler bu yöntemle gruplanıyorsa, saldırı için Mark as false positive düğmesi kullanılamaz.
Listelenen hit gruplama yöntemleri birbirini dışlamaz. Hit'ler her iki yöntemin de özelliklerine sahipse, hepsi tek bir saldırıda gruplanır.
Hit, serileştirilmiş kötü amaçlı bir istektir (orijinal kötü amaçlı istek ve Wallarm node tarafından eklenen meta veriler). Wallarm, tek bir istekte farklı türlerde birden çok kötü amaçlı payload tespit ederse, her birinde tek bir türde payload olacak şekilde birden fazla hit kaydeder.
Kötü amaçlı payload, orijinal isteğin aşağıdaki öğeleri içeren kısmıdır:
-
Bir istekte tespit edilen saldırı işaretleri. Aynı saldırı türünü karakterize eden birden çok saldırı işareti bir istekte tespit edilirse, yalnızca ilk işaret payload'a kaydedilir.
-
Saldırı işaretinin bağlamı. Bağlam, tespit edilen saldırı işaretlerinin öncesindeki ve sonrasındaki sembollerin kümesidir. Payload uzunluğu sınırlı olduğundan, bir saldırı işareti payload'un tamamını kaplıyorsa bağlam atlanabilir.
Saldırı işaretleri davranışsal saldırıları tespit etmek için kullanılmadığından, davranışsal saldırıların bir parçası olarak gönderilen isteklerin payload'ları boştur.
Wallarm'da saldırıları nasıl analiz edeceğinizi öğrenin →
Korumalı kaynak türleri¶
Wallarm node'ları korunan kaynaklara gönderilen HTTP ve WebSocket trafiğini analiz eder:
-
HTTP trafik analizi varsayılan olarak etkindir.
Wallarm node'ları HTTP trafiğini girdi doğrulama saldırıları ve davranışsal saldırılar için analiz eder.
-
WebSocket trafik analizi ek olarak
wallarm_parse_websocket
yönergesiyle etkinleştirilmelidir.Wallarm node'ları WebSocket trafiğini yalnızca girdi doğrulama saldırıları için analiz eder.
Korumalı kaynağın API'si aşağıdaki teknolojilere dayanabilir (WAAP abonelik planı kapsamında sınırlıdır):
-
GraphQL
-
gRPC
-
WebSocket
-
REST API
-
SOAP
-
XML-RPC
-
WebDAV
-
JSON-RPC
Saldırı işleme süreci¶
Saldırıları tespit etmek ve işlemek için Wallarm aşağıdaki süreci kullanır:
-
İsteğin hiç işlenip işlenmeyeceğini anlamak için IP listelerini kontrol eder. Denylist isteği engeller, allowlist izin verir - her ikisi de daha fazla analiz olmadan.
-
İstek formatını belirler ve ayrıştırır; her istek parçasına temel dedektörleri uygulamak için.
-
İsteğin yönlendirildiği uç noktayı belirler, özel kuralları/mitigation controls ve specific module settings uygular ve filtreleme modunu anlar.
-
Temel dedektörler, özel kurallar ve belirli modül ayarlarına dayanarak isteğin bir saldırının parçası olup olmadığına karar verir.
-
Karar ve filtreleme moduna uygun olarak isteği işler.
Kuralların, mitigation controls, ayarların ve filtreleme modunun üst uç noktadan veya uygulamadan devralınabileceğini unutmayın. Daha spesifik olan önceliklidir.
Saldırı tespiti için araçlar¶
Saldırıları tespit etmek için Wallarm, korunan kaynağa gönderilen tüm istekleri aşağıdaki araçları kullanarak analiz eder:
Temel dedektör seti¶
Wallarm, farklı saldırı türü işaretlerini token dizileri olarak belirlemek için Wallarm tarafından geliştirilen (libproton) temel dedektör setini kullanır; örneğin: SQL injection saldırı türü için union select
. İstek, setteki diziyle eşleşen bir token dizisi içeriyorsa, bu istek ilgili türde bir saldırı olarak kabul edilir.
Wallarm, yeni saldırı türleri ve halihazırda tanımlanmış saldırı türleri için dedektörler (token dizileri) listesini düzenli olarak günceller.
Wallarm ayrıca SQL injection saldırılarını Wallarm tarafından geliştirilen (libdetection) ile doğrular. Yönetmeyi görün.
Özel kurallar¶
Özel kurallar, temel dedektör seti tarafından tanımlanan davranışı ince ayarlamak için kullanılır. Kullanıcılar bunları Wallarm Console içinde oluşturur ve kurallar kümesi filtreleme node'una yüklenir.
Mitigation controls¶
Mitigation controls, Wallarm'ın saldırı korumasını ek güvenlik önlemleriyle genişletir ve Wallarm davranışının ince ayarına olanak tanır.
Belirli modül ayarları¶
Temel dedektörler veya özel kurallarla karşılaştırmanın yanı sıra, istekler şu gibi farklı koruma araçlarının sağladığı ayarlara göre de kontrol edilir:
Bu araçlardan herhangi biri, belirli bir saldırı veya zafiyet tespitine ve isteğin engellenmesine neden olabilir.
Belirli saldırı türlerini yok sayma¶
Belirli saldırı türlerini yok say kuralı, belirli istek öğelerinde belirli saldırı türlerinin tespitini devre dışı bırakmaya izin verir.
Varsayılan olarak, Wallarm node'u herhangi bir istek öğesinde herhangi bir saldırı türüne ait işaretler tespit ederse isteği bir saldırı olarak işaretler. Ancak, saldırı işaretleri içeren bazı istekler aslında meşru olabilir (ör. Veritabanı Yöneticisi Forumunda gönderi yayınlayan isteğin gövdesi, kötü amaçlı SQL komutu açıklamasını içerebilir).
Wallarm node'u isteğin standart payload'unu kötü amaçlı olarak işaretlerse bir yanlış pozitif oluşur. Yanlış pozitifleri önlemek için, korunan API'nin özelliklerine uyum sağlamak üzere belirli türde özel kurallar kullanılarak standart saldırı tespit kurallarının ayarlanması gerekir. Wallarm bunu yapmak için Belirli saldırı türlerini yok say kuralını sağlar.
Kuralın oluşturulması ve uygulanması
-
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.
-
Fine-tuning attack detection → Ignore certain attacks öğelerini seçin.
-
If request is bölümünde, kuralın uygulanacağı kapsamı tanımlayın.
-
Yalnızca belirli saldırıların işaretlerinin (bunları seçin) mı yoksa tüm saldırıların işaretlerinin mi yok sayılacağını belirleyin.
-
In this part of request bölümünde, kuralı uygulamak istediğiniz istek noktalarını belirtin.
Mevcut tüm noktalar burada açıklanmıştır; özel kullanım durumunuza uyanları seçebilirsiniz.
-
Kural derlemesinin tamamlanmasını bekleyin.
Kural örneği
Diyelim ki kullanıcı, veritabanı yöneticisi forumunda gönderinin yayınlanmasını onayladığında, istemci https://example.com/posts/
uç noktasına bir POST isteği gönderiyor. Bu isteğin aşağıdaki özellikleri vardır:
-
Gönderi içeriği, istek gövdesindeki
postBody
parametresiyle iletilir. Gönderi içeriği, Wallarm tarafından kötü amaçlı olarak işaretlenebilecek SQL komutlarını içerebilir. -
İstek gövdesi
application/json
türündedir.
SQL injection içeren cURL isteği örneği:
curl -H "Content-Type: application/json" -X POST https://example.com/posts -d '{"emailAddress":"johnsmith@example.com", "postHeader":"SQL injections", "postBody":"My post describes the following SQL injection: ?id=1%20select%20version();"}'
Bu nedenle, https://example.com/posts/
adresine yapılan isteklerin postBody
parametresindeki SQL injection'ları yok saymanız gerekir.
Bunu yapmak için, Belirli saldırı türlerini yok say kuralını ekrandaki ekran görüntüsünde gösterildiği gibi ayarlayın:
Note that options you add to In this part of request should go in a particular order to reflect in which order Wallarm will apply parsers to read the required request element.
İkili veride belirli saldırı işaretlerini yok sayma¶
Varsayılan olarak, Wallarm node'u gelen istekleri bilinen tüm saldırı işaretleri için analiz eder. Analiz sırasında, Wallarm node'u saldırı işaretlerini normal ikili semboller olarak değerlendirmeyebilir ve ikili veride yanlışlıkla kötü amaçlı payload'lar tespit edebilir.
Allow binary data kuralını kullanarak, ikili veri içeren istek öğelerini açıkça belirtebilirsiniz. Belirtilen istek öğesinin analizi sırasında, Wallarm node'u ikili veri içinde asla iletilemeyecek saldırı işaretlerini yok sayacaktır.
- Allow binary data kuralı, ikili veri (ör. arşivlenmiş veya şifrelenmiş dosyalar) içeren istek öğeleri için saldırı tespitinin ince ayarını yapmanıza olanak tanır.
Kuralın oluşturulması ve uygulanması
-
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.
-
Fine-tuning attack detection → Binary data processing öğelerini seçin.
-
If request is bölümünde, kuralın uygulanacağı kapsamı tanımlayın.
-
In this part of request bölümünde, kuralı uygulamak istediğiniz istek noktalarını belirtin.
Mevcut tüm noktalar burada açıklanmıştır; özel kullanım durumunuza uyanları seçebilirsiniz.
-
Kural derlemesinin tamamlanmasını bekleyin.
Kural örneği
Diyelim ki kullanıcı, sitedeki formu kullanarak ikili dosya içeren bir görsel yüklediğinde, istemci multipart/form-data
türünde bir POST isteğini https://example.com/uploads/
adresine gönderir. İkili dosya, gövde parametresi fileContents
içinde iletilir ve bunu izinli hale getirmeniz gerekir.
Bunu yapmak için, Allow binary data kuralını ekran görüntüsünde gösterildiği gibi ayarlayın:
Note that options you add to In this part of request should go in a particular order to reflect in which order Wallarm will apply parsers to read the required request element.
Saldırıların izlenmesi ve engellenmesi¶
Girdi doğrulama saldırıları
Wallarm, girdi doğrulama saldırılarını aşağıdaki modlarda işleyebilir:
-
İzleme modu: saldırıları tespit eder ancak engellemez.
-
Safe blocking modu: saldırıları tespit eder, ancak yalnızca graylisted IP'lerden kaynaklananları engeller. Graylisted IP'lerden gelen meşru istekler engellenmez.
-
Engelleme modu: saldırıları tespit eder ve engeller.
Farklı filtreleme modlarının nasıl çalıştığı ve filtreleme modunun genel olarak ve belirli uygulamalar, alan adları veya uç noktalar için nasıl yapılandırılacağına ilişkin ayrıntılı bilgi burada mevcuttur.
Davranışsal saldırılar
Wallarm'ın davranışsal saldırıları nasıl tespit ettiği ve tespit durumunda nasıl davrandığı, filtreleme modu tarafından değil, bu saldırı türü korumasının belirli yapılandırması tarafından tanımlanır.
Yanlış pozitifler¶
Yanlış pozitif, meşru bir istekte saldırı işaretleri tespit edildiğinde veya meşru bir varlık zafiyet olarak nitelendirildiğinde ortaya çıkar. Zafiyet taramasında yanlış pozitiflerle ilgili daha fazla bilgi →
İstekleri saldırılar açısından analiz ederken, Wallarm ultra düşük yanlış pozitiflerle optimum API koruması sağlayan standart bir kural seti kullanır. Korunan API'nin özellikleri nedeniyle standart kurallar, meşru isteklerde saldırı işaretlerini yanlışlıkla tanıyabilir. Örneğin: Veritabanı Yöneticisi Forumuna kötü amaçlı SQL sorgusu açıklaması içeren bir gönderi ekleyen istekte bir SQL injection saldırısı tespit edilebilir.
Bu gibi durumlarda, standart kurallar korunan API'nin özelliklerine uyum sağlamak üzere aşağıdaki yöntemlerle ayarlanmalıdır:
-
Potansiyel yanlış pozitifleri (tüm saldırıları
!known
etiketi ile filtreleyerek) analiz edin ve yanlış pozitifleri doğruluyorsanız belirli saldırıları veya hits öğelerini uygun şekilde işaretleyin. Wallarm, aynı isteklerin tespit edilen saldırı işaretleri için analizini devre dışı bırakan kuralları otomatik olarak oluşturacaktır. -
Belirli isteklerde belirli saldırı türlerinin tespitini devre dışı bırakın.
-
İkili veride belirli saldırı işaretlerinin tespitini devre dışı bırakın.
-
İsteklere yanlışlıkla uygulanan ayrıştırıcıları devre dışı bırakın.
Yanlış pozitifleri belirlemek ve ele almak, API'lerinizi korumak için Wallarm'ın ince ayarının bir parçasıdır. İlk Wallarm node'unu izleme modunda dağıtmanızı ve tespit edilen saldırıları analiz etmenizi öneririz. Bazı saldırılar yanlışlıkla saldırı olarak tanınıyorsa onları yanlış pozitif olarak işaretleyin ve filtreleme node'unu engelleme moduna geçirin.
Wallarm UI'da Saldırılar¶
Wallarm, tespit edilen tüm saldırıları ve bunlara ilişkin ayrıntıları gösteren kapsamlı bir kullanıcı arayüzü sunar. Hızlı görselleştirme için saldırı panolarını kullanabilir ve kendi özel bildirimlerinizi ayarlayabilirsiniz.
Ayrıntılar için Saldırı Analizi makalesine bakın.