
가중치 스테가노그래피 공격을 통해 삽입된 악성코드를 파괴하기 위해 순열 등가 신경망 유닛을 재정렬하면서 모델 정확도를 유지하는 제로 재훈련 새니타이제이션.
논문 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/ 아래에 커밋되어 있습니다. 논문 아티팩트 → 스크립트/CSV 색인과
직접 제공해야 하는 데이터셋, 모델, 페이로드에 대해서는
REPRODUCTION.md를 참조하세요.
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, 두 LLM을 위한 HuggingFace transformers에 맞춰 고정되어 있으며,
정확한 목록은 environment.yaml과 requirements-lock.txt에 있습니다.
참고:
pyenv가 설치되어 있다면,conda activate후에도 shim이PATH에서 conda의 bin보다 앞설 수 있습니다.which python으로 확인하세요 —.../envs/neuperm/bin/python을 출력해야 합니다. 만약~/.pyenv/shims/경로를 반환하면 먼저pyenv shell system을 실행하거나 환경의 바이너리를 직접 호출하세요.
CITATION.cff 참조.