Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
qai2026-fgsm-transfer — Code und Ergebnisse für das QAI-2026-Paper zur Übertragbarkeit des FGSM-Angriffs von der Simulation auf IBM-Quantenhardware. | Kitploit
Tools/GitHubGitHub/xeeshanajmal/qai2026-fgsm-transfer
NetzwerksicherheitMaschinelles LernenEinbruchserkennungPapers & ForschungKI-SicherheitAdversarial-Angriff
GitHubxeeshanajmal/qai2026-fgsm-transfer

qai2026-fgsm-transfer

Code und Ergebnisse für das QAI-2026-Paper zur Übertragbarkeit des FGSM-Angriffs von der Simulation auf IBM-Quantenhardware.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
125vor 1 MonatNoch nicht geprüft
Teilen

Adversarische Robustheit eines variationellen Quantenklassifikators zur Netzwerk-Intrusion-Erkennung

Code, trainierte Parameter und Ergebnisse für das Paper FGSM Attack Transferability from Simulation to Quantum Hardware in Network Intrusion Detection, IEEE International Conference on Quantum Artificial Intelligence (QAI) 2026.

Die Zahlen im Paper stammen aus den JSON-Dateien in results/. Die Skripte hier haben diese Dateien erzeugt.

Dateien

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

Voraussetzungen

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

Installiere mit pip install -r requirements.txt.

Die Skripte 08 und 09 laufen auf echter Hardware und benötigen daher ein IBM-Quantum-Konto. Kopiere .env.example und trage deinen eigenen Token und deine Instanz dort ein. Setze sie anschließend als Umgebungsvariablen. Die Skripte lesen Anmeldedaten ausschließlich aus der Umgebung.

Daten

Der Rohdatensatz ist hier nicht enthalten. Lade CICIDS2017 vom Canadian Institute for Cybersecurity herunter und lege Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv in data/ ab. Das ist die einzige verwendete Datei.

01_preprocess.py erzeugt die vier .npy-Splits. Im Training solltest du 1134 Attack- und 866 Benign-Samples erhalten. Im Test 284 Attack- und 216 Benign-Samples. Andere Anzahlen bedeuten eine andere Capture-Datei oder eine andere scikit-learn-Version.

Ausführung

Führe die Skripte in numerischer Reihenfolge aus. Die Skripte 04 bis 07 setzen voraus, dass 01, 02 und 03 zuvor ausgeführt wurden.

SkriptErzeugtLaufzeit
01_preprocess.pydie vier Splits in data/Sekunden
02_train_narrow_margin.pymodels/clean_params.npySekunden
03_retrain_poisoning_and_noise.pyvergiftete und verrauschte Modelle, zwei Ergebnisdateienmehrere Stunden
04_epsilon_sweep.pyresults/epsilon_sweep.jsonunter einer Minute
05_compare_attack_guidance.pyresults/gradient_vs_untargeted.jsonunter einer Minute
06_finish_rq3.pyrauschfreie Baseline und der Rausch-FGSM-Sweepetwa eine Stunde
07_margin_control.pyresults/margin_control.jsoneinige Minuten
08_run_hardware_models.pyresults/hardware_clean_vs_poisoned.jsonWartezeit in der Queue
09_run_hardware_fgsm.pyresults/hardware_fgsm_adam.jsonWartezeit in der Queue
10_convert_hardware_results.pyresults/hardware_fgsm_cobyla.jsonSekunden
make_figures.pydie beiden AbbildungenSekunden

Skript 03 ist das langsame. Es simuliert Dichtematrizen, was etwa sechzehn Minuten pro Initialisierung kostet. Es trainiert drei Initialisierungen bei jeweils drei Rauschpegern.

Die Hardware-Skripte senden alle ihre Schaltkreise in einem einzigen Job. Jeder Schaltkreis in einem Job teilt sich dann denselben Kalibrierungszustand. Beide Skripte akzeptieren --dry-run, was alles transpiliert und die Schaltkreisstatistiken ausgibt, ohne etwas zu senden.

Welche Datei welches Ergebnis erzeugt

PaperErgebnisdateiSkript
Tabelle I, Poisoningpoisoning_retrained.json03
Tabelle II, FGSM gegen untargetedgradient_vs_untargeted.json05
Tabelle III, Simulation gegen Hardwarehardware_clean_vs_poisoned.json, hardware_fgsm_adam.json08, 09
Tabelle IV, Depolarisierendes Rauschennoise_retrained.json, noise_fgsm_sweep.json, noiseless_400_baseline.json03, 06
Abbildung 1, Transfer auf Hardwarehardware_fgsm_adam.json, hardware_fgsm_cobyla.json09, 10
Abbildung 2, Genauigkeit und Margin unter Rauschenwie Tabelle IV03, 06
Abschnitt IV-A, saubere Baselineclean_history.json, noise_retrained.json02, 03
Abschnitt IV-C, Entscheidungs-Marginsepsilon_sweep.json04
Abschnitt VI, Margin-Kontrollemargin_control.json07

Trainierte Modelle

DateiBeschreibung
clean_params.npyNarrow-Margin-Klassifikator, COBYLA, 86,8 % Genauigkeit bei Margin 0,07
noisy_0.0_params.npyWide-Margin-Klassifikator, Adam, 92,2 % Genauigkeit bei Margin 0,54
noisy_0.0_params_400.npyrauschfreies Modell, trainiert auf dem 400-Sample-Subset, zum Vergleich über Rauschpegel hinweg
noisy_0.001_params.npy, noisy_0.01_params.npy, noisy_0.05_params.npyje eines pro Pegel depolarisierenden Rauschens
poisoned_5pct_params.npy, poisoned_10pct_params.npy, poisoned_15pct_params.npyje eines pro Label-Flipping-Rate

Hardware-Läufe

Alle Läufe verwendeten IBM Fez, einen 156-Qubit-Heron-r2-Prozessor. 1024 Shots pro Schaltkreis, über Qiskit Runtime SamplerV2. Die Transpilierung erfolgte mit Optimierungsstufe 1.

Jeder Lauf übermittelte denselben logischen Schaltkreis: Tiefe 20 mit 12 Zwei-Qubit-Gattern. Die Transpilierung bildet ihn auf physikalische Qubits ab, wodurch sich bei jeder Übermittlung beide Zahlen ändern.

ErgebnisSkriptSchaltkreiseTranspilierte TiefeZwei-Qubit-Gatter
Genauigkeit des sauberen und vergifteten Modells0810010027
FGSM-Transfer, Modell mit großer Marge091508742
FGSM-Transfer, Modell mit kleiner Margefrüherer Code, ersetzt durch 09400nicht aufgezeichnetnicht aufgezeichnet

Der Transfer-Lauf mit kleiner Marge stammt aus der Zeit vor den Skripten in diesem Repository. Seine Ausgabe ist results/transferability_hw_50_expA.json, die Skript 10 in das Format umwandelt, das die Abbildungen einlesen. Der Lauf verwendete denselben Schaltkreis und dasselbe Optimierungslevel wie Skript 09.

Die beiden aufgezeichneten Tiefen unterscheiden sich. Der Transpiler wählt physikalische Qubits nach Heuristik aus, sodass derselbe Schaltkreis bei jeder Einreichung anders abgebildet wird. Beide Läufe stimmten dennoch mit der Simulation überein.

Was Sie nicht reproduzieren können

Hardware-Ergebnisse hängen vom Kalibrierungszustand des Geräts an jenem Tag ab. Senden Sie dieselben Schaltkreise erneut, erhalten Sie andere Zählwerte. Die JSON-Dateien sind die Aufzeichnung dessen, was das Gerät getan hat.

models/clean_params.npy kann nicht neu erzeugt werden. Seine Anfangsparameter stammten aus dem globalen NumPy-Zufallszustand statt aus einem mit Seed versehenen Generator. 02_train_narrow_margin.py setzt nun einen Seed für seine Initialisierung, sodass neue Läufe untereinander reproduzierbar sind. Sie landen jedoch woanders, und die Streuung ist groß. Ein gradientenfreier Optimierer auf einem stochastischen Ziel kann darauf kollabieren, die Mehrheitsklasse vorherzusagen. Das Skript weist darauf hin, wenn das geschieht.

Der Rest ist mit Seed versehen. Die Genauigkeit variiert weiterhin zwischen Initialisierungen, daher geben die Skripte Mittelwert und Standardabweichung statt eines einzelnen Laufs an. Abschnitt VI des Papers erklärt, warum.

Zitation

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

Lizenz

Der Code steht unter MIT. Siehe LICENSE.

CICIDS2017 stammt vom Canadian Institute for Cybersecurity und unterliegt dessen eigenen Bedingungen. Es wird hier nicht weiterverbreitet.

Danksagung

Tool herunterladen