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.

FeedsKontaktDatenschutz© 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
22vor 24 TagenNoch 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

Kontinuierliche Lern-Trajektorie als Gedächtnis für replay-freie Konsolidierung in der Analyse von Schadcode

[!NOTE] Dies ist die offizielle Implementierung des Papers Continual Learning Trajectory as Memory for Replay-Free Consolidation in Malicious Code Analysis.

FreeMOCA-Pipeline

FreeMOCA_Overview_v3

FreeMOCA arbeitet nach folgendem Prozess:

  1. Aufgaben treffen sequenziell ein, wobei jede neue Malware-Familien einführt.
  2. Das Modell für jede Aufgabe wird von der vorherigen Aufgabe aus initialisiert (Warm-Start), um Aufgabenminima im Parameterraum auszurichten.
  3. Nach dem Training wird eine modus-konnektivitätsbasierte Interpolation zwischen dem aktuellen und dem vorherigen Aufgabenoptimum 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 vergangenen Daten, Merkmale oder generierten Samples gespeichert, was zu gedächtnisfreiem kontinuierlichem Lernen führt.

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

Datensätze

FreeMOCA wurde mit zwei großen 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:

  • Klassen-inkrementelles Lernen (Class-IL): Neue Klassen (Malware-Familien) werden über Aufgaben hinweg eingeführt.
  • Domänen-inkrementelles Lernen (Domain-IL): Der Labelraum ist fest, aber die Datenverteilung verschiebt sich über die Zeit (z. B. Monate/Jahre).

Schritt 1. Installation

Führen Sie folgenden Befehl aus 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 sehen Sie sich Anhang A. Häufige Argumente für FreeMOCA an.

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 Standardeinstellung der Argumente zu ändern, sehen Sie sich die Datei arguments.py an.

Baselines

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

  • None: Nur auf der aktuellen Aufgabe trainieren (Untergrenze)
  • Joint: Auf allen bisher gesehenen Daten trainieren (Obergrenze, unpraktikabel)

Sie können es mit folgendem 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

und folgenden früheren Arbeiten:

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

Sie können Baselines mit folgendem 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
# 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
Tool herunterladen