Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NGWAF — التكرار الأول لنظام Feedback WAF القائم على التعلم الآلي | Kitploit
أدوات/GitHubGitHub/fa-pengfei/ngwaf
أدوات دفاعيةالتهرب من IDS/IPSتجاوز WAFأمن الويباختبار الاختراقتعلم الآلةالتعلم والتعليمالفريق الأحمركشف الشذوذمختبرات وتدريب عملي
GitHubfa-pengfei/ngwaf

NGWAF

607منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

التكرار الأول لنظام Feedback WAF القائم على التعلم الآلي

عرض المستودع

جدار حماية تطبيقات الويب من الجيل التالي (NGWAF)

تم إنشاء NGWAF بواسطة @yupengfei، @zhangbosen، @matthewng و @elizabethlim.

شكر خاص لـ @ruinahkoh على مساهماتها في المراحل الأولى من NGWAF.

NGWAF هو إثبات مفهوم تجريبي وغير جاهز للاستخدام الإنتاجي في شكله الحالي.

المحتويات

  1. الدافع

    ​ كيف يعمل NGWAF؟

    ​ الاعتبارات الرئيسية لـ NGWAF

  2. المكونات | تروس NGWAF

    ​ العقل: جدار حماية يعتمد على التعلم الآلي

    ​ المرآة: بيئة عزل تفاعلية قابلة للتوسع

    ​ المكتبة: تسلسل إعادة التدريب لتعزيز العقل

  3. إعداد NGWAF

    ​ المتطلبات

    ​ التثبيت والاستخدام

  4. إخلاء المسؤولية واعتبارات أخرى

  5. الترخيص

الدافع

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

مستوحى من نقاط الألم الفعلية في تشغيل جدران الحماية، يهدف NGWAF إلى تبسيط وإعادة تصور عمليات WAF من خلال العمليات التالية:

نقطة الألمميزة NGWAF
صيانة آليات وقواعد الكشف يمكن أن تكون معقدةالاستفادة من التعلم الآلي لأتمتة عملية إنشاء وتحديث آليات الكشف
الحظر الفوري للحركة الضارة يقلل من فرص التعلم من سلوك المهاجم لتحسينات WAF مستقبليةالقضاء على التهديد من خلال إعادة التوجيه إلى الحجر الصحي بدلاً من الإسقاط والحظر التقليديين للحركة الضارة

لتسهيل النشر وجعله محمولاً، قمنا بحاويات (containerise) للمكونات المختلفة في الهندسة المعمارية باستخدام docker وقمنا بتكوينها في ملف docker-compose. هذا يسمح بتشغيله على تثبيت جديد بسرعة وسهولة حيث تتم معالجة التبعيات تلقائيًا بواسطة docker. يمكن توسيع النشر ليكون منتشرًا في مجموعة kubernetes محلية أو قائمة على مزود سحابي، مما يجعله قابلاً للتوسع حيث يمكن للمستخدمين زيادة عدد العقد/الحاويات (pods) للتعامل مع كميات كبيرة من الحركة.

تم اختبار النشر على macOS (Docker desktop)، و linux (ubuntu).

كيف يعمل NGWAF؟

يعمل NGWAF فورًا بثلاثة مكونات رئيسية، هذه المكونات كما ذكر أعلاه جميعها محتواة في حاويات وقابلة للتوسع حسب الاستخدام المرغوب. يمكن تخصيص المورد المحمي عن طريق إجراء تغيير في النشر داخل الإعداد.


الهندسة المعمارية عالية المستوى لـ NGWAF مع تدفقات الحركة المتوقعة من الأطراف المختلفة

الميزات الرئيسية

تم تصميم NGWAF مع مراعاة فوائد المستخدم الرئيسية التالية:

1. تقليل تعقيد القواعد

يستبدل NGWAF مجموعات القواعد التقليدية بنماذج التعلم العميق لتقليل تعقيد إدارة وتحديث القواعد. بدلاً من تحرير القواعد يدويًا، يقوم التعلم الآلي في NGWAF بأتمتة عملية تعلم الأنماط من البيانات الضارة. يتم تنظيف البيانات المجمعة من بيئة الحجر الصحي وتجميعها تلقائيًا، مما يسمح بإعادة تدريبها في نموذج الكشف الخاص بنا إذا رغب في ذلك.

2. الخداع السيبراني

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


NGWAF قيد التشغيل: عند اكتشاف حقن SQL، يعيد NGWAF التوجيه إلى بيئة الحجر الصحي لدينا، بدلاً من إسقاط أو حظر المحاولة.

3. الامتثال للمعايير المعترف بها دوليًا

المبدأ التوجيهي وراء إنشاء NGWAF هو الحماية من المخاطر التي أبرزتها وثيقة الوعي القياسية لمشروع أمان تطبيقات الويب المفتوح - OWASP Top 10 2021.

يتم جمع بيانات التدريب وعمليات التحقق من الامتثال لـ NGWAF وإجراؤها بناءً على هذا المطلب.

مكونات NGWAF

1. العقل: جدار حماية قائم على التعلم الآلي

من يحتاج إلى اليدوي عندما يمكننا الذهاب إلى العصبي

بدلاً من مجموعات القواعد التقليدية التي تتطلب من المحللين تحديد القواعد وإضافتها يدويًا بمرور الوقت، يستفيد NGWAF من خطوط أنابيب التعلم الآلي من البداية إلى النهاية لآلية الكشف، مما يقلل بشكل كبير من تعقيد إدارة قواعد WAF، خاصةً للكشف عن الحمولات المعقدة.

النموذج الأساسي

للقيام بذلك، احتجنا أولاً إلى إنشاء نموذج أساسي وهندسة معمارية يمكن للمستخدمين البدء بها، قبل أن يستخدموا لاحقًا البيانات التي تم جمعها من تطبيقاتهم الخاصة لإعادة التدريب والضبط الدقيق:

  1. قمنا بجمع حمولات ضارة وغير ضارة من مجموعات بيانات عامة مختلفة (1، 2، 3)
  2. بدلاً من تحديد القواعد يدويًا، نستفيد من التعلم الآلي والتعلم العميق لأتمتة عملية تعلم الأنماط من البيانات الضارة السابقة. جربنا العديد من بنى النماذج، واستخدم نموذجنا النهائي شبكة عصبية متكررة.

الهندسة العامة للنموذج الأساسي هي RNN بسيطة مع وحدة LSTM ثنائية الاتجاه مثلما هو أدناه:


الصورة مأخوذة من Tensorflow (الرابط)

الأداء

باستخدام هذه البنية RNN، تمكنا من تحقيق تحسينات في الأداء على النماذج الأبسط:

الصيانة وإعادة التدريب

على الرغم من أننا قمنا بتضمين سجلات من تطبيقات مختلفة لتحسين قابلية تعميم النموذج الأساسي، إلا أن المزيد من الصيانة وإعادة تدريب النموذج ستكون مهمة من أجل:

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

لمعالجة هذا الأمر، يستفيد مستخدمو NGWAF من خط أنابيب إعادة تدريب النموذج من البداية إلى النهاية المعبأ لدينا، ويمكنهم بسهولة تشغيل صيانة النموذج بخطوات بسيطة دون الحاجة إلى البحث تحت الغطاء. (انظر القسم 3 أدناه).

2. المرآة: بيئة عزل تفاعلية قابلة للتوسع

لا تدعهم يذهبون، احتجزهم!

على عكس جدران الحماية التقليدية حيث يتم حظر أو إسقاط الحركة الضارة على الفور. يتبع NGWAF نهجًا أكثر مرونة. حيث يقوم بإعادة توجيه واحتجاز الجهات الفاعلة الضارة داخل بيئة الحجر الصحي. تتكون هذه البيئة من أنظمة خادعة محاكاة تفاعلية متنوعة لمحاولة جمع المزيد من أساليب/بيانات الهجوم، وسيتم استخدام هذه البيانات لتعزيز معدل الكشف لـ NGWAF عن الهجمات الأكثر حداثة وتعقيدًا.

التقاط البيانات الضارة والتنظيف التلقائي لأغراض إعادة التدريب

حاليًا، تقوم بيئة الحجر الصحي في NGWAF بإعادة توجيه جميع البيانات التي يقدمها المهاجم المحتجز إلى مجموعة ELK الخاصة بنا للتحليل والتصور. يتم تنظيف البيانات تلقائيًا إلى مكونات مختلفة لطلب HTTP، ثم يتم تعبئتها داخليًا على الخادم الخلفي للبيئة بتنسيق JSON قبل إعادة التوجيه. يساعد هذا في تقليل تكلفة العمالة المطلوبة لتنظيف البيانات وفهرستها عندما نبدأ عملية إعادة التدريب.

إنشاء بيئة الحجر الصحي المخصصة لك

يتيح NGWAF حاليًا للمستخدمين إجراء تغييرات على مظهر الواجهة الأمامية لأنظمة الخداع الخاصة بنا داخل بيئة الحجر الصحي (بناءً على نسخة مخصصة من drupot). على المستخدمين ببساطة استبدال مجلد الأصول داخل حجم docker بأصول الواجهة الأمامية التي يختارونها.

NGWAF متكيف أيضًا مع المستخدمين الذين يرغبون في ربط أنظمة الخداع الخاصة بهم كجزء من بيئة الحجر الصحي. على المستخدمين فقط إعادة توجيه طلبات HTTP الخاصة بنظام الخداع إلى الخادم الخلفي للبيئة (ستقوم العمليات الخلفية تلقائيًا بتنظيف البيانات وإعادة توجيهها إلى لوحة تحليل - مجموعة ELK).

3. المكتبة: تسلسل إعادة التدريب لتعزيز العقل

الذكاء ليس ذكاءً حقًا حتى تتمكن من مواصلة التعلم

مع ظهور حمولات وأنماط هجوم جديدة، من المهم ترقية قدرات الكشف لضمان الأمان. لذلك، تم بناء وظيفة إعادة تدريب في NGWAF لضمان أن يتمكن المدافعون من تدريب نموذج التعلم الآلي لاكتشاف تلك الحمولات الأحدث. سيظل المستخدمون غير المألوفين بعلوم البيانات أو الشبكات العصبية قادرين على ضبط النماذج باستخدام هذه الواجهة البسيطة، حيث يتم التعامل مع الخطوات المعقدة نيابة عنهم.

كيف تعمل

يحتاج المستخدمون فقط إلى تحميل عينة صغيرة من البيانات الموسومة من نظامهم الحي (على سبيل المثال، في حدود الألف المنخفضة)، والتي سيتم استخدامها لضبط النموذج الحالي في الخلفية:

  1. تقديم مفاهيم جديدة: سيتم توسيع مفردات طبقة توجيه النص للنموذج لتشمل مصطلحات جديدة في مجموعة البيانات الجديدة. سيتم أيضًا تهيئة تضمينات جديدة لهذا الغرض.
  2. الاحتفاظ بالمعرفة الحالية: للاستفادة من "المعرفة المكتسبة" الحالية داخل النموذج السابق، سيتم تحميل التضمينات للكلمات المعروفة سابقًا ووحدة LSTM من النموذج السابق. يساعد هذا أيضًا في تسريع عملية التدريب.
  3. سيتم بعد ذلك تدريب هذه البنية المحدثة على مجموعة البيانات الجديدة، وعند اكتمال التدريب، سيتم نشر النموذج الجديد على نقطة نهاية WAF الحية.

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

سير عمل المستخدم

لبدء عملية إعادة التدريب، توجه إلى لوحة التحكم واتبع هذه الخطوات:

  1. أنشئ مجموعة بيانات جديدة (.csv) للتحميل بالأعمدة التالية:
  • payload [str]: يجب أن يكون هذا إما الحمولة من نظامك، أو بعض الأمثلة النصية (على سبيل المثال، أمثلة حقن SQL)
  • label [int]: يجب أن يكون 0 للأمثلة غير الضارة و 1 للأمثلة الضارة
  • is_url [bool]: يجب أن يكون TRUE إذا كانت الحمولة من نظامك (أي تتضمن معلومات نظام أخرى مثل المسار والجهاز)، و FALSE إذا كانت مثالًا نصيًا (على سبيل المثال "1==1")
  1. انتقل إلى http://localhost:8088 لعرض لوحة إدارة NGWAF.
  2. حدد علامة التبويب "استيراد مجموعة بيانات" وقم بتحميل مجموعة التدريب التي أنشأتها
  1. تأكد من تحميل مجموعة التدريب بنجاح ضمن علامة التبويب "إدارة مجموعات البيانات".
  1. ضمن علامة التبويب "إدارة النموذج"، حدد مجموعة (مجموعات) البيانات التي تريد إعادة تدريب النموذج عليها وانقر على زر "تحديث نموذج WAF".
  1. تهانينا! يجب أن ينتهي النموذج من إعادة التدريب بعد مرور بعض الوقت. يجب أن ترى بعض تشخيصات النموذج التي تم إرجاعها إليك.

4. ميزات إضافية:

يستخدم NGWAF مجموعة ELK لالتقاط سجلات بيانات الشبكة التي تمر عبر NGWAF، مما يسمح للمستخدمين بمراقبة حركة المرور التي تمر عبر NGWAF لمزيد من التحليل.

يأتي NGWAF أيضًا مع إشعار Telegram مباشر، لإعلام المالكين بالتهديدات الضارة الحية التي يكتشفها NGWAF.

سيناريوهات الاستخدام النموذجية

  1. تطبيق تم تطبيعه حديثًا (استخدام مستنسخ الويب المدمج / إنشاء نشر مكرر آخر لاستخدامه كبيئة عزل)
  2. التكامل مع نظام خادع/شبكة خادعة موجودة (تحديث التكوين للإشارة إلى نظام خادع/شبكة خادعة)

إعداد NGWAF

المتطلبات

أنظمة التشغيل المختبرة

  1. macOS (Docker Desktop)
  2. linux

مكون WAF ML

  1. Python
  2. request
  3. fastapi
  4. pandas
  5. scikit-learn
  6. tensorflow
  7. urllib

مكون لوحة إدارة WAF

  1. fastapi
  2. scikit-learn
  3. nltk
  4. pandas
  5. Create React App
  6. قالب React Material Admin بواسطة Flatlogic

طبقة فك التشفير

  1. خادم Cyberchef

طبقة التخزين المؤقت

  1. Redis

بيئة الحجر الصحي

  1. Drupot
  2. مكونات Elastic Search Stack (Elasticsearch، Logstash، Kibana، Filebeats)

تطبيق الويب

  1. DVWA
  2. OWASP
  3. VulnLab

التثبيت والاستخدام

مع تشغيل Docker، قم بتشغيل الملف التالي باستخدام الأمر أدناه:

./run.sh

لاستبدال الأهداف، قم بتوجيه المتغيرين dest_server و honey_pot_server إلى الأهداف الصحيحة في ملف /waf/WafApp/waf.py

root@kitploit:~
# Replace me
dest_server = "dvwa"
honey_pot_server = "drupot:5000"

بمجرد أن تكون حاوية Docker قيد التشغيل، يمكنك زيارة localhost الخاص بك، حيث تعمل هذه المنافذ على تشغيل هذه الخدمات:

قم أيضًا بإعداد ما يلي في ملف waf-secrets.env

root@kitploit:~
# ML MODEL API ENDPOINT
API_ENDPOINT="https://xxxxx.xxx"
API_KEY="******************"

# TELEGRAM CONFIG
TELEGRAM_CHAT_ID="-57893457893457345"
TELEGRAM_TOKEN="******************"

قم أيضًا بإعداد ما يلي في ملف waf-admin-secrets.env

root@kitploit:~
# ML MODEL API ENDPOINT
API_ENDPOINT="https://xxxxxx.xxx"
API_KEY="******************"
BUCKET_NAME="******************"

ACCESS_KEY_ID="******************"
SECRET_ACCESS_KEY="******************"

SQL_USERNAME="******************"
SQL_PASSWORD="******************"
SQL_SERVER="******************"
SQL_DATABASE_NAME="******************"

إخلاء المسؤولية واعتبارات أخرى

NGWAF هو مشروع قيد التطوير، مفتوح المصدر، قد تتغير الوظائف والميزات من تحديث إلى آخر. إذا كنت مهتمًا بالمساهمة، فلا تتردد في إنشاء issue أو طلب سحب (pull request)!

الترخيص

الترخيص

ترخيص MIT

تنزيل الأداة
بنية النموذج
الدقة
درجة F1
نموذجنا النهائي0.9950.993
شبكة عصبية بدون وحدة LSTM0.9560.891
شجرة القرار0.8780.840
الانحدار اللوجستي0.9460.914
المنفذالخدمةملاحظاتبيانات الدخول (إن وجدت)
8080DVWAحيث يقيم WAFadmin:password
5601Elasticsearchلعرض السجلاتelastic:changeme
8088لوحة الإدارةلوحة التحكم لإدارة نموذج WAF
5001Drupotنظام خادع