
Saneamiento sin reentrenamiento que reordena unidades de red neuronal equivalentes por permutación para destruir malware incrustado mediante ataques de esteganografía de pesos, preservando al mismo tiempo la precisión del modelo.
Código para el artículo NeuPerm: Disrupting the Extraction of Malware Hidden in Neural Network Parameters by Leveraging Permutation Symmetry.
NeuPerm es un paso de saneamiento de coste cero y sin reentrenamiento que interrumpe el malware oculto en los pesos de modelos preentrenados mediante la reordenación de unidades equivalentes por permutación. La permutación deja inalterado el cómputo a nivel de modelo mientras destruye las cargas útiles incrustadas por ataques de esteganografía de pesos como MaleficNet y EvilModel, con un coste insignificante para la precisión del modelo.
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)
Patente en trámite. Licenciado únicamente para uso no comercial y sin obras derivadas (Creative
Commons Attribution-NonCommercial-NoDerivatives 4.0 International) — véase
LICENSE.
El repositorio proporciona un script por cada experimento del artículo, y los CSV que respaldan
las tablas y figuras del artículo están incluidos en results/. Véase
REPRODUCTION.md para el índice de artefacto del artículo → script/CSV
y para los conjuntos de datos, modelos y cargas útiles que debe proporcionar usted mismo.
conda env create -n neuperm -f environment.yaml
conda activate neuperm
pip install -e .
Las dependencias están fijadas para Python 3.9.18, PyTorch 2.1.0 (CUDA 11.8) y
torchvision 0.16.0, con transformers de HuggingFace para los dos LLM; el conjunto exacto
está en environment.yaml y requirements-lock.txt.
Nota: si tiene
pyenvinstalado, sus shims pueden permanecer por delante del bin de conda enPATHincluso después deconda activate. Verifíquelo conwhich python— debería imprimir.../envs/neuperm/bin/python. Si devuelve una ruta~/.pyenv/shims/, ejecutepyenv shell systemprimero, o invoque el binario del entorno directamente.
Véase CITATION.cff.