Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
FreeMOCA — إطار عمل تعلّم مستمر بدون حفظ للذاكرة لتصنيف البرمجيات الخبيثة باستخدام الاستيفاء القائم على اتصال الأنماط. يدعم سيناريوهات الزيادة الصفية والزيادة النطاقية على مجموعتي بيانات EMBER وAndrozoo. | Kitploit
أدوات/GitHubGitHub/iqsec-lab/freemoca
أمان أندرويدالتحليل الثابتتحليل البرمجيات الخبيثةتعلم الآلةالأوراق والأبحاثالتعلم والتعليم
GitHubiqsec-lab/freemoca

FreeMOCA

إطار عمل تعلّم مستمر بدون حفظ للذاكرة لتصنيف البرمجيات الخبيثة باستخدام الاستيفاء القائم على اتصال الأنماط. يدعم سيناريوهات الزيادة الصفية والزيادة النطاقية على مجموعتي بيانات EMBER وAndrozoo.

عرض المستودع
22منذ 25 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

مسار التعلم المستمر كذاكرة للدمج بدون إعادة التشغيل في تحليل الأكواد الخبيثة

[!NOTE] هذا هو التنفيذ الرسمي للورقة البحثية Continual Learning Trajectory as Memory for Replay-Free Consolidation in Malicious Code Analysis.

خط أنابيب FreeMOCA

FreeMOCA_Overview_v3

يعمل FreeMOCA وفق العملية التالية:

  1. تصل المهام بشكل متسلسل، حيث تُدخل كل مهمة عائلات برمجيات خبيثة جديدة.
  2. يتم تهيئة نموذج كل مهمة من المهمة السابقة (warm-start) لمواءمة الحدود الدنيا للمهام في فضاء المعاملات.
  3. بعد التدريب، يتم حساب استيفاء قائم على اتصال الأنماط بين النقاط المثلى للمهمة الحالية والسابقة. يمكن أن تستخدم هذه العملية استيفاءً تكيفيًا طبقةً بطبقة بناءً على مقدار تحديث المعاملات.
  4. يحل النموذج المُستوفى محل النموذج الحالي ويُستخدم للمهمة التالية.
  5. لا يتم تخزين أي بيانات سابقة أو ميزات أو عينات مُولَّدة، مما يؤدي إلى تعلم مستمر خالٍ من الذاكرة.

تبني العملية بأكملها سلسلة من الحلول المترابطة التي تقع على متعدد شعب منخفض الخسارة، مما يقلل بشكل كبير من النسيان الكارثي.

مجموعات البيانات

تم تقييم FreeMOCA باستخدام مجموعتي بيانات كبيرتين للبرمجيات الخبيثة، هما EMBER وAndrozoo. مصادر مجموعات البيانات:

  • EMBER: https://github.com/elastic/ember
  • Androzoo (AZ): https://zenodo.org/records/14537891

قم بتنزيل مجموعة البيانات وإعدادها في الدليل التالي:

FreeMOCA/data/
├── AZ_Class
│   ├── AZ_Class_Test.npz
│   └── AZ_Class_Train.npz
│
├── AZ_Domain
│   ├── 2008_Domain_AZ_Test_Transfo...
│   ├── 2008_Domain_AZ_Train_Transfo...
│   ├── 2009_Domain_AZ_Test_Transfo...
│   └── ...
│
├── EMBER_Class
│   ├── XY_test.npz
│   └── XY_train.npz
│
└── EMBER_Domain
    ├── 2018-01
    ├── 2018-02
    ├── 2018-03
    └── ...

تشغيل FreeMOCA

يدعم هذا المستودع سيناريوهين للتعلم المستمر:

  • التعلم التزايدي للفئات (Class-IL): يتم إدخال فئات جديدة (عائلات برمجيات خبيثة) عبر المهام.
  • التعلم التزايدي للنطاقات (Domain-IL): فضاء التسميات ثابت، لكن توزيع البيانات يتغير عبر الزمن (مثل الأشهر/السنوات).

الخطوة 1. التثبيت

قم بتشغيل الأمر التالي من أجل

conda create -n freemoca python=3.9
conda activate freemoca
pip install -r requirements.txt

الخطوة 2. تشغيل FreeMOCA (Class-IL و Domain-IL)

# EMBER Class-IL
cd ./FreeMOCA_Class/EMBER_Class
CUDA_VISIBLE_DEVICES=0 python main.py --train_data /path/to/data --test_data /path/to/data
# AZ Class-IL
cd ./FreeMOCA_Class/AZ_Class
CUDA_VISIBLE_DEVICES=0 python main.py --train_data /path/to/data --test_data /path/to/data
# EMBER Domain-IL
cd ./FreeMOCA_Domain/EMBER_Domain
CUDA_VISIBLE_DEVICES=0 python main.py --data_root /path/to/data/directory
# AZ Domain-IL
cd ./FreeMOCA_Domain/AZ_Domain
CUDA_VISIBLE_DEVICES=0 python main.py --data_root /path/to/data/directory

للحصول على إعداد أكثر تفصيلاً للمعاملات الفائقة، راجع الملحق أ. الوسائط الشائعة لـ FreeMOCA.

الملحق أ. الوسائط الشائعة لـ FreeMOCA

لضبط المعاملات الفائقة أو الإعدادات التجريبية، استخدم الوسائط التالية:

الوسيطالوصف
--init_classesعدد الفئات في المهمة 0
--epochsعدد الحقب لكل مهمة
--batchsizeحجم الدفعة
--lrمعدل التعلم
--momentumزخم SGD
--weight_decayتحلل الوزن
--lambda_minالحد الأدنى لوزن الاستيفاء
--lambda_maxالحد الأقصى لوزن الاستيفاء

لتغيير الإعداد الافتراضي للوسائط، راجع ملف arguments.py.

خطوط الأساس

يدعم مستودعنا التجارب على خطوط الأساس القياسية التالية:

  • None: التدريب على المهمة الحالية فقط (الحد الأدنى)
  • Joint: التدريب على جميع البيانات المرئية حتى الآن (الحد الأعلى، غير عملي)

يمكنك تشغيله بالأمر التالي:

cd /path/to/experiment/directory
CUDA_VISIBLE_DEVICES=0 python none.py --arugment_you_want
CUDA_VISIBLE_DEVICES=0 python joint.py --arugment_you_want

وباتباع الأعمال السابقة:

  • CLeWI: معدَّل من مستودع GitHub هذا، عمل من "Continual Learning with Weight Interpolation."
  • WSC: معدَّل من مستودع GitHub هذا، عمل من "Forget Forgetting: Continual Learning in a World of Abundant Memory."
  • Generative Replay (GR): معدَّل من مستودع GitHub هذا، عمل من "Continual learning with deep generative replay."
  • EWC: معدَّل من مستودع GitHub هذا، عمل من "Overcoming catastrophic forgetting in neural networks."
  • LwF: معدَّل من مستودع GitHub هذا، عمل من "Learning without Forgetting."
  • iCaRL: معدَّل من مستودع GitHub هذا، عمل من "iCaRL: Incremental Classifier and Representation Learning."
  • TAMiL: معدَّل من مستودع GitHub هذا، عمل من "Task-Aware Information Routing from Common Representation Space in Lifelong Learning."
  • MalCL: معدَّل من مستودع GitHub هذا، عمل من "MalCL: Leveraging GAN-Based Generative Replay to Combat Catastrophic Forgetting in Malware Classification."

يمكنك تشغيل خطوط الأساس بالأمر التالي:

# CLeWI for EMBER-Class
cd ./baselines/CLeWI
CUDA_VISIBLE_DEVICES=6 python main.py --model="clewi" \
  --dataset="seq_ember" --n_tasks=11 \
  --lr=0.001 --buffer_size=500 --n_epochs=50 \
  --seed=42 --optim_wd=0.0 --optim_mom=0.0 \
  --batch_size=512 --sub_dataset="ember"

# CLeWI for AZ-Class
cd ./baselines/CLeWI
CUDA_VISIBLE_DEVICES=6 python main.py --model="clewi" \
  --dataset="seq_ember" --n_tasks=11 \
  --lr=0.001 --buffer_size=500 --n_epochs=50 \
  --seed=42 --optim_wd=0.0 --optim_mom=0.0 \
  --batch_size=512 --sub_dataset="az"
# WSC for EMBER-Class
cd ./baselines/WSC
MODEL_NAME=wsc_20_ember
python main.py --config=./exps/wsc_memory/$MODEL_NAME.json
# WSC for AZ-Class
cd ./baselines/WSC
MODEL_NAME=wsc_20_az
python main.py --config=./exps/wsc_memory/$MODEL_NAME.json
# GR for EMBER-Class
cd ./baselines/GR_EWC_LwF_iCaRL_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=EMBER --tasks=11 --replay=generative --metrics --logger_file gr --scenario=class

# GR for AZ-Class
cd ./baselines/GR_EWC_LwF_iCaRL_AZ
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=ANDROZOO --tasks=11 --replay=generative --metrics --logger_file gr --scenario=class
# EWC for EMBER-Class
cd ./baselines/GR_EWC_LwF_iCaRL_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=EMBER --tasks=11 --ewc --lambda=50 --metrics --logger_file ewc --scenario=class

# EWC for AZ-Class
cd ./baselines/GR_EWC_LwF_iCaRL_AZ
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=ANDROZOO --tasks=11 --ewc --lambda=50 --metrics --logger_file ewc --scenario=class
# LwF for EMBER-Class
cd ./baselines/GR_EWC_LwF_iCaRL_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=EMBER  --tasks=11 --replay=current --distill --metrics --logger_file lwf --scenario=class

# LwF for AZ-Class
cd ./baselines/GR_EWC_LwF_iCaRL_AZ
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=AZ  --tasks=11 --replay=current --distill --metrics --logger_file lwf --scenario=class
# iCaRL for EMBER-Class
cd ./baselines/GR_EWC_LwF_iCaRL_EMBER
CUDA_VISIBLE_DEVICES=1 python main.py --data_set=EMBER --tasks=11 --icarl --budget=2000 --metrics --logger_file=icarl --scenario=class
تنزيل الأداة