Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PacketPatch — Geração adversarial prática de pacotes em caixa-preta contra a classificação de tráfego criptografado, com sobrecarga mínima e recuperabilidade total dos pacotes. | Kitploit
Ferramentas/GitHubGitHub/xuyw-seu/packetpatch
Sniffing e Análise de PacotesFerramentas de Criptografia/DescriptografiaSegurança de RedePrivacidadeAprendizado de MáquinaPapers e PesquisaAprendizado e EducaçãoSegurança de IAAtaque Adversário
GitHubxuyw-seu/packetpatch

PacketPatch

Geração adversarial prática de pacotes em caixa-preta contra a classificação de tráfego criptografado, com sobrecarga mínima e recuperabilidade total dos pacotes.

717há 2 mesesAinda não revisado
Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

PacketPatch: Geração e Implantação Práticas de Pacotes Adversariais para Classificação de Tráfego Criptografado Baseada em Byte-Features

Artigo: 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 Afiliação: Southeast University, Purple Mountain Laboratories, Tiangong University, Queen's University, Xiamen University Status: Aceito/Em revisão (Elsevier)

Visão Geral

O PacketPatch é um esquema prático para gerar pacotes de rede adversariais contra modelos de Classificação de Tráfego Criptografado Baseada em Byte-Features (B-ETC), com o objetivo de proteger a privacidade do usuário. Diferentemente dos métodos existentes, que dependem de suposições irreais de caixa-branca ou introduzem sobrecarga excessiva, o PacketPatch opera sob condições estritas de caixa-preta, mantendo desempenho em tempo real e usabilidade dos pacotes.

Principais Características

  • Operação em Caixa-Preta: Não requer acesso aos gradientes, parâmetros ou dados de treinamento do modelo-alvo
  • Independente do Usuário: A geração de perturbação depende apenas das características do pacote atual, sem histórico de comportamento do usuário
  • Eficiência em Tempo Real: Geração em uma única passagem direta, latência média de ~10 ms por pacote
  • Sobrecarga de Largura de Banda Controlável: Comprimento da perturbação ≤ 10% do tamanho original do pacote
  • Validade e Recuperabilidade do Pacote: A arquitetura de proxy simétrica garante que os pacotes passem nas verificações de integridade e possam ser perfeitamente restaurados no receptor
  • Arquitetura

    Arquitetura

    Fluxo de Trabalho do PatchGenerator

    1. Preparação da Entrada: Separar o cabeçalho do pacote da carga útil; preparar tokens [MASK] (comprimento = 10% do tamanho do pacote)
    2. Construção da Sequência: Montar [CLS] + cabeçalho + Pad1 + [SEP] + random_header(hr) + Pad2 + carga útil
    3. Geração de Perturbação: Uma única passagem direta do BERT → distribuições de probabilidade sobre o vocabulário
      • Pad1 → arg min (perturba ao máximo as características originais)
      • Pad2 → arg max (gera características alinhadas ao cabeçalho aleatório)
    4. Montagem do Vetor: Perturbação final v = Pad1 + hr + Pad2

    Estrutura do Repositório

    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
    

    Início Rápido

    1. Configuração do Ambiente

    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 com ≥6GB de VRAM (recomendado: RTX 3080 ou superior)
    • 32GB+ de memória do sistema

    2. Preparar Modelo Pré-treinado e Conjuntos de Dados

    O PacketPatch é construído sobre o ET-BERT. Baixe o seguinte do repositório ET-BERT:

    • pretrained_model.bin — pesos pré-treinados do ET-BERT
    • encryptd_vocab.txt — arquivo de vocabulário para codificação byte-pair

    Conjuntos de dados: Avaliamos em três conjuntos de dados públicos. Consulte dataset/README.md para links de download e instruções de pré-processamento.

    Conjunto de DadosClassesCenário
    ISCX-TOR16Tráfego anônimo Tor
    ISCX-VPN11Túneis VPN criptografados
    USTC20Tráfego de malware + benigno

    3. Treinar o 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
    

    O checkpoint treinado será salvo no diretório de log especificado (ex.: span_2seg_cls_log/).

    4. Gerar Pacotes Adversariais

    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) Aceleração do Modelo com 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
    

    Principais Parâmetros de Configuração

    ParâmetroArquivoLinhaDescriçãoPadrão
    BWOgenerate.py60Taxa de sobrecarga de largura de banda0,1 (10%)
    fungenerate.py50Estratégia de geração'fun5'
    n_epochsadv_fine_tuning_cls.py53Épocas de treinamento50
    batch_sizeadv_fine_tuning_cls.py54Tamanho do lote32
    num_classesadv_fine_tuning_cls.py56Número de classes de tráfegoDepende do conjunto de dados
    learning_rateadv_fine_tuning_cls.py94-95Taxa de aprendizado2e-5
    seq_lengthadv_fine_tuning_cls.py92-93Comprimento da sequência de entrada256

    Estratégias de Geração (parâmetro fun)

    EstratégiaDescrição
    fun1Segmento único, seleção por argmin
    fun2Dois segmentos, ambos argmax
    fun3Dois segmentos, divisão fixa 50/50, Pad1 argmin + Pad2 argmax
    fun4Dois segmentos, divisão aleatória, Pad1 argmin + Pad2 argmax
    fun5 (padrão)Dois segmentos com cabeçalho fictício aleatório, Pad1 argmin + Pad2 argmax
    fun6Dois segmentos com cabeçalho fictício, estratégia guiada por NSP
    randomLinha de base aleatória
    random_dummy_headLinha de base com substituição aleatória de cabeçalho
    random_padLinha de base com preenchimento aleatório

    Tarefas de Treinamento

    O PatchGenerator do PacketPatch é treinado com duas tarefas autossupervisionadas:

    SCP (Previsão de Mesma Categoria)

    Determina se dois pacotes de entrada pertencem à mesma categoria de tráfego. Isso capacita o modelo com habilidades de extração de características discriminativas.

    Perda: Entropia Cruzada Binária

    Span-MBM (Modelagem de Bytes Mascarados por Intervalo)

    Reconstrói intervalos consecutivos de bytes mascarados usando contexto bidirecional. Isso capacita o modelo com habilidades de geração de sequências de bytes sensíveis ao contexto.

    Perda: Log-Verosimilhança Negativa Perda Total: Loss = Loss_SCP + Loss_Span-MBM

    Resumo dos Resultados

    Eficácia de Defesa (DSR: Taxa de Sucesso de Defesa)

    Eficácia de Defesa

    Sobrecarga de Tempo

    EtapaTempo (ms/pacote)
    Pré-processamento do Pacote0,054
    Geração de Perturbação9,626
    Reconstrução do Pacote0,398
    Total10,078

    O PacketPatch supera os seguintes métodos de linha de base de caixa-branca sob suposições estritas de caixa-preta:

    Comparação com Métodos de Linha de Base

    Citação

    Se você usar o PacketPatch em sua pesquisa, cite nosso artigo:

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

    Licença

    Este projeto está licenciado sob a Licença MIT — consulte o arquivo LICENSE para obter detalhes.

    Contato

    Para perguntas e consultas, entre em contato com o autor correspondente ou abra uma issue no GitHub.

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

    Agradecimentos

    Este projeto é construído sobre o framework ET-BERT, que fornece o modelo pré-treinado e o framework de treinamento UER (Universal Encoder Representations). Agradecemos aos autores do ET-BERT por suas valiosas contribuições.

    Baixar ferramenta