
التكرار الأول لنظام Feedback WAF القائم على التعلم الآلي
تم إنشاء NGWAF بواسطة @yupengfei، @zhangbosen، @matthewng و @elizabethlim.
شكر خاص لـ @ruinahkoh على مساهماتها في المراحل الأولى من NGWAF.
NGWAF هو إثبات مفهوم تجريبي وغير جاهز للاستخدام الإنتاجي في شكله الحالي.
المحتويات
مع النمو الهائل لتطبيقات الويب منذ أوائل العقد الأول من القرن الحادي والعشرين، أصبحت الهجمات القائمة على الويب أكثر انتشارًا تدريجيًا. أحد الحلول الشائعة هو جدار حماية تطبيقات الويب (WAF). ومع ذلك، يمكن أن يكون تعديل قواعد جدران الحماية الحالية لتحسين آليات الكشف معقدًا وصعبًا. يسعى NGWAF إلى معالجة هذه العيوب بهندسة معمارية جديدة تعتمد على التعلم الآلي والحجر الصحي إلى نظام خادع (honeypot).
مستوحى من نقاط الألم الفعلية في تشغيل جدران الحماية، يهدف NGWAF إلى تبسيط وإعادة تصور عمليات WAF من خلال العمليات التالية:
| نقطة الألم | ميزة NGWAF |
|---|---|
| صيانة آليات وقواعد الكشف يمكن أن تكون معقدة | الاستفادة من التعلم الآلي لأتمتة عملية إنشاء وتحديث آليات الكشف |
| الحظر الفوري للحركة الضارة يقلل من فرص التعلم من سلوك المهاجم لتحسينات WAF مستقبلية | القضاء على التهديد من خلال إعادة التوجيه إلى الحجر الصحي بدلاً من الإسقاط والحظر التقليديين للحركة الضارة |
لتسهيل النشر وجعله محمولاً، قمنا بحاويات (containerise) للمكونات المختلفة في الهندسة المعمارية باستخدام docker وقمنا بتكوينها في ملف docker-compose. هذا يسمح بتشغيله على تثبيت جديد بسرعة وسهولة حيث تتم معالجة التبعيات تلقائيًا بواسطة docker. يمكن توسيع النشر ليكون منتشرًا في مجموعة kubernetes محلية أو قائمة على مزود سحابي، مما يجعله قابلاً للتوسع حيث يمكن للمستخدمين زيادة عدد العقد/الحاويات (pods) للتعامل مع كميات كبيرة من الحركة.
تم اختبار النشر على macOS (Docker desktop)، و linux (ubuntu).
يعمل NGWAF فورًا بثلاثة مكونات رئيسية، هذه المكونات كما ذكر أعلاه جميعها محتواة في حاويات وقابلة للتوسع حسب الاستخدام المرغوب. يمكن تخصيص المورد المحمي عن طريق إجراء تغيير في النشر داخل الإعداد.
الهندسة المعمارية عالية المستوى لـ NGWAF مع تدفقات الحركة المتوقعة من الأطراف المختلفة
تم تصميم NGWAF مع مراعاة فوائد المستخدم الرئيسية التالية:
يستبدل NGWAF مجموعات القواعد التقليدية بنماذج التعلم العميق لتقليل تعقيد إدارة وتحديث القواعد. بدلاً من تحرير القواعد يدويًا، يقوم التعلم الآلي في NGWAF بأتمتة عملية تعلم الأنماط من البيانات الضارة. يتم تنظيف البيانات المجمعة من بيئة الحجر الصحي وتجميعها تلقائيًا، مما يسمح بإعادة تدريبها في نموذج الكشف الخاص بنا إذا رغب في ذلك.
يعتمد NGWAF على بنية جديدة تتكون من بيئة تفاعلية وحجر صحي مصممة لعزل المهاجمين المحتملين. على عكس جدران الحماية التقليدية التي تقوم بالحظر عند الكشف، يقوم NGWAF بتحويل المهاجمين إلى أنظمة محاكاة، مما يحاصرهم لتخفيف تأثير أفعالهم الضارة. تعمل البيئة أيضًا كحوض (sinkhole) لجمع أساليب الهجوم الحالية، مما يتيح مراقبة وجمع البيانات الضارة. يمكن استخدام هذه البيانات لتحسين قدرة الكشف لـ NGWAF.
NGWAF قيد التشغيل: عند اكتشاف حقن SQL، يعيد NGWAF التوجيه إلى بيئة الحجر الصحي لدينا، بدلاً من إسقاط أو حظر المحاولة.
المبدأ التوجيهي وراء إنشاء NGWAF هو الحماية من المخاطر التي أبرزتها وثيقة الوعي القياسية لمشروع أمان تطبيقات الويب المفتوح - OWASP Top 10 2021.
يتم جمع بيانات التدريب وعمليات التحقق من الامتثال لـ NGWAF وإجراؤها بناءً على هذا المطلب.
من يحتاج إلى اليدوي عندما يمكننا الذهاب إلى العصبي
بدلاً من مجموعات القواعد التقليدية التي تتطلب من المحللين تحديد القواعد وإضافتها يدويًا بمرور الوقت، يستفيد NGWAF من خطوط أنابيب التعلم الآلي من البداية إلى النهاية لآلية الكشف، مما يقلل بشكل كبير من تعقيد إدارة قواعد WAF، خاصةً للكشف عن الحمولات المعقدة.
للقيام بذلك، احتجنا أولاً إلى إنشاء نموذج أساسي وهندسة معمارية يمكن للمستخدمين البدء بها، قبل أن يستخدموا لاحقًا البيانات التي تم جمعها من تطبيقاتهم الخاصة لإعادة التدريب والضبط الدقيق:
الهندسة العامة للنموذج الأساسي هي RNN بسيطة مع وحدة LSTM ثنائية الاتجاه مثلما هو أدناه:
الصورة مأخوذة من Tensorflow (الرابط)
باستخدام هذه البنية RNN، تمكنا من تحقيق تحسينات في الأداء على النماذج الأبسط:
| بنية النموذج | الدقة | درجة F1 |
|---|---|---|
| نموذجنا النهائي | 0.995 | 0.993 |
| شبكة عصبية بدون وحدة LSTM | 0.956 | 0.891 |
| شجرة القرار | 0.878 | 0.840 |
| الانحدار اللوجستي | 0.946 | 0.914 |
على الرغم من أننا قمنا بتضمين سجلات من تطبيقات مختلفة لتحسين قابلية تعميم النموذج الأساسي، إلا أن المزيد من الصيانة وإعادة تدريب النموذج ستكون مهمة من أجل:
لمعالجة هذا الأمر، يستفيد مستخدمو NGWAF من خط أنابيب إعادة تدريب النموذج من البداية إلى النهاية المعبأ لدينا، ويمكنهم بسهولة تشغيل صيانة النموذج بخطوات بسيطة دون الحاجة إلى البحث تحت الغطاء. (انظر القسم 3 أدناه).
لا تدعهم يذهبون، احتجزهم!
على عكس جدران الحماية التقليدية حيث يتم حظر أو إسقاط الحركة الضارة على الفور. يتبع NGWAF نهجًا أكثر مرونة. حيث يقوم بإعادة توجيه واحتجاز الجهات الفاعلة الضارة داخل بيئة الحجر الصحي. تتكون هذه البيئة من أنظمة خادعة محاكاة تفاعلية متنوعة لمحاولة جمع المزيد من أساليب/بيانات الهجوم، وسيتم استخدام هذه البيانات لتعزيز معدل الكشف لـ NGWAF عن الهجمات الأكثر حداثة وتعقيدًا.
حاليًا، تقوم بيئة الحجر الصحي في NGWAF بإعادة توجيه جميع البيانات التي يقدمها المهاجم المحتجز إلى مجموعة ELK الخاصة بنا للتحليل والتصور. يتم تنظيف البيانات تلقائيًا إلى مكونات مختلفة لطلب HTTP، ثم يتم تعبئتها داخليًا على الخادم الخلفي للبيئة بتنسيق JSON قبل إعادة التوجيه. يساعد هذا في تقليل تكلفة العمالة المطلوبة لتنظيف البيانات وفهرستها عندما نبدأ عملية إعادة التدريب.