Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
qai2026-fgsm-transfer — Codice e risultati per il paper QAI 2026 sulla trasferibilità dell'attacco FGSM dalla simulazione all'hardware quantistico IBM. | Kitploit
Strumenti/GitHubGitHub/xeeshanajmal/qai2026-fgsm-transfer
Sicurezza di ReteMachine LearningRilevamento IntrusioniPaper e RicercaSicurezza dell'IAAttacco Avversario
GitHubxeeshanajmal/qai2026-fgsm-transfer

qai2026-fgsm-transfer

Codice e risultati per il paper QAI 2026 sulla trasferibilità dell'attacco FGSM dalla simulazione all'hardware quantistico IBM.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
1251 mese faNon ancora revisionato
Condividi

Robustezza avversariale di un classificatore quantistico variazionale per il rilevamento di intrusioni di rete

Codice, parametri addestrati e risultati per il paper FGSM Attack Transferability from Simulation to Quantum Hardware in Network Intrusion Detection, IEEE International Conference on Quantum Artificial Intelligence (QAI) 2026.

I numeri nel paper provengono dai file JSON in results/. Gli script qui presenti hanno prodotto quei file.

File

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

Requisiti

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

Installa con pip install -r requirements.txt.

Gli script 08 e 09 girano su hardware reale, quindi richiedono un account IBM Quantum. Copia .env.example e inserisci il tuo token e la tua istanza. Poi impostali come variabili d'ambiente. Gli script leggono le credenziali solo dall'ambiente.

Dati

La cattura grezza non è qui. Scarica CICIDS2017 dal Canadian Institute for Cybersecurity e metti Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv in data/. È l'unico file utilizzato.

01_preprocess.py costruisce i quattro split .npy. Dovresti ottenere 1134 campioni di attacco e 866 benigni nel training. Nel test, 284 di attacco e 216 benigni. Conteggi diversi indicano un file di cattura diverso, o una versione diversa di scikit-learn.

Come eseguire

Esegui gli script in ordine numerico. Gli script da 04 a 07 richiedono che 01, 02 e 03 siano stati eseguiti prima.

ScriptProduceTempo di esecuzione
01_preprocess.pyi quattro split in data/secondi
02_train_narrow_margin.pymodels/clean_params.npysecondi
03_retrain_poisoning_and_noise.pymodelli avvelenati e rumorosi, due file di risultatidiverse ore
04_epsilon_sweep.pyresults/epsilon_sweep.jsonmeno di un minuto
05_compare_attack_guidance.pyresults/gradient_vs_untargeted.jsonmeno di un minuto
06_finish_rq3.pybaseline senza rumore e sweep FGSM sul rumorecirca un'ora
07_margin_control.pyresults/margin_control.jsonqualche minuto
08_run_hardware_models.pyresults/hardware_clean_vs_poisoned.jsontempo di coda
09_run_hardware_fgsm.pyresults/hardware_fgsm_adam.jsontempo di coda
10_convert_hardware_results.pyresults/hardware_fgsm_cobyla.jsonsecondi
make_figures.pyle due figuresecondi

Lo script 03 è quello lento. Simula matrici di densità, il che costa circa sedici minuti per inizializzazione. Addestra tre inizializzazioni per ciascuno dei tre livelli di rumore.

Gli script per l'hardware inviano tutti i loro circuiti in un unico job. Ogni circuito in un job condivide quindi lo stesso stato di calibrazione. Entrambi gli script accettano --dry-run, che transpila tutto e stampa le statistiche dei circuiti senza inviare nulla.

Quale file produce quale risultato

PaperFile di risultatiScript
Tabella I, avvelenamentopoisoning_retrained.json03
Tabella II, FGSM contro non miratogradient_vs_untargeted.json05
Tabella III, simulazione contro hardwarehardware_clean_vs_poisoned.json, hardware_fgsm_adam.json08, 09
Tabella IV, rumore depolarizzantenoise_retrained.json, noise_fgsm_sweep.json, noiseless_400_baseline.json03, 06
Figura 1, trasferimento su hardwarehardware_fgsm_adam.json, hardware_fgsm_cobyla.json09, 10
Figura 2, accuratezza e margine sotto rumorecome la Tabella IV03, 06
Sezione IV-A, baseline pulitaclean_history.json, noise_retrained.json02, 03
Sezione IV-C, margini decisionaliepsilon_sweep.json04
Sezione VI, controllo del marginemargin_control.json07

Modelli addestrati

FileCos'è
clean_params.npyclassificatore a margine stretto, COBYLA, 86,8% di accuratezza con margine 0,07
noisy_0.0_params.npyclassificatore a margine ampio, Adam, 92,2% di accuratezza con margine 0,54
noisy_0.0_params_400.npymodello senza rumore addestrato sul sottoinsieme di 400 campioni, per confrontare tra livelli di rumore
noisy_0.001_params.npy, noisy_0.01_params.npy, noisy_0.05_params.npyuno per livello di rumore depolarizzante
poisoned_5pct_params.npy, poisoned_10pct_params.npy, poisoned_15pct_params.npyuno per tasso di inversione delle etichette

Esecuzioni su hardware

Tutte le esecuzioni hanno usato IBM Fez, un processore Heron r2 da 156 qubit. 1024 shot per circuito, tramite Qiskit Runtime SamplerV2. La transpilazione è stata eseguita a livello di ottimizzazione 1.

Ogni esecuzione ha inviato lo stesso circuito logico: profondità 20 con 12 gate a due qubit. La transpilazione lo mappa su qubit fisici, il che cambia entrambi i numeri a ogni invio.

RisultatoScriptCircuitiProfondità transpilataGate a due qubit
Accuratezza del modello pulito e avvelenato0810010027
Trasferimento FGSM, modello a margine ampio091508742
Trasferimento FGSM, modello a margine strettocodice precedente, sostituito da 09400non registratanon registrata

L'esecuzione del trasferimento a margine stretto precede gli script in questo repository. Il suo output è results/transferability_hw_50_expA.json, che lo script 10 converte nel formato letto dalle figure. L'esecuzione ha utilizzato lo stesso circuito e lo stesso livello di ottimizzazione dello script 09.

Le due profondità registrate differiscono. Il transpiler sceglie i qubit fisici tramite euristica, quindi lo stesso circuito viene mappato diversamente a ogni invio. Entrambe le esecuzioni concordavano comunque con la simulazione.

Cosa non è possibile riprodurre

I risultati hardware dipendono dallo stato di calibrazione del dispositivo in quel giorno. Inviando nuovamente gli stessi circuiti si ottengono conteggi diversi. I file JSON sono la registrazione di ciò che il dispositivo ha fatto.

models/clean_params.npy non può essere rigenerato. I suoi parametri iniziali provenivano dallo stato casuale globale di NumPy invece che da un generatore con seed. 02_train_narrow_margin.py ora inizializza con seed, quindi le nuove esecuzioni sono riproducibili tra loro. Esse però approdano altrove, e la dispersione è ampia. Un ottimizzatore senza gradiente su un obiettivo stocastico può collassare a predire la classe maggioritaria. Lo script lo segnala quando accade.

Il resto è inizializzato con seed. L'accuratezza varia comunque tra le inizializzazioni, quindi gli script riportano media e deviazione standard invece di una singola esecuzione. La Sezione VI dell'articolo spiega il perché.

Citazione

@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},
}

Licenza

Il codice è MIT. Vedi LICENSE.

CICIDS2017 proviene dal Canadian Institute for Cybersecurity secondo i suoi termini. Non è ridistribuito qui.

Riconoscimenti

Questo lavoro è stato sostenuto dal progetto Business Finland (24304955) SeQuSoS. Riconosciamo l'uso dei servizi IBM Quantum. Le opinioni espresse sono quelle degli autori e non riflettono la politica ufficiale o la posizione di IBM o del team IBM Quantum.

Scarica lo strumento