
Null-Retraining-Sanitisierung, die permutationselektive neuronale Netzwerkeinheiten neu anordnet, um Malware zu zerstören, die durch Weight-Steganography-Angriffe eingebettet wurde, während die Modellgenauigkeit erhalten bleibt.
Code für das Paper NeuPerm: Disrupting the Extraction of Malware Hidden in Neural Network Parameters by Leveraging Permutation Symmetry.
NeuPerm ist ein Sanitisierungsschritt ohne Zusatzkosten und ohne erneutes Training, der in vortrainierten Modellgewichten versteckte Malware stört, indem er permutationsäquivalente Einheiten neu anordnet. Die Permutation lässt die Berechnung auf Modellebene unverändert, zerstört jedoch Payloads, die durch Weight-Steganography-Angriffe wie MaleficNet und EvilModel eingebettet wurden, bei vernachlässigbaren Kosten für die Modellgenauigkeit.
from neu_perm.perm import permute_model
# any supported CNN (vgg11/16, resnet50/101, densenet121,
# efficientnet_b0/b4, mobilenet_v2/v3_small) or LLM (llama-3.2-1b, qwen2.5-1.5b)
sanitized_sd = permute_model("vgg16", model.state_dict())
model.load_state_dict(sanitized_sd)
Patent angemeldet. Nur für nicht-kommerzielle Nutzung ohne Bearbeitung
lizenziert (Creative Commons Attribution-NonCommercial-NoDerivatives 4.0
International) — siehe LICENSE.
Das Repository stellt ein Skript pro Paper-Experiment bereit, und die CSVs, die
den Tabellen und Abbildungen des Papers zugrunde liegen, sind unter results/
eingecheckt. Siehe REPRODUCTION.md für den Index
Paper-Artefakt → Skript/CSV sowie für die Datensätze, Modelle und Payloads, die
Sie selbst bereitstellen müssen.
conda env create -n neuperm -f environment.yaml
conda activate neuperm
pip install -e .
Die Abhängigkeiten sind für Python 3.9.18, PyTorch 2.1.0 (CUDA 11.8) und
torchvision 0.16.0 festgeschrieben, mit HuggingFace transformers für die
beiden LLMs; der genaue Satz steht in environment.yaml und
requirements-lock.txt.
Hinweis: Wenn Sie
pyenvinstalliert haben, können dessen Shims auf demPATHvor condas bin bleiben, selbst nachconda activate. Überprüfen Sie dies mitwhich python— es sollte.../envs/neuperm/bin/pythonausgeben. Wenn ein Pfad unter~/.pyenv/shims/zurückgegeben wird, führen Sie zuerstpyenv shell systemaus oder rufen Sie die Binärdatei der Umgebung direkt auf.
Siehe CITATION.cff.