Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
FreeMOCA — Speicherfreies kontinuierliches Lernframework zur Malware-Klassifizierung mittels modenverbindungsbasierter Interpolation. Unterstützt klasseninkrementelle und domäneninkrementelle Szenarien auf den Datensätzen EMBER und Androzoo. | Kitploit
Tools/GitHubGitHub/iqsec-lab/freemoca
Android-SicherheitStatische AnalyseMalware-AnalyseMaschinelles LernenPapers & ForschungLernen & Bildung
GitHubiqsec-lab/freemoca

FreeMOCA

Speicherfreies kontinuierliches Lernframework zur Malware-Klassifizierung mittels modenverbindungsbasierter Interpolation. Unterstützt klasseninkrementelle und domäneninkrementelle Szenarien auf den Datensätzen EMBER und Androzoo.

Repository anzeigen
14vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

FreeMOCA: Speicherfreies kontinuierliches Lernen für die Analyse von Schadcode

[ArXiv-Papier-Link]

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

*Gleichberechtigte Autoren. †Korrespondierender Autor.

[!NOTE] Dies ist die offizielle Implementierung des Papers FreeMOCA: Memory-Free Continual Learning for Malicious Code Analysis.

FreeMOCA-Pipeline

FreeMOCA_Overview_v3

FreeMOCA arbeitet nach folgendem Prozess:

  1. Aufgaben treffen nacheinander ein, wobei jede neue Malware-Familien einführt.
  2. Das Modell für jede Aufgabe wird aus der vorherigen Aufgabe initialisiert (Warmstart), um die Aufgaben-Minima im Parameterraum auszurichten.
  3. Nach dem Training wird eine auf Modenkonnektivität basierende Interpolation zwischen den Optima der aktuellen und der vorherigen Aufgabe berechnet. Dieser Prozess kann eine adaptive schichtweise Interpolation basierend auf der Größe der Parameteraktualisierung verwenden.
  4. Das interpolierte Modell ersetzt das aktuelle Modell und wird für die nächste Aufgabe verwendet.
  5. Es werden keine früheren Daten, Merkmale oder generierten Stichproben gespeichert, was zu speicherfreiem kontinuierlichem Lernen führt.

Der gesamte Prozess konstruiert eine Kette verbundener Lösungen, die auf einer Mannigfaltigkeit mit geringem Verlust liegen, wodurch katastrophales Vergessen erheblich reduziert wird.

Datensätze

FreeMOCA wurde mit zwei groß angelegten Malware-Datensätzen evaluiert: EMBER und Androzoo. Datenquellen:

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

Laden Sie den Datensatz herunter und richten Sie ihn im folgenden Verzeichnis ein:

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 ausführen

Dieses Repository unterstützt zwei Szenarien des kontinuierlichen Lernens:

  • Klasseninkrementelles Lernen (Class-IL): Im Laufe der Aufgaben werden neue Klassen (Malware-Familien) eingeführt.
  • Domäneninkrementelles Lernen (Domain-IL): Der Labelraum ist festgelegt, aber die Datenverteilung verschiebt sich über die Zeit (z. B. Monate/Jahre).

Schritt 1. Installation

Führen Sie den folgenden Befehl für die

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

Schritt 2. FreeMOCA ausführen (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

Für eine detailliertere Einrichtung der Hyperparameter siehe Anhang A. Häufige Argumente für FreeMOCA.

Anhang A. Häufige Argumente für FreeMOCA

Um die Hyperparameter oder experimentellen Einstellungen anzupassen, verwenden Sie die folgenden Argumente:

ArgumentBeschreibung
--init_classesAnzahl der Klassen bei Aufgabe 0
--epochsEpochen pro Aufgabe
--batchsizeBatch-Größe
--lrLernrate
--momentumSGD-Momentum
--weight_decayWeight Decay
--lambda_minMinimales Interpolationsgewicht
--lambda_maxMaximales Interpolationsgewicht

Um die Standardeinstellungen der Argumente zu ändern, prüfen Sie die Datei arguments.py.

Basislinien

Unser Repository unterstützt Experimente mit den folgenden Standard-Basislinien:

  • None: Nur auf der aktuellen Aufgabe trainieren (untere Schranke)
  • Joint: Auf allen bisher gesehenen Daten trainieren (obere Schranke, unpraktikabel)

Sie können es mit dem folgenden Befehl ausführen:

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

sowie die folgenden früheren Arbeiten:

  • CLeWI: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Continual Learning with Weight Interpolation."
  • WSC: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Forget Forgetting: Continual Learning in a World of Abundant Memory."
  • Generative Replay (GR): Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Continual learning with deep generative replay."
  • EWC: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Overcoming catastrophic forgetting in neural networks."
  • LwF: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Learning without Forgetting."
  • iCaRL: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "iCaRL: Incremental Classifier and Representation Learning."
  • TAMiL: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "Task-Aware Information Routing from Common Representation Space in Lifelong Learning."
  • MalCL: Modifiziert auf Basis von diesem GitHub-Repository, basierend auf der Arbeit "MalCL: Leveraging GAN-Based Generative Replay to Combat Catastrophic Forgetting in Malware Classification."

Sie können die Basislinien mit dem folgenden Befehl ausführen:

# 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
Tool herunterladen