Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PacketPatch — Практическая генерация состязательных пакетов в режиме чёрного ящика для атак на классификацию зашифрованного трафика с минимальными накладными расходами и полной восстанавливаемостью пакетов. | Kitploit
Инструменты/GitHubGitHub/xuyw-seu/packetpatch
Сниффинг и анализ пакетовИнструменты шифрования/дешифрованияСетевая безопасностьКонфиденциальностьМашинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИСостязательная Атака
GitHubxuyw-seu/packetpatch

PacketPatch

Практическая генерация состязательных пакетов в режиме чёрного ящика для атак на классификацию зашифрованного трафика с минимальными накладными расходами и полной восстанавливаемостью пакетов.

71364 месяцев назадЕщё не проверено
Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PacketPatch: Практическая генерация и развертывание состязательных пакетов для классификации зашифрованного трафика на основе байтовых признаков

Статья: PacketPatch: Practical Generation and Deployment of Adversarial Packets for Byte-Feature-Based Encrypted Traffic Classification Авторы: Yuwei Xu, Yuanyuan Xu, Yunpeng Bai, Jiahui Chen, Kehui Song, Jie Cao, Qiao Xiang, Guang Cheng Организации: Southeast University, Purple Mountain Laboratories, Tiangong University, Queen's University, Xiamen University Статус: Принято / На рассмотрении (Elsevier)

Обзор

PacketPatch — это практический метод генерации состязательных сетевых пакетов для моделей классификации зашифрованного трафика на основе байтовых признаков (B-ETC), направленный на защиту конфиденциальности пользователей. В отличие от существующих подходов, которые полагаются на нереалистичные предположения white-box или вносят чрезмерные накладные расходы, PacketPatch работает в строгих условиях black-box, сохраняя производительность в реальном времени и пригодность пакетов.

Ключевые особенности

  • Работа в режиме black-box: не требуется доступа к градиентам, параметрам или обучающим данным целевой модели
  • Независимость от пользователя: генерация возмущений основана исключительно на признаках текущего пакета, без истории поведения пользователя
  • Работа в реальном времени: один прямой проход сети, средняя задержка ~10 мс на пакет
  • Контролируемые накладные расходы пропускной способности: длина возмущения ≤ 10% от исходного размера пакета
  • Валидность и восстанавливаемость пакетов: симметричная прокси-архитектура гарантирует прохождение пакетами проверок целостности и их полное восстановление на стороне получателя

Архитектура

Архитектура

Работа PatchGenerator

  1. Подготовка входных данных: отделение заголовка пакета от полезной нагрузки; подготовка токенов [MASK] (длина = 10% размера пакета)
  2. Построение последовательности: сборка [CLS] + заголовок + Pad1 + [SEP] + random_header(hr) + Pad2 + полезная нагрузка
  3. Генерация возмущения: один прямой проход BERT → распределения вероятностей по словарю
    • Pad1 → arg min (максимально нарушает исходные признаки)
    • Pad2 → arg max (генерирует признаки, согласованные со случайным заголовком)
  4. Сборка вектора: итоговое возмущение v = Pad1 + hr + Pad2

Структура репозитория

PacketPatch/
├── README.md                          # Обзор проекта (этот файл)
├── LICENSE                            # Лицензия MIT
├── requirements.txt                   # Зависимости Python
├── bert_base_config.json              # Конфигурация модели BERT (12 слоёв, 768-мерность, 12 голов)
│
├── packet_adv/                        # ★ Основной экспериментальный код
│   ├── README.md                      # Руководство по использованию основных модулей
│   ├── adv_fine_tuning_cls.py         # Шаг 1: Обучение PatchGenerator (SpanBERT)
│   ├── generate.py                    # Шаг 2: Генерация состязательных пакетов
│   └── gen_onnx.py                    # Шаг 3 (опционально): Ускорение ONNX/TensorRT
│
├── uer/                               # Фреймворк UER (Universal Encoder Representations)
│   ├── README.md                      # Документация фреймворка
│   ├── encoders/                      # Реализации кодировщиков (Transformer, RNN, CNN)
│   ├── layers/                        # Слои сети (Embedding, Attention, FFN)
│   ├── targets/                       # Цели обучения (MLM, NSP, Span-MBM и др.)
│   ├── models/                        # Определение модели
│   ├── utils/                         # Утилиты (токенизаторы, оптимизаторы, загрузка данных)
│   ├── model_builder.py               # Построение модели
│   ├── model_loader.py                # Загрузка предобученных весов
│   ├── model_saver.py                 # Сохранение контрольных точек модели
│   ├── trainer.py                     # Реализация цикла обучения
│   └── opts.py                        # Определение аргументов командной строки
│
├── dataset/                           # Документация наборов данных
│   └── README.md                      # Описания наборов данных, ссылки для скачивания, предобработка
│
├── image/                             # Рисунки архитектуры и результатов
│   └── README.md                      # Описания рисунков
│
└── tools/                             # Вспомогательные инструменты
    └── README.md                      # Описания инструментов и их использование

Быстрый старт

1. Настройка окружения

# Клонировать репозиторий
git clone https://github.com/your-org/PacketPatch.git
cd PacketPatch

# Установить зависимости
pip install -r requirements.txt

Требования:

  • Python 3.7+
  • NVIDIA GPU с видеопамятью ≥6 ГБ (рекомендуется: RTX 3080 или выше)
  • 32+ ГБ системной памяти

2. Подготовка предобученной модели и наборов данных

PacketPatch построен поверх ET-BERT. Загрузите следующие файлы из репозитория ET-BERT:

  • pretrained_model.bin — предобученные веса ET-BERT
  • encryptd_vocab.txt — файл словаря для кодирования пар байтов

Наборы данных: Мы проводим оценку на трёх общедоступных наборах. Ссылки для скачивания и инструкции по предобработке см. в dataset/README.md.

Набор данныхКлассыСценарий
ISCX-TOR16Анонимный трафик Tor
ISCX-VPN11Зашифрованные туннели VPN
USTC20Вредоносный + легитимный трафик

3. Обучение PatchGenerator

cd packet_adv

# Сначала отредактируйте adv_fine_tuning_cls.py:
#   - Обновите пути к наборам данных (строки 47-50)
#   - Обновите путь к предобученной модели (строки 73-75)
#   - Установите правильное num_classes (строка 56)
#   - Установите правильный размер обучающего набора (строка 878)

python adv_fine_tuning_cls.py

Обученная контрольная точка будет сохранена в указанной директории логов (например, span_2seg_cls_log/).

4. Генерация состязательных пакетов

cd packet_adv

# Сначала отредактируйте generate.py:
#   - Обновите пути к тестовым данным (строки 42-44)
#   - Обновите --load_model_path, указав путь к обученной контрольной точке (строка 68-69)
#   - Установите BWO (коэффициент накладных расходов пропускной способности, строка 60, по умолчанию 0.1)
#   - Выберите стратегию генерации через параметр 'fun' (строка 50)

python generate.py

5. (Опционально) Ускорение модели с помощью TensorRT

cd packet_adv

# Сначала отредактируйте gen_onnx.py:
#   - Обновите путь к контрольной точке модели (строка 132)
#   - Обновите пути вывода (строки 145, 207)
#   - Выберите режим точности: 'fp16' или 'int8' (строка 21)

python gen_onnx.py

Ключевые параметры конфигурации

Скачать инструмент