Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
qai2026-fgsm-transfer — QAI 2026 논문에서 시뮬레이션에서 IBM 양자 하드웨어로의 FGSM 공격 전이성에 관한 코드와 결과입니다. | Kitploit
도구/GitHubGitHub/xeeshanajmal/qai2026-fgsm-transfer
Network SecurityMachine LearningIntrusion DetectionPapers & ResearchAI SecurityAdversarial Attack
GitHubxeeshanajmal/qai2026-fgsm-transfer

qai2026-fgsm-transfer

QAI 2026 논문에서 시뮬레이션에서 IBM 양자 하드웨어로의 FGSM 공격 전이성에 관한 코드와 결과입니다.

저장소 보기
1291개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

네트워크 침입 탐지를 위한 변분 양자 분류기의 적대적 견고성

네트워크 침입 탐지에서 시뮬레이션에서 양자 하드웨어로의 FGSM 공격 전이성 논문(IEEE International Conference on Quantum Artificial Intelligence (QAI) 2026)의 코드, 학습된 파라미터 및 결과입니다.

논문의 수치는 results/에 있는 JSON 파일에서 나옵니다. 여기의 스크립트가 그 파일들을 생성했습니다.

파일

src/        experiment scripts, numbered in run order
data/       preprocessed splits (the raw CICIDS2017 CSVs are not included)
models/     trained circuit parameters
results/    one JSON per experiment
figures/    the two figures in the paper

요구 사항

python >= 3.10
pennylane == 0.44.1
qiskit-ibm-runtime
numpy, scipy, scikit-learn, pandas, matplotlib

pip install -r requirements.txt로 설치하세요.

스크립트 08과 09는 실제 하드웨어에서 실행되므로 IBM Quantum 계정이 필요합니다. .env.example을 복사하고 자신의 토큰과 인스턴스를 입력하세요. 그런 다음 환경 변수로 설정하세요. 스크립트는 환경에서만 자격 증명을 읽습니다.

데이터

원본 캡처는 여기에 없습니다. Canadian Institute for Cybersecurity에서 CICIDS2017을 다운로드하고 Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv를 data/에 넣으세요. 사용되는 파일은 이것 하나뿐입니다.

01_preprocess.py는 네 개의 .npy 분할을 생성합니다. 학습에서 공격 1134개, 정상 866개 샘플을 얻어야 합니다. 테스트에서는 공격 284개, 정상 216개입니다. 개수가 다르면 다른 캡처 파일이거나 다른 scikit-learn 버전을 사용한 것입니다.

실행 방법

스크립트를 번호 순서대로 실행하세요. 스크립트 04부터 07은 01, 02, 03이 먼저 실행되어 있어야 합니다.

스크립트생성물실행 시간
01_preprocess.pydata/의 네 개 분할초 단위
02_train_narrow_margin.pymodels/clean_params.npy초 단위
03_retrain_poisoning_and_noise.py오염 및 노이즈 모델, 결과 파일 두 개수 시간
04_epsilon_sweep.pyresults/epsilon_sweep.json1분 이내
05_compare_attack_guidance.pyresults/gradient_vs_untargeted.json1분 이내
06_finish_rq3.py무노이즈 기준선 및 노이즈 FGSM 스윕약 1시간
07_margin_control.pyresults/margin_control.json몇 분
08_run_hardware_models.pyresults/hardware_clean_vs_poisoned.json대기 시간
09_run_hardware_fgsm.pyresults/hardware_fgsm_adam.json대기 시간
10_convert_hardware_results.pyresults/hardware_fgsm_cobyla.json초 단위
make_figures.py두 개의 그림초 단위

스크립트 03이 느린 작업입니다. 밀도 행렬을 시뮬레이션하는데, 초기화당 약 16분이 소요됩니다. 세 가지 노이즈 수준 각각에서 세 번의 초기화를 학습합니다.

하드웨어 스크립트는 모든 회로를 하나의 작업으로 전송합니다. 그러면 작업 내 모든 회로가 동일한 캘리브레이션 상태를 공유합니다. 두 스크립트 모두 --dry-run을 지원하며, 이 옵션은 모든 것을 트랜스파일하고 아무것도 전송하지 않은 채 회로 통계를 출력합니다.

어떤 파일이 어떤 결과를 만드는가

논문결과 파일스크립트
표 I, 포이즈닝poisoning_retrained.json03
표 II, 비표적 공격에 대한 FGSMgradient_vs_untargeted.json05
표 III, 시뮬레이션 대 하드웨어hardware_clean_vs_poisoned.json, hardware_fgsm_adam.json08, 09
표 IV, 디폴라라이징 노이즈noise_retrained.json, noise_fgsm_sweep.json, noiseless_400_baseline.json03, 06
그림 1, 하드웨어로의 전이hardware_fgsm_adam.json, hardware_fgsm_cobyla.json09, 10
그림 2, 노이즈 하의 정확도와 마진표 IV와 동일03, 06
섹션 IV-A, 클린 기준선clean_history.json, noise_retrained.json02, 03
섹션 IV-C, 결정 마진epsilon_sweep.json04
섹션 VI, 마진 제어margin_control.json07

학습된 모델

파일설명
clean_params.npy좁은 마진 분류기, COBYLA, 마진 0.07에서 정확도 86.8%
noisy_0.0_params.npy넓은 마진 분류기, Adam, 마진 0.54에서 정확도 92.2%
noisy_0.0_params_400.npy노이즈 수준 간 비교를 위해 400개 샘플 부분집합으로 학습한 무노이즈 모델
noisy_0.001_params.npy, noisy_0.01_params.npy, noisy_0.05_params.npy디폴라라이징 노이즈 수준별 하나씩
poisoned_5pct_params.npy, poisoned_10pct_params.npy, poisoned_15pct_params.npy레이블 뒤집기 비율별 하나씩

하드웨어 실행

모든 실행은 156큐비트 Heron r2 프로세서인 IBM Fez를 사용했습니다. 회로당 1024 샷, Qiskit Runtime SamplerV2를 통해 실행했습니다. 트랜스파일은 최적화 수준 1에서 수행했습니다.

모든 실행은 동일한 논리 회로를 제출했습니다: 2큐비트 게이트 12개를 가진 깊이 20. 트랜스파일은 이를 물리적 큐비트에 매핑하며, 이는 제출할 때마다 두 수치를 모두 변경합니다.

결과스크립트회로트랜스파일된 깊이2큐비트 게이트
클린 및 포이즌 모델 정확도0810010027
FGSM 전이, 넓은 마진 모델091508742
FGSM 전이, 좁은 마진 모델이전 코드, 09로 대체됨400기록되지 않음기록되지 않음

좁은 마진 전이 실행은 이 저장소의 스크립트보다 앞선 것입니다. 그 출력은 results/transferability_hw_50_expA.json이며, 스크립트 10이 이를 그림이 읽는 형식으로 변환합니다. 해당 실행은 스크립트 09와 동일한 회로와 동일한 최적화 수준을 사용했습니다.

기록된 두 깊이는 서로 다릅니다. 트랜스파일러는 휴리스틱으로 물리적 큐비트를 선택하므로, 동일한 회로가 각 제출마다 다르게 매핑됩니다. 두 실행 모두 여전히 시뮬레이션과 일치했습니다.

재현할 수 없는 것

하드웨어 결과는 그날의 장치 교정 상태에 따라 달라집니다. 동일한 회로를 다시 보내면 다른 카운트를 얻게 됩니다. JSON 파일은 장치가 무엇을 했는지에 대한 기록입니다.

models/clean_params.npy는 재생성할 수 없습니다. 초기 매개변수가 시드된 생성기가 아닌 전역 NumPy 난수 상태에서 나왔기 때문입니다. 02_train_narrow_margin.py는 이제 초기화에 시드를 설정하므로, 새 실행은 그들 사이에서 재현 가능합니다. 하지만 결과는 다른 지점에 도달하며, 그 편차는 큽니다. 확률적 목적 함수에 대한 무기울기 최적화기는 다수 클래스를 예측하는 쪽으로 붕괴할 수 있습니다. 스크립트는 그런 일이 발생하면 이를 알려줍니다.

나머지는 시드가 설정되어 있습니다. 정확도는 여전히 초기화에 따라 달라지므로, 스크립트는 단일 실행 대신 평균과 표준 편차를 보고합니다. 논문의 VI절에서 그 이유를 설명합니다.

인용

@inproceedings{ajmal2026fgsm,
  author    = {Ajmal, Zeeshan and Halunen, Kimmo and Mau{\ss}ner, Marc
               and Reers, Volker and Khan, Arif Ali},
  title     = {{FGSM} Attack Transferability from Simulation to Quantum
               Hardware in Network Intrusion Detection},
  booktitle = {IEEE International Conference on Quantum Artificial
               Intelligence (QAI)},
  year      = {2026},
  note      = {To appear},
}

라이선스

코드는 MIT 라이선스를 따릅니다. LICENSE를 참조하세요.

CICIDS2017은 캐나다 사이버보안 연구소(Canadian Institute for Cybersecurity)에서 자체 조건에 따라 제공됩니다. 본 저장소에서 재배포되지 않습니다.

감사의 글

본 연구는 Business Finland 프로젝트(24304955) SeQuSoS의 지원을 받았습니다. IBM Quantum 서비스의 사용을 인정합니다. 본문에 표현된 견해는 저자들의 것이며 IBM 또는 IBM Quantum 팀의 공식 정책 이나 입장을 반영하지 않습니다.

도구 다운로드