Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
qai2026-fgsm-transfer — Código y resultados del artículo de QAI 2026 sobre la transferibilidad del ataque FGSM desde la simulación al hardware cuántico de IBM. | Kitploit
Herramientas/GitHubGitHub/xeeshanajmal/qai2026-fgsm-transfer
Seguridad de RedesAprendizaje AutomáticoDetección de IntrusionesPapers e InvestigaciónSeguridad de IAAtaque Adversario
GitHubxeeshanajmal/qai2026-fgsm-transfer

qai2026-fgsm-transfer

Código y resultados del artículo de QAI 2026 sobre la transferibilidad del ataque FGSM desde la simulación al hardware cuántico de IBM.

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
129hace 1 mesAún no revisado
Compartir

Robustez adversarial de un clasificador cuántico variacional para la detección de intrusiones en red

Código, parámetros entrenados y resultados del artículo FGSM Attack Transferability from Simulation to Quantum Hardware in Network Intrusion Detection, IEEE International Conference on Quantum Artificial Intelligence (QAI) 2026.

Las cifras del artículo provienen de los archivos JSON en results/. Los scripts incluidos aquí generaron esos archivos.

Archivos

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

Requisitos

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

Instala con pip install -r requirements.txt.

Los scripts 08 y 09 se ejecutan en hardware real, por lo que necesitan una cuenta de IBM Quantum. Copia .env.example y coloca tu propio token e instancia en él. Luego configúralos como variables de entorno. Los scripts leen las credenciales únicamente del entorno.

Datos

La captura original no está aquí. Descarga CICIDS2017 del Canadian Institute for Cybersecurity y coloca Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv en data/. Ese es el único archivo que se utiliza.

01_preprocess.py construye las cuatro divisiones .npy. Deberías obtener 1134 muestras de ataque y 866 benignas en entrenamiento. En prueba, 284 de ataque y 216 benignas. Conteos distintos indican un archivo de captura diferente, o una versión diferente de scikit-learn.

Cómo ejecutar

Ejecuta los scripts en orden numérico. Los scripts 04 a 07 requieren que 01, 02 y 03 se hayan ejecutado primero.

ScriptProduceTiempo de ejecución
01_preprocess.pylas cuatro divisiones en data/segundos
02_train_narrow_margin.pymodels/clean_params.npysegundos
03_retrain_poisoning_and_noise.pymodelos envenenados y con ruido, dos archivos de resultadosvarias horas
04_epsilon_sweep.pyresults/epsilon_sweep.jsonmenos de un minuto
05_compare_attack_guidance.pyresults/gradient_vs_untargeted.jsonmenos de un minuto
06_finish_rq3.pylínea base sin ruido y el barrido FGSM con ruidoalrededor de una hora
07_margin_control.pyresults/margin_control.jsonunos minutos
08_run_hardware_models.pyresults/hardware_clean_vs_poisoned.jsontiempo en cola
09_run_hardware_fgsm.pyresults/hardware_fgsm_adam.jsontiempo en cola
10_convert_hardware_results.pyresults/hardware_fgsm_cobyla.jsonsegundos
make_figures.pylas dos figurassegundos

El script 03 es el lento. Simula matrices de densidad, lo que cuesta alrededor de dieciséis minutos por inicialización. Entrena tres inicializaciones en cada uno de los tres niveles de ruido.

Los scripts de hardware envían todos sus circuitos en un solo trabajo. Cada circuito en un trabajo comparte entonces el mismo estado de calibración. Ambos scripts aceptan --dry-run, que transpila todo e imprime las estadísticas del circuito sin enviar nada.

Qué archivo produce qué resultado

ArtículoArchivo de resultadosScript
Tabla I, envenenamientopoisoning_retrained.json03
Tabla II, FGSM contra no dirigidogradient_vs_untargeted.json05
Tabla III, simulación contra hardwarehardware_clean_vs_poisoned.json, hardware_fgsm_adam.json08, 09
Tabla IV, ruido depolarizantenoise_retrained.json, noise_fgsm_sweep.json, noiseless_400_baseline.json03, 06
Figura 1, transferencia a hardwarehardware_fgsm_adam.json, hardware_fgsm_cobyla.json09, 10
Figura 2, precisión y margen bajo ruidoigual que la Tabla IV03, 06
Sección IV-A, línea base limpiaclean_history.json, noise_retrained.json02, 03
Sección IV-C, márgenes de decisiónepsilon_sweep.json04
Sección VI, control de margenmargin_control.json07

Modelos entrenados

ArchivoQué es
clean_params.npyclasificador de margen estrecho, COBYLA, 86.8% de precisión con margen 0.07
noisy_0.0_params.npyclasificador de margen amplio, Adam, 92.2% de precisión con margen 0.54
noisy_0.0_params_400.npymodelo sin ruido entrenado con el subconjunto de 400 muestras, para comparar entre niveles de ruido
noisy_0.001_params.npy, noisy_0.01_params.npy, noisy_0.05_params.npyuno por nivel de ruido depolarizante
poisoned_5pct_params.npy, poisoned_10pct_params.npy, poisoned_15pct_params.npyuno por tasa de volteo de etiquetas

Ejecuciones en hardware

Todas las ejecuciones usaron IBM Fez, un procesador Heron r2 de 156 qubits. 1024 shots por circuito, mediante Qiskit Runtime SamplerV2. La transpilación se realizó con nivel de optimización 1.

Cada ejecución envió el mismo circuito lógico: profundidad 20 con 12 compuertas de dos qubits. La transpilación lo mapea sobre qubits físicos, lo que cambia ambos números en cada envío.

ResultadoScriptCircuitosProfundidad transpiladaPuertas de dos qubits
Precisión del modelo limpio y envenenado0810010027
Transferencia FGSM, modelo de margen amplio091508742
Transferencia FGSM, modelo de margen estrechocódigo anterior, reemplazado por 09400no registradono registrado

La ejecución de transferencia de margen estrecho es anterior a los scripts de este repositorio. Su salida es results/transferability_hw_50_expA.json, que el script 10 convierte al formato que leen las figuras. La ejecución utilizó el mismo circuito y el mismo nivel de optimización que el script 09.

Las dos profundidades registradas difieren. El transpilador elige los qubits físicos mediante heurísticas, por lo que el mismo circuito se mapea de forma diferente en cada envío. Ambas ejecuciones coincidieron aun así con la simulación.

Lo que no puedes reproducir

Los resultados de hardware dependen del estado de calibración del dispositivo ese día. Envía los mismos circuitos de nuevo y obtendrás recuentos diferentes. Los archivos JSON son el registro de lo que hizo el dispositivo.

models/clean_params.npy no se puede regenerar. Sus parámetros iniciales provenían del estado aleatorio global de NumPy en lugar de un generador con semilla. 02_train_narrow_margin.py ahora inicializa con semilla, por lo que las nuevas ejecuciones son reproducibles entre sí. Sin embargo, aterrizan en otro lugar, y la dispersión es amplia. Un optimizador sin gradiente sobre un objetivo estocástico puede colapsar a predecir la clase mayoritaria. El script lo indica cuando eso ocurre.

El resto tiene semilla. La precisión sigue variando entre inicializaciones, por lo que los scripts informan la media y la desviación estándar en lugar de una sola ejecución. La Sección VI del artículo explica por qué.

Citación

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

Licencia

El código es MIT. Consulte LICENSE.

CICIDS2017 proviene del Canadian Institute for Cybersecurity bajo sus propios términos. No se redistribuye aquí.

Agradecimientos

Descargar herramienta