مكتشفات الهجمات المُعرّفة من المستخدم¶
توفر Wallarm قاعدة إنشاء مؤشر هجوم مبني على التعبير النظامي rule لتحديد علامات الهجوم الخاصة بك التي يتم وصفها باستخدام التعبيرات النظامية.
إنشاء وتطبيق القاعدة¶
لتحديد وتطبيق مُكتشف هجماتك الخاص:
-
انتقل إلى واجهة Wallarm → القواعد → إضافة قاعدة.
-
في إذا كانت الطلبية, صِف نطاق تطبيق القاعدة.
-
في ثم, اختر إنشاء مؤشر هجوم مبني على التعبير النظامي وتعيين معايير مؤشر الهجوم الخاصة بك:
-
التعبير النظامي - التعبير النظامي (التوقيع). إذا تطابقت قيمة العامل التالي مع التعبير، يتم اكتشاف الطلب على أنه هجوم. يتم وصف بناء الجملة وخصوصيات التعبيرات النظامية في تعليمات إضافة القواعد.
تغيير التعبير النظامي المحدد في القاعدة
يؤدي تغيير التعبير النظامي المحدد في القاعدة القائمة من نوع إنشاء مؤشر هجوم مبني على التعبير النظامي إلى حذف تلقائي للقواعد تعطيل كشف الهجوم المبني على التعبير النظامي التي تستخدم التعبير السابق.
لتعطيل كشف الهجوم بواسطة تعبير نظامي جديد، يرجى إنشاء قاعدة جديدة تعطيل كشف الهجوم المبني على التعبير النظامي مع التعبير النظامي المحدد الجديد.
-
تجريبي - تسمح هذه العلامة بفحص تشغيل التعبير النظامي بأمان دون حجب الطلبات. لن يتم حجب الطلبات حتى عندما يتم ضبط عقدة الفلترة على وضع الحجب. ستعتبر هذه الطلبات بمثابة هجمات تم اكتشافها بالطريقة التجريبية وسيتم إخفاؤها من قائمة الأحداث بشكل افتراضي. يمكن الوصول إليها باستخدام استعلام البحث
هجمات تجريبية
. -
الهجوم - نوع الهجوم الذي سيتم اكتشافه عندما تطابق قيمة العامل في الطلب التعبير النظامي.
-
-
في في هذا الجزء من الطلبية, حدد أجزاء الطلب التي ترغب في البحث فيها عن علامات الهجوم.
-
انتظر اكتمال تجميع القاعدة.
أمثلة على القواعد¶
حجب جميع الطلبات ذات الرأس X-AUTHENTICATION
غير الصحيح¶
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.*
¶
إحدى طرق استغلال ثغرة اليوم الصفر في Spring Core Framework (Spring4Shell) هي إرسال طلب POST به حمولات ضارة مُضافة إلى المعايير التالية في الجسم:
-
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
إذا كنت تستخدم Spring Core Framework القابلة للاستغلال ووضع عقدة Wallarm mode مختلف عن الحجب، يمكنك منع استغلال الثغرة باستخدام الرقعة الافتراضية. ستقوم القاعدة التالية بحجب جميع الطلبات التي تحتوي على المعايير المذكورة في الجسم حتى في أوضاع المراقبة والحجب الآمن:
قيمة حقل التعبير النظامي هي:
(class[.]module[.]classLoader[.]resources[.]context[.]parent[.]pipeline[.]first[.])(pattern|suffix|directory|prefix|fileDateFormat)
تقوم عقدة Wallarm العاملة في وضع الحجب بحجب محاولات استغلال مثل هذه الثغرة افتراضيًا.
مكون Spring Cloud Function يحتوي أيضًا على ثغرة نشطة (CVE-2022-22963). إذا كنت تستخدم هذا المكون ووضع عقدة Wallarm مختلف عن الحجب، أنشئ الرقعة الافتراضية كما هو موضح أدناه.
حجب جميع الطلبات برأس CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
¶
مكون Spring Cloud Function يحتوي على ثغرة نشطة (CVE-2022-22963) يمكن استغلالها عن طريق حقن حمولات ضارة في رأس CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
أو CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
.
إذا كنت تستخدم هذا المكون ووضع عقدة Wallarm mode مختلف عن الحجب، يمكنك منع استغلال الثغرة باستخدام الرقعة الافتراضية. القاعدة التالية ستقوم بحجب جميع الطلبات التي تحتوي على رأس CLASS-CLOUD-FUNCTION-ROUTING-EXPRESSION
:
حجب الطلبات برأس CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
هذه القاعدة لا تحجب الطلبات برأس CLASS.CLOUD.FUNCTION.ROUTING-EXPRESSION
لكن NGINX يرفض الطلبات برأس غير صالح كهذا بشكل افتراضي.
تقوم عقدة Wallarm العاملة في وضع الحجب بحجب محاولات استغلال مثل هذه الثغرة افتراضيًا.
هناك أيضًا ثغرة يوم الصفر في Spring Core Framework (Spring4Shell). تعرف على كيفية حجب محاولات استغلالها مع الرقعة الافتراضية المبنية على التعبير النظامي.
التعطيل الجزئي¶
إذا كان يجب تعطيل القاعدة المُنشأة جزئيًا لفرع معين، يمكن القيام بذلك بسهولة عن طريق إنشاء القاعدة تعطيل كشف الهجوم المبني على التعبير النظامي بالحقول التالية:
-
التعبير النظامي: التعبيرات النظامية التي تم إنشاؤها مسبقًا والتي يجب تجاهلها.
سلوك القاعدة إذا تم تغيير التعبير النظامي
يؤدي تغيير التعبير النظامي المحدد في القاعدة القائمة من نوع إنشاء مؤشر هجوم مبني على التعبير النظامي إلى حذف تلقائي للقواعد تعطيل كشف الهجوم المبني على التعبير النظامي التي تستخدم التعبير السابق.
لتعطيل كشف الهجوم بواسطة تعبير نظامي جديد، يرجى إنشاء قاعدة جديدة تعطيل كشف الهجوم المبني على التعبير النظامي مع التعبير النظامي المحدد الجديد.
-
في هذا الجزء من الطلبية: يشير إلى العامل الذي يتطلب إعداد استثناء.
مثال: السماح برأس X-Authentication غير صحيح لعنوان URL محدد
لنفترض أن لديك سكربت في example.com/test.php
، وترغب في تغيير تنسيق الرموز الترويجية له.
لإنشاء القاعدة ذات الصلة:
- انتقل إلى علامة التبويب القواعد
- ابحث أو أنشئ الفرع لـ
example.com/test.php
وانقر إضافة قاعدة -
اختر تعطيل كشف الهجوم المبني على التعبير النظامي
-
حدد التعبير النظامي الذي ترغب في تعطيله
-
ضبط نقطة
رأس X-AUTHENTICATION
- انقر إنشاء
استدعاء API لإنشاء القاعدة¶
لإنشاء مؤشر الهجوم المبني على التعبير النظامي، يمكنك استدعاء API Wallarm مباشرة.