
إطار عمل لتنفيذ أنظمة كشف التسلل الشبكي (NIDS) تهدف إلى تحديد الشذوذ في تدفقات الشبكة باستخدام نماذج التعلم الموحد.
إطار لتنفيذ أنظمة كشف التسلل (NIDS) تهدف إلى تحديد الحالات الشاذة في تدفقات الشبكة باستخدام نماذج التعلم الآلي.
لإنشاء البيئة التجريبية، قم بتنفيذ الأوامر التالية:
python -m venv .env
ملاحظة: يجب أن يحمل البيئة الافتراضية هذا الاسم لأن النصوص البرمجية تستخدم هذا الاسم لتحميل المكتبات المطلوبة. fl-unsup-nids/blob/anomaly-flow-baseline/utils/load_data.py بعد إنشاء البيئة الافتراضية، استخدم الأمر التالي لتثبيت حزم Python اللازمة:
pip install -r requirements.txt
لتشغيل التجارب المحلية، استخدم الأمر التالي:
source experiments.sh
لتشغيل تجارب التعلم الموحد، استخدم الأمر التالي:
source run.sh
لتشغيل التجارب، نحتاج إلى وجود CIC-IDS2018 و BoT-IoT و ToN-IoT في مجلد يُسمى datasets في جذر المشروع، على سبيل المثال:
|- anomaly-flow
|- datasets
|- NF-CSE-CIC-IDS2018-v2-DDoS.csv.gz
|- NF-BoT-IoT-v2-DDoS.csv.gz
|- NF-ToN-IoT-v2-DDoS.csv.gz
في حالتنا، استخدمنا مجموعات بيانات مشتقة تحتوي فقط على عينات طبيعية وعينات من هجمات DDoS تمت تصفيتها من مجموعات البيانات الأصلية.
لتوليد بيانات اصطناعية لمجموعة بيانات محددة، استخدم النص البرمجي main.ipynb.
لتشغيل نصوص النماذج الخارجية والبسيطة، يرجى تثبيت حزمة pip المخصصة لخوارزمية EFC:
chmod +x ./auxiliary_scripts/install-efc.sh
./auxiliary_scripts/install-efc.sh
خطوط الأساس للكشف عن هجمات DDoS متعددة المجالات باستخدام التعلم الموحد متاحة هنا:
يمكن الحصول على البيانات المستخدمة لإجراء التجارب من:
مجموعات بيانات NIDS القائمة على التعلم الآلي (مجموعات بيانات Netflow V2)
تم استخدام المشاريع التالية كمرجع في إعداد هذا العمل:
@ARTICLE{anomalyflow,
author={De Melo, Leonardo Henrique and Bertoli, Gustavo de Carvalho and Nogueira, Michele and Dos Santos, Aldri Luiz and Pereira, Lourenço Alves},
journal={IEEE Network},
title={Anomaly-Flow: A Multi-domain Federated Generative Adversarial Network for Distributed Denial-of-Service Detection},
year={2025},
volume={},
number={},
pages={1-1},
doi={10.1109/MNET.2025.3567251}
}