
توليد عملي لحزم الشبكة الخصومية بصندوق أسود ضد تصنيف حركة المرور المشفّرة، مع حمل إضافي أدنى واستعادة كاملة للحزم.
الورقة: PacketPatch: التوليد والنشر العمليان للحزم الخصومة لتصنيف حركة المرور المشفّرة القائم على ميزات البايت المؤلفون: Yuwei Xu, Yuanyuan Xu, Yunpeng Bai, Jiahui Chen, Kehui Song, Jie Cao, Qiao Xiang, Guang Cheng الانتماء: جامعة الجنوب الشرقي، مختبرات جبل الأرجوان، جامعة تيانقونغ، جامعة كوينز، جامعة شيامن الحالة: مقبول/قيد المراجعة (Elsevier)
PacketPatch هو نظام عملي لتوليد حزم شبكة خصومة ضد نماذج تصنيف حركة المرور المشفرة القائم على ميزات البايت (B-ETC)، بهدف حماية خصوصية المستخدم. على عكس الطرق الحالية التي تعتمد على افتراضات الصندوق الأبيض غير الواقعية أو تُدخل عبئًا زائدًا، يعمل PacketPatch في ظل ظروف الصندوق الأسود الصارمة مع الحفاظ على الأداء اللحظي وقابلية استخدام الحزم.

Pad1 → arg min (يعطّل الميزات الأصلية إلى أقصى حد)Pad2 → arg max (يولّد ميزات متوافقة مع الترويسة العشوائية)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
# Clone this repository
git clone https://github.com/your-org/PacketPatch.git
cd PacketPatch
# Install dependencies
pip install -r requirements.txt
المتطلبات:
تم بناء PacketPatch على ET-BERT. حمّل ما يلي من مستودع ET-BERT:
pretrained_model.bin — أوزان ET-BERT المدربة مسبقًاencryptd_vocab.txt — ملف المفردات لتشفير أزواج البايتاتمجموعات البيانات: نقيّم على ثلاث مجموعات بيانات عامة. انظر dataset/README.md لروابط التحميل وتعليمات المعالجة المسبقة.
| مجموعة البيانات | الفئات | السيناريو |
|---|---|---|
| ISCX-TOR | 16 | حركة مرور تور المجهولة |
| ISCX-VPN | 11 | أنفاق VPN المشفرة |
| USTC | 20 | حركة مرور خبيثة + سليمة |
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
سيتم حفظ نقطة التحقق المدربة في دليل السجلات المحدد (مثل span_2seg_cls_log/).
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
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
| المعامل | الملف | السطر | الوصف | الافتراضي |
|---|---|---|---|---|
BWO | generate.py | 60 | نسبة عبء النطاق الترددي | 0.1 (10%) |
fun | generate.py | 50 | استراتيجية التوليد | 'fun5' |
n_epochs | adv_fine_tuning_cls.py | 53 | عصور التدريب | 50 |
batch_size | adv_fine_tuning_cls.py | 54 | حجم الدفعة | 32 |
num_classes | adv_fine_tuning_cls.py | 56 | عدد فئات حركة المرور | يعتمد على مجموعة البيانات |
learning_rate | adv_fine_tuning_cls.py | 94-95 | معدل التعلم | 2e-5 |
seq_length | adv_fine_tuning_cls.py | 92-93 | طول تسلسل الإدخال | 256 |
fun)