Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PacketPatch — Praktische Black-Box-Adversarial-Paketerzeugung gegen verschlüsselte Verkehrsklassifizierung mit minimalem Overhead und vollständiger Paketwiederherstellbarkeit. | Kitploit
Tools/GitHubGitHub/xuyw-seu/packetpatch
Paket-Sniffing & AnalyseVerschlüsselungs-/EntschlüsselungstoolsNetzwerksicherheitPrivatsphäreMaschinelles LernenPapers & ForschungLernen & BildungKI-SicherheitAdversarial-Angriff
GitHubxuyw-seu/packetpatch

PacketPatch

Praktische Black-Box-Adversarial-Paketerzeugung gegen verschlüsselte Verkehrsklassifizierung mit minimalem Overhead und vollständiger Paketwiederherstellbarkeit.

717vor 2 MonatenNoch nicht geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PacketPatch: Praktische Generierung und Bereitstellung von adversarialen Paketen für die byte-feature-basierte Klassifikation verschlüsselten Datenverkehrs

Paper: PacketPatch: Praktische Generierung und Bereitstellung von adversarialen Paketen für die byte-feature-basierte Klassifikation verschlüsselten Datenverkehrs Autoren: Yuwei Xu, Yuanyuan Xu, Yunpeng Bai, Jiahui Chen, Kehui Song, Jie Cao, Qiao Xiang, Guang Cheng Zugehörigkeit: Southeast University, Purple Mountain Laboratories, Tiangong University, Queen's University, Xiamen University Status: Angenommen/In Überprüfung (Elsevier)

Übersicht

PacketPatch ist ein praktisches Verfahren zur Generierung adversarialer Netzwerkpakete gegen Byte-Feature-basierte Klassifikation von verschlüsseltem Datenverkehr (B-ETC)-Modelle, mit dem Ziel, die Privatsphäre der Benutzer zu schützen. Im Gegensatz zu bestehenden Methoden, die auf unrealistischen White-Box-Annahmen beruhen oder einen übermäßigen Overhead verursachen, arbeitet PacketPatch unter strengen Black-Box-Bedingungen, während es Echtzeitleistung und Paketnutzbarkeit beibehält.

Hauptmerkmale

  • Black-Box-Operation: Kein Zugriff auf Gradienten, Parameter oder Trainingsdaten des Zielmodells erforderlich
  • Benutzeragnostisch: Die Störungsgenerierung basiert ausschließlich auf den Merkmalen des aktuellen Pakets, ohne Verlauf des Benutzerverhaltens
  • Echtzeiteffizienz: Ein einziger Vorwärtsdurchlauf zur Generierung, durchschnittliche Latenz ~10 ms pro Paket
  • Kontrollierbarer Bandbreiten-Overhead: Störungslänge ≤ 10 % der ursprünglichen Paketgröße
  • Paketgültigkeit und Wiederherstellbarkeit: Symmetrische Proxy-Architektur stellt sicher, dass Pakete Integritätsprüfungen bestehen und beim Empfänger perfekt wiederhergestellt werden können
  • Architektur

    Architektur

    PatchGenerator-Arbeitsablauf

    1. Eingabevorbereitung: Paketkopf vom Nutzlast trennen; [MASK]-Tokens vorbereiten (Länge = 10 % der Paketgröße)
    2. Sequenzkonstruktion: Zusammenbau von [CLS] + Header + Pad1 + [SEP] + random_header(hr) + Pad2 + Nutzlast
    3. Störungsgenerierung: Ein einzelner BERT-Vorwärtsdurchlauf → Wahrscheinlichkeitsverteilungen über das Vokabular
      • Pad1 → arg min (maximale Störung der ursprünglichen Merkmale)
      • Pad2 → arg max (Generierung von Merkmalen, die auf den zufälligen Header abgestimmt sind)
    4. Vektorzusammenbau: Endgültige Störung v = Pad1 + hr + Pad2

    Repository-Struktur

    root@kitploit:~
    PacketPatch/
    ├── README.md                          # Projektübersicht (diese Datei)
    ├── LICENSE                            # MIT-Lizenz
    ├── requirements.txt                   # Python-Abhängigkeiten
    ├── bert_base_config.json              # BERT-Modellkonfiguration (12 Schichten, 768-dim, 12 Köpfe)
    │
    ├── packet_adv/                        # ★ Zentraler experimenteller Code
    │   ├── README.md                      # Anleitung zur Verwendung der Kernmodule
    │   ├── adv_fine_tuning_cls.py         # Schritt 1: Trainieren von PatchGenerator (SpanBERT)
    │   ├── generate.py                    # Schritt 2: Generieren adversarialer Pakete
    │   └── gen_onnx.py                    # Schritt 3 (optional): ONNX-/TensorRT-Beschleunigung
    │
    ├── uer/                               # UER (Universal Encoder Representations) Framework
    │   ├── README.md                      # Framework-Dokumentation
    │   ├── encoders/                      # Encoder-Implementierungen (Transformer, RNN, CNN)
    │   ├── layers/                        # Netzwerkschichten (Embedding, Attention, FFN)
    │   ├── targets/                       # Trainingsziele (MLM, NSP, Span-MBM, usw.)
    │   ├── models/                        # Modelldefinition
    │   ├── utils/                         # Hilfsprogramme (Tokenisierer, Optimierer, Datenladen)
    │   ├── model_builder.py               # Modellkonstruktion
    │   ├── model_loader.py                # Laden vortrainierter Gewichte
    │   ├── model_saver.py                 # Speichern von Modell-Checkpoints
    │   ├── trainer.py                     # Implementierung der Trainingsschleife
    │   └── opts.py                        # CLI-Argumentdefinitionen
    │
    ├── dataset/                           # Datensatzdokumentation
    │   └── README.md                      # Datensatzbeschreibungen, Download-Links, Vorverarbeitung
    │
    ├── image/                             # Architektur- und Ergebnisabbildungen
    │   └── README.md                      # Abbildungsbeschreibungen
    │
    └── tools/                             # Hilfswerkzeuge
        └── README.md                      # Werkzeugbeschreibungen und -verwendung
    

    Schnellstart

    1. Einrichtung der Umgebung

    root@kitploit:~
    # Dieses Repository klonen
    git clone https://github.com/your-org/PacketPatch.git
    cd PacketPatch
    
    # Abhängigkeiten installieren
    pip install -r requirements.txt
    

    Anforderungen:

    • Python 3.7+
    • NVIDIA-GPU mit ≥6 GB VRAM (empfohlen: RTX 3080 oder höher)
    • 32 GB+ Arbeitsspeicher

    2. Vortrainiertes Modell und Datensätze vorbereiten

    PacketPatch basiert auf ET-BERT. Laden Sie Folgendes aus dem ET-BERT-Repository herunter:

    • pretrained_model.bin — Vortrainierte ET-BERT-Gewichte
    • encryptd_vocab.txt — Vokabular-Datei für die Byte-Paar-Kodierung

    Datensätze: Wir evaluieren auf drei öffentlichen Datensätzen. Siehe dataset/README.md für Download-Links und Vorverarbeitungshinweise.

    DatensatzKlassenSzenario
    ISCX-TOR16Tor-anonymer Datenverkehr
    ISCX-VPN11VPN-verschlüsselte Tunnel
    USTC20Schadsoftware + gutartiger Datenverkehr

    3. PatchGenerator trainieren

    root@kitploit:~
    cd packet_adv
    
    # Zuerst adv_fine_tuning_cls.py bearbeiten:
    #   - Datensatzpfade aktualisieren (Zeilen 47-50)
    #   - Pfad zum vortrainierten Modell aktualisieren (Zeilen 73-75)
    #   - Richtige num_classes setzen (Zeile 56)
    #   - Richtige Trainingsset-Größe setzen (Zeile 878)
    
    python adv_fine_tuning_cls.py
    

    Der trainierte Checkpoint wird im angegebenen Log-Verzeichnis gespeichert (z. B. span_2seg_cls_log/).

    4. Adversariale Pakete generieren

    root@kitploit:~
    cd packet_adv
    
    # Zuerst generate.py bearbeiten:
    #   - Testdatenpfade aktualisieren (Zeilen 42-44)
    #   - --load_model_path auf Ihren trainierten Checkpoint setzen (Zeilen 68-69)
    #   - BWO (Bandbreiten-Overhead-Verhältnis) setzen (Zeile 60, Standard 0.1)
    #   - Generierungsstrategie über Parameter 'fun' auswählen (Zeile 50)
    
    python generate.py
    

    5. (Optional) Modellbeschleunigung mit TensorRT

    root@kitploit:~
    cd packet_adv
    
    # Zuerst gen_onnx.py bearbeiten:
    #   - Pfad zum Modell-Checkpoint aktualisieren (Zeile 132)
    #   - Ausgabepfade aktualisieren (Zeilen 145, 207)
    #   - Präzisionsmodus auswählen: 'fp16' oder 'int8' (Zeile 21)
    
    python gen_onnx.py
    

    Wichtige Konfigurationsparameter

    ParameterDateiZeileBeschreibungStandard
    BWOgenerate.py60Bandbreiten-Overhead-Verhältnis0.1 (10 %)
    fungenerate.py50Generierungsstrategie'fun5'
    n_epochsadv_fine_tuning_cls.py53Trainingsepochen50
    batch_sizeadv_fine_tuning_cls.py54Batch-Größe32
    num_classesadv_fine_tuning_cls.py56Anzahl der VerkehrsklassenDatensatzabhängig
    learning_rateadv_fine_tuning_cls.py94-95Lernrate2e-5
    seq_lengthadv_fine_tuning_cls.py92-93Eingabesequenzlänge256

    Generierungsstrategien (fun-Parameter)

    StrategieBeschreibung
    fun1Einzelnes Segment, argmin-Auswahl
    fun2Zwei Segmente, beide argmax
    fun3Zwei Segmente, feste 50/50-Aufteilung, Pad1 argmin + Pad2 argmax
    fun4Zwei Segmente, zufällige Aufteilung, Pad1 argmin + Pad2 argmax
    fun5 (Standard)Zwei Segmente mit zufälligem Dummy-Header, Pad1 argmin + Pad2 argmax
    fun6Zwei Segmente mit Dummy-Header, NSP-gesteuerte Strategie
    randomZufällige Baseline
    random_dummy_headBaseline mit zufälligem Header-Ersatz
    random_padBaseline mit zufälligem Padding

    Trainingsaufgaben

    Der PatchGenerator von PacketPatch wird mit zwei selbstüberwachten Aufgaben trainiert:

    SCP (Same Category Prediction)

    Bestimmt, ob zwei eingegebene Pakete zur gleichen Datenverkehrskategorie gehören. Dies verleiht dem Modell die Fähigkeit zur diskriminierenden Merkmalsextraktion.

    Verlust: Binäre Kreuzentropie

    Span-MBM (Span Masked Byte Modeling)

    Rekonstruiert aufeinanderfolgende maskierte Byte-Spannen unter Verwendung von bidirektionalem Kontext. Dies verleiht dem Modell die Fähigkeit zur kontextbewussten Byte-Sequenzgenerierung.

    Verlust: Negative Log-Likelihood Gesamtverlust: Loss = Loss_SCP + Loss_Span-MBM

    Zusammenfassung der Ergebnisse

    Verteidigungseffektivität (DSR: Defense Success Rate)

    Verteidigungseffektivität

    Zeit-Overhead

    PhaseZeit (ms/Paket)
    Paketvorverarbeitung0.054
    Störungsgenerierung9.626
    Paketrekonstruktion0.398
    Gesamt10.078

    PacketPatch übertrifft die folgenden White-Box-Baselinemethoden unter strengen Black-Box-Annahmen:

    Vergleich mit Basislinienmethoden

    Zitierung

    Wenn Sie PacketPatch in Ihrer Forschung verwenden, zitieren Sie bitte unsere Arbeit:

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

    Lizenz

    Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe Datei LICENSE für Details.

    Kontakt

    Bei Fragen und Anfragen wenden Sie sich bitte an den korrespondierenden Autor oder eröffnen Sie ein Issue auf GitHub.

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

    Danksagungen

    Dieses Projekt basiert auf dem ET-BERT-Framework, das das vortrainierte Modell und das UER (Universal Encoder Representations)-Trainingsframework bereitstellt. Wir danken den ET-BERT-Autoren für ihre wertvollen Beiträge.

    Tool herunterladen