
Санитизация без переобучения, которая переупорядочивает перестановочно-эквивалентные блоки нейронной сети, чтобы уничтожить вредоносный код, внедрённый через атаки весовой стеганографии, сохраняя при этом точность модели.
Код для статьи NeuPerm: Disrupting the Extraction of Malware Hidden in Neural Network Parameters by Leveraging Permutation Symmetry.
NeuPerm — это этап санитизации с нулевыми затратами и без переобучения, который нарушает работу вредоносного ПО, скрытого в предобученных весах модели, путём переупорядочивания перестановочно-эквивалентных единиц. Перестановка оставляет вычисления на уровне модели неизменными, при этом уничтожая полезные нагрузки, внедрённые атаками весовой стеганографии, такими как MaleficNet и EvilModel, с пренебрежимо малыми потерями точности модели.
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)
Патент заявлен. Лицензировано только для некоммерческого использования без производных (Creative
Commons Attribution-NonCommercial-NoDerivatives 4.0 International) — см.
LICENSE.
Репозиторий предоставляет по одному скрипту на каждый эксперимент статьи, а CSV-файлы, лежащие в основе
таблиц и рисунков статьи, закоммичены в results/. См.
REPRODUCTION.md для индекса артефакт статьи → скрипт/CSV
и для наборов данных, моделей и полезных нагрузок, которые вы должны предоставить сами.
conda env create -n neuperm -f environment.yaml
conda activate neuperm
pip install -e .
Зависимости зафиксированы для Python 3.9.18, PyTorch 2.1.0 (CUDA 11.8) и
torchvision 0.16.0, с HuggingFace transformers для двух LLM; точный
набор указан в environment.yaml и requirements-lock.txt.
Примечание: если у вас установлен
pyenv, его shims могут оставаться впереди conda's bin вPATHдаже послеconda activate. Проверьте с помощьюwhich python— он должен вывести.../envs/neuperm/bin/python. Если он возвращает путь~/.pyenv/shims/, сначала выполнитеpyenv shell systemили вызовите бинарный файл окружения напрямую.
См. CITATION.cff.