Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

7118há 3 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

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

# 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

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

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

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)

Baixar ferramenta