Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PacketPatch — Generación práctica de paquetes adversariales de caja negra contra la clasificación de tráfico cifrado con sobrecarga mínima y recuperabilidad total de paquetes. | Kitploit
Herramientas/GitHubGitHub/xuyw-seu/packetpatch
Sniffing y Análisis de PaquetesHerramientas de Cifrado/DescifradoSeguridad de RedesPrivacidadAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IAAtaque Adversario
GitHubxuyw-seu/packetpatch

PacketPatch

Generación práctica de paquetes adversariales de caja negra contra la clasificación de tráfico cifrado con sobrecarga mínima y recuperabilidad total de paquetes.

717hace 2 mesesAún no revisado
Ver Repositorio

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 →
Compartir

PacketPatch: Generación y despliegue prácticos de paquetes adversariales para la clasificación de tráfico cifrado basada en características de bytes

Artículo: PacketPatch: Practical Generation and Deployment of Adversarial Packets for Byte-Feature-Based Encrypted Traffic Classification Autores: Yuwei Xu, Yuanyuan Xu, Yunpeng Bai, Jiahui Chen, Kehui Song, Jie Cao, Qiao Xiang, Guang Cheng Afiliación: Southeast University, Purple Mountain Laboratories, Tiangong University, Queen's University, Xiamen University Estado: Aceptado/En revisión (Elsevier)

Visión general

PacketPatch es un esquema práctico para generar paquetes de red adversariales contra modelos de clasificación de tráfico cifrado basada en características de bytes (B-ETC), con el objetivo de proteger la privacidad del usuario. A diferencia de los métodos existentes que dependen de suposiciones poco realistas de caja blanca o introducen una sobrecarga excesiva, PacketPatch opera bajo condiciones estrictas de caja negra manteniendo un rendimiento en tiempo real y la usabilidad de los paquetes.

Características principales

  • Operación en caja negra: no requiere acceso a los gradientes, parámetros ni datos de entrenamiento del modelo objetivo
  • Independiente del usuario: la generación de perturbaciones se basa únicamente en las características actuales del paquete, sin historial de comportamiento del usuario
  • Eficiencia en tiempo real: generación con una sola pasada hacia adelante, latencia media de ~10 ms por paquete
  • Sobrecarga de ancho de banda controlable: longitud de la perturbación ≤ 10% del tamaño del paquete original
  • Validez y recuperabilidad de los paquetes: la arquitectura de proxy simétrica garantiza que los paquetes superen las comprobaciones de integridad y puedan restaurarse perfectamente en el receptor
  • Arquitectura

    Arquitectura

    Flujo de trabajo de PatchGenerator

    1. Preparación de entrada: separa la cabecera del paquete de la carga útil; prepara tokens [MASK] (longitud = 10% del tamaño del paquete)
    2. Construcción de secuencia: ensambla [CLS] + cabecera + Pad1 + [SEP] + random_header(hr) + Pad2 + carga útil
    3. Generación de perturbación: una sola pasada hacia adelante de BERT → distribuciones de probabilidad sobre el vocabulario
      • Pad1 → arg min (maximiza la disrupción de las características originales)
      • Pad2 → arg max (genera características alineadas con la cabecera aleatoria)
    4. Ensamblaje del vector: perturbación final v = Pad1 + hr + Pad2

    Estructura del repositorio

    root@kitploit:~
    PacketPatch/
    ├── README.md                          # Project overview (this file)
    ├── LICENSE                            # MIT License
    ├── requirements.txt                   # Python dependencies
    ├── bert_base_config.json              # BERT model configuration (12 layers, 768-dim, 12 heads)
    │
    ├── packet_adv/                        # ★ Core experimental code
    │   ├── README.md                      # Usage guide for core modules
    │   ├── adv_fine_tuning_cls.py         # Step 1: Train PatchGenerator (SpanBERT)
    │   ├── generate.py                    # Step 2: Generate adversarial packets
    │   └── gen_onnx.py                    # Step 3 (optional): ONNX/TensorRT acceleration
    │
    ├── uer/                               # UER (Universal Encoder Representations) framework
    │   ├── README.md                      # Framework documentation
    │   ├── encoders/                      # Encoder implementations (Transformer, RNN, CNN)
    │   ├── layers/                        # Network layers (Embedding, Attention, FFN)
    │   ├── targets/                       # Training targets (MLM, NSP, Span-MBM, etc.)
    │   ├── models/                        # Model definition
    │   ├── utils/                         # Utilities (tokenizers, optimizers, data loading)
    │   ├── model_builder.py               # Model construction
    │   ├── model_loader.py                # Pretrained weight loading
    │   ├── model_saver.py                 # Model checkpoint saving
    │   ├── trainer.py                     # Training loop implementation
    │   └── opts.py                        # CLI argument definitions
    │
    ├── dataset/                           # Dataset documentation
    │   └── README.md                      # Dataset descriptions, download links, preprocessing
    │
    ├── image/                             # Architecture and result figures
    │   └── README.md                      # Figure descriptions
    │
    └── tools/                             # Utility tools
        └── README.md                      # Tool descriptions and usage
    

    Inicio rápido

    1. Configuración del entorno

    root@kitploit:~
    # Clone this repository
    git clone https://github.com/your-org/PacketPatch.git
    cd PacketPatch
    
    # Install dependencies
    pip install -r requirements.txt
    

    Requisitos:

    • Python 3.7+
    • GPU NVIDIA con ≥6GB de VRAM (recomendado: RTX 3080 o superior)
    • 32GB+ de memoria del sistema

    2. Preparar el modelo preentrenado y los conjuntos de datos

    PacketPatch está construido sobre ET-BERT. Descarga lo siguiente del repositorio de ET-BERT:

    • pretrained_model.bin — pesos preentrenados de ET-BERT
    • encryptd_vocab.txt — archivo de vocabulario para la codificación por pares de bytes

    Conjuntos de datos: Evaluamos con tres conjuntos de datos públicos. Consulta dataset/README.md para los enlaces de descarga y las instrucciones de preprocesamiento.

    Conjunto de datosClasesEscenario
    ISCX-TOR16Tráfico anónimo de Tor
    ISCX-VPN11Túneles VPN cifrados
    USTC20Tráfico de malware y benigno

    3. Entrenar PatchGenerator

    root@kitploit:~
    cd packet_adv
    
    # Edit adv_fine_tuning_cls.py first:
    #   - Update dataset paths (lines 47-50)
    #   - Update pretrained model path (lines 73-75)
    #   - Set correct num_classes (line 56)
    #   - Set correct training set size (line 878)
    
    python adv_fine_tuning_cls.py
    

    El checkpoint entrenado se guardará en el directorio de registro especificado (p. ej., span_2seg_cls_log/).

    4. Generar paquetes adversariales

    root@kitploit:~
    cd packet_adv
    
    # Edit generate.py first:
    #   - Update test data paths (lines 42-44)
    #   - Update --load_model_path to your trained checkpoint (line 68-69)
    #   - Set BWO (bandwidth overhead ratio, line 60, default 0.1)
    #   - Choose generation strategy via 'fun' parameter (line 50)
    
    python generate.py
    

    5. (Opcional) Aceleración del modelo con TensorRT

    root@kitploit:~
    cd packet_adv
    
    # Edit gen_onnx.py first:
    #   - Update model checkpoint path (line 132)
    #   - Update output paths (lines 145, 207)
    #   - Select precision mode: 'fp16' or 'int8' (line 21)
    
    python gen_onnx.py
    

    Parámetros de configuración clave

    ParámetroArchivoLíneaDescripciónPredeterminado
    BWOgenerate.py60Relación de sobrecarga de ancho de banda0.1 (10%)
    fungenerate.py50Estrategia de generación'fun5'
    n_epochsadv_fine_tuning_cls.py53Épocas de entrenamiento50
    batch_sizeadv_fine_tuning_cls.py54Tamaño de lote32
    num_classesadv_fine_tuning_cls.py56Número de clases de tráficoDepende del conjunto de datos
    learning_rateadv_fine_tuning_cls.py94-95Tasa de aprendizaje2e-5
    seq_lengthadv_fine_tuning_cls.py92-93Longitud de secuencia de entrada256

    Estrategias de generación (parámetro fun)

    EstrategiaDescripción
    fun1Un solo segmento, selección argmin
    fun2Dos segmentos, ambos argmax
    fun3Dos segmentos, división fija 50/50, Pad1 argmin + Pad2 argmax
    fun4Dos segmentos, división aleatoria, Pad1 argmin + Pad2 argmax
    fun5 (predeterminado)Dos segmentos con encabezado ficticio aleatorio, Pad1 argmin + Pad2 argmax
    fun6Dos segmentos con encabezado ficticio, estrategia guiada por NSP
    randomLínea base aleatoria
    random_dummy_headLínea base de reemplazo de encabezado aleatorio
    random_padLínea base de relleno aleatorio

    Tareas de entrenamiento

    El PatchGenerator de PacketPatch se entrena con dos tareas autosupervisadas:

    SCP (Predicción de misma categoría)

    Determina si dos paquetes de entrada pertenecen a la misma categoría de tráfico. Esto dota al modelo de capacidades de extracción de características discriminativas.

    Pérdida: entropía cruzada binaria

    Span-MBM (Modelado de bytes enmascarados por tramos)

    Reconstruye tramos consecutivos de bytes enmascarados usando contexto bidireccional. Esto dota al modelo de capacidades de generación de secuencias de bytes conscientes del contexto.

    Pérdida: log-verosimilitud negativa Pérdida total: Loss = Loss_SCP + Loss_Span-MBM

    Resumen de resultados

    Efectividad de la defensa (DSR: tasa de éxito de la defensa)

    Efectividad de la defensa

    Sobrecarga de tiempo

    EtapaTiempo (ms/paquete)
    Preprocesamiento de paquetes0.054
    Generación de perturbación9.626
    Reconstrucción de paquetes0.398
    Total10.078

    PacketPatch supera a los siguientes métodos de referencia de caja blanca bajo estrictas suposiciones de caja negra:

    Comparación con métodos de referencia

    Citación

    Si utilizas PacketPatch en tu investigación, cita nuestro artículo:

    root@kitploit:~
    @article{xu2025packetpatch,
        title = {PacketPatch: Practical Generation and Deployment of Adversarial Packets for Byte-Feature-Based Encrypted Traffic Classification},
        author = {Yuwei Xu and Yuanyuan Xu and Yunpeng Bai and Jiahui Chen and Kehui Song and Jie Cao and Qiao Xiang and Guang Cheng},
        journal = {Elsevier},
        year = {2025},
    }
    

    Licencia

    Este proyecto está bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.

    Contacto

    Para preguntas y consultas, contacta al autor correspondiente o abre un issue en GitHub.

    • Yuwei Xu — [email protected]
    • Yuanyuan Xu — [email protected]

    Agradecimientos

    Este proyecto se basa en el framework ET-BERT, que proporciona el modelo preentrenado y el framework de entrenamiento UER (Universal Encoder Representations). Agradecemos a los autores de ET-BERT sus valiosas contribuciones.

    Descargar herramienta