Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
FreeMOCA | Kitploit
उपकरण/GitHubGitHub/iqsec-lab/freemoca
एंड्रॉइड सुरक्षास्थैतिक विश्लेषणमालवेयर विश्लेषणमशीन लर्निंगपेपर और शोधलर्निंग और शिक्षा
GitHubiqsec-lab/freemoca

FreeMOCA

रिपॉजिटरी देखें
1 महीना पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

FreeMOCA: दुर्भावनापूर्ण कोड विश्लेषण के लिए मेमोरी-मुक्त सतत अधिगम

[ArXiv पेपर लिंक]

Zahra Asadi*, Haeseung Jeon*, Sohyun Han, Md Mahmuduzzaman Kamol, Se Eun Oh, Mohammad Saidur Rahman†

*समान रूप से श्रेय प्राप्त लेखक। †संबंधित लेखक।

[!NOTE] यह पेपर FreeMOCA: दुर्भावनापूर्ण कोड विश्लेषण के लिए मेमोरी-मुक्त सतत अधिगम का आधिकारिक कार्यान्वयन है।

FreeMOCA पाइपलाइन

FreeMOCA_Overview_v3

FreeMOCA निम्नलिखित प्रक्रिया के अनुसार कार्य करता है:

  1. कार्य क्रमिक रूप से आते हैं, जिनमें से प्रत्येक नए मैलवेयर परिवारों को प्रस्तुत करता है।
  2. प्रत्येक कार्य के लिए मॉडल को पिछले कार्य से (warm-start) प्रारंभ किया जाता है, ताकि पैरामीटर स्पेस में कार्यों के न्यूनतम बिंदु संरेखित हो सकें।
  3. प्रशिक्षण के बाद, वर्तमान और पिछले कार्य के इष्टतम बिंदुओं के बीच एक mode connectivity–based interpolation की गणना की जाती है। यह प्रक्रिया पैरामीटर अपडेट परिमाण के आधार पर adaptive layer-wise interpolation का उपयोग कर सकती है।
  4. इंटरपोलेटेड मॉडल वर्तमान मॉडल को प्रतिस्थापित करता है और अगले कार्य के लिए उपयोग किया जाता है।
  5. कोई पिछला डेटा, फीचर्स या जनरेटेड सैंपल संग्रहीत नहीं किए जाते, जिसके परिणामस्वरूप मेमोरी-मुक्त सतत अधिगम होता है।

पूरी प्रक्रिया जुड़े हुए समाधानों की एक श्रृंखला निर्मित करती है जो निम्न-हानि मैनिफोल्ड पर स्थित होते हैं, जिससे विनाशकारी विस्मृति काफी कम हो जाती है।

डेटासेट

FreeMOCA का मूल्यांकन दो बड़े पैमाने के मैलवेयर डेटासेट, EMBER और Androzoo, के साथ किया गया। डेटासेट स्रोत:

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

डेटासेट को निम्न निर्देशिका में डाउनलोड करें और सेट अप करें:

root@kitploit:~
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-Incremental Learning (Class-IL): कार्यों के दौरान नई कक्षाएं (मैलवेयर परिवार) शामिल की जाती हैं।
  • Domain-Incremental Learning (Domain-IL): लेबल स्पेस निश्चित रहता है, लेकिन डेटा वितरण समय के साथ बदलता है (जैसे, महीनों/वर्षों में)।

चरण 1. इंस्टॉलेशन

इसके लिए निम्न कमांड चलाएं

root@kitploit:~
conda create -n freemoca python=3.9
conda activate freemoca
pip install -r requirements.txt

चरण 2. FreeMOCA चलाएं (Class-IL और Domain-IL)

root@kitploit:~
# 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
root@kitploit:~
# 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
root@kitploit:~
# EMBER Domain-IL
cd ./FreeMOCA_Domain/EMBER_Domain
CUDA_VISIBLE_DEVICES=0 python main.py --data_root /path/to/data/directory
root@kitploit:~
# AZ Domain-IL
cd ./FreeMOCA_Domain/AZ_Domain
CUDA_VISIBLE_DEVICES=0 python main.py --data_root /path/to/data/directory

हाइपरपैरामीटर के अधिक विस्तृत सेटअप के लिए, परिशिष्ट A. FreeMOCA के सामान्य आर्ग्युमेंट देखें।

परिशिष्ट A. FreeMOCA के सामान्य आर्ग्युमेंट

हाइपरपैरामीटर या प्रयोगात्मक सेटिंग्स को समायोजित करने के लिए, निम्न आर्ग्युमेंट का उपयोग करें:

आर्ग्युमेंट की डिफ़ॉल्ट सेटिंग बदलने के लिए, arguments.py फ़ाइल देखें।

बेसलाइन्स

हमारी रिपॉजिटरी निम्नलिखित मानक बेसलाइन्स पर प्रयोगों का समर्थन करती है:

  • None: केवल वर्तमान कार्य पर प्रशिक्षण (निचली सीमा)
  • Joint: अब तक देखे गए सभी डेटा पर प्रशिक्षण (ऊपरी सीमा, अव्यावहारिक)

आप इसे निम्न कमांड के साथ चला सकते हैं:

root@kitploit:~
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" कार्य पर आधारित।

आप बेसलाइन्स को निम्न कमांड के साथ चला सकते हैं:

root@kitploit:~
# 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"
root@kitploit:~
# WSC for EMBER-Class
cd ./baselines/WSC
MODEL_NAME=wsc_20_ember
python main.py --config=./exps/wsc_memory/$MODEL_NAME.json
root@kitploit:~
# WSC for AZ-Class
cd ./baselines/WSC
MODEL_NAME=wsc_20_az
python main.py --config=./exps/wsc_memory/$MODEL_NAME.json
root@kitploit:~
# 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
root@kitploit:~
# 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
root@kitploit:~
# 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
root@kitploit:~
# 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

# iCaRL for AZ-Class
cd ./baselines/GR_EWC_LwF_iCaRL_AZ
CUDA_VISIBLE_DEVICES=0 python main.py --data_set=ANDROZOO --tasks=11 --icarl --budget=2000 --metrics --logger_file=icarl --scenario=class
root@kitploit:~
# TAMiL for EMBER-Class
cd ./baselines/TAMiL_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py

# TAMiL for AZ-Class
cd ./baselines/TAMiL_AZ
CUDA_VISIBLE_DEVICES=0 python main.py
root@kitploit:~
# MalCL for EMBER-Class
cd ./baselines/MalCL_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py --train_data /path/to/data --test_data /path/to/data

# MalCL for AZ-Class
cd ./baselines/AZ_EMBER
CUDA_VISIBLE_DEVICES=0 python main.py --train_data /path/to/data --test_data /path/to/data
टूल डाउनलोड करें
आर्ग्युमेंटविवरण
--init_classesकार्य 0 पर कक्षाओं की संख्या
--epochsप्रति कार्य एपॉक्स
--batchsizeबैच आकार
--lrअधिगम दर
--momentumSGD मोमेंटम
--weight_decayवेट डेके
--lambda_minन्यूनतम इंटरपोलेशन भार
--lambda_maxअधिकतम इंटरपोलेशन भार