zetef/zero-shot-cross-device-sca
GitHub: zetef/zero-shot-cross-device-sca
基于LDA的零样本跨设备AES-128侧信道攻击工具。
Stars: 0 | Forks: 0
# 零样本跨设备SCA
基于LDA的零样本跨设备AES-128侧信道攻击。在单个XMEGA设备上训练一次,无需任何目标端数据即可转移到7个未见过的设备上——使用LDA的池化协方差来代数上消除设备级别的直流偏移。
## 结果
在500个攻击轨迹中猜测熵,D1作为源(平均100个随机密钥顺序):
| 对 | LDA+CCTA+PSMA(我们的) | CNN+UDA+MMD [2] | CNN预训练(无适应) |
| ---- | ---------------------- | --------------- | ------------------------- |
| D1->D2 | **0.00** | 0.00 | 74.39 |
| D1->D3 | **0.00** | 0.00 | 129.25 |
| D1->D4 | **0.00** | 0.00 | 0.81 |
| D1->D5 | **0.00** | 0.00 | 0.00 |
| D1->D6 | **0.00** | 0.00 | 0.00 |
| D1->D7 | **0.00** | 0.00 | 17.68 |
| D1->D8 | **0.00** | 0.00 | 0.00 |
GE = 1表示正确的密钥字节排名第一。越低越好。
**所需目标数据:**
| 方法 | 需要的目标轨迹 | 解决的对(GE <= 1) |
| -------------------- | -------------------- | ---------------------- |
| LDA+CCTA+PSMA(我们的) | **0** | **7/7** |
| CNN+UDA+MMD [2] | 100(未标记) | 7/7 |
| CNN预训练 | 0 | 3/7 |
**D1->D4根本原因:** D1和D4之间11个样本的时间滞后导致POI重叠从42/50下降到18/50。CCTA仅从平均轨迹中检测和纠正这一点,将GE恢复到0。
**适应成本**(CPU,每个目标设备):~5ms。这包括CCTA互相关+PSMA偏移估计。无需模型重新训练。
## 架构
```
Input: raw power trace (500 samples) from source device D1
-> Step 1: POI selection — SNR-based, top-50 time samples
-> Step 2: LDA fit — pooled covariance (Choudary [3] §3.3), m=8 components
-> Step 3: Feature standardization — zero-mean, unit-variance (source stats)
-> Step 4: MLP classifier — Linear(8,128) -> BN -> ReLU -> Linear(128,64) -> BN -> ReLU -> Linear(64,9)
Zero-shot transfer to target device DX (no target labels used):
X_target[:, poi] -> CCTA (temporal alignment) -> LDA projection @ W -> PSMA (mean offset) -> MLP -> softmax -> GE
```
MLP总参数:10,377。
### 为什么LDA可以消除直流偏移
类内散布矩阵(Choudary [3],方程3.76):
```
S_W = sum_c sum_{i in c} (x_i - x_bar_c)(x_i - x_bar_c)^T
```
每个样本都围绕其**类均值** `x_bar_c` 进行中心化。一个恒定的设备级偏移 `delta` 可以消除:
```
(x_i + delta) - (x_bar_c + delta) = x_i - x_bar_c
```
因此,在D1上学习的LDA投影矩阵 `W`(500 x 8)对直流偏移不变,可以直接转移到任何目标设备。
### UDA基线(CNN + MMD)
为了比较,我们还实现了CDPA-SCA方法 [2]:
```
Conv1d(1->16, k=1) -> SELU -> AvgPool(2)
Conv1d(16->32, k=50) -> SELU -> AvgPool(50)
Conv1d(32->64, k=3) -> SELU -> AvgPool(2)
Flatten -> Linear(64, 20) -> ReLU -> Linear(20, 9)
```
CNN总参数:33,361。使用MMD域适应在100个未标记的目标轨迹上微调了15个epoch。
## 快速入门
```
# 1. 安装依赖
pip install -r requirements.txt
# 2. 下载 XMEGA 数据集
git clone https://github.com/CDPA-SCA/Cross-Device-Profiled-Attack
# 3. 运行 LDA+CCTA+PSMA 管道(零样本,来源=D1)
python src/lda_pipeline.py --ccta-psma --components 8 --source 1
# 4. 运行 UDA 基线(每个设备需要100个目标轨迹)
python src/uda_baseline.py
# 5. 检查数据集结构
python src/data_inspect.py
# 6. 可视化轨迹和标签分布
python src/data_visualize.py
```
预训练模型位于`models/`:`mlp_lda_D1.pth`(10K参数,零样本)和`finetuned_D1_to_D{2..8}.pth`(UDA基线,每个目标一个)。跳过步骤3-4以直接使用它们。
有关交互式演练,请参阅`notebooks/00_quickstart.ipynb`。完整的训练笔记本:`01_uda_baseline.ipynb`,`02_lda_pipeline.ipynb`,`03_final_pipeline.ipynb`。
## 依赖项
- Python >= 3.10
- PyTorch >= 2.0
- numpy, scipy
- scikit-learn(通过`LinearDiscriminantAnalysis`进行LDA)
- matplotlib
- tqdm
## 参考文献
[1] R. Benadjila, E. Prouff, R. Strullu, E. Cagli, and C. Dumas. "Deep Learning for Side-Channel Analysis and Introduction to ASCAD Database." *Journal of Cryptographic Engineering*, 10:163-188, 2020. [doi:10.1007/s13389-019-00220-8](https://doi.org/10.1007/s13389-019-00220-8)
[2] P. Cao, C. Zhang, X. Lu, D. Gu, and K. He. "Cross-Device Profiled Side-Channel Attacks Using Meta-Transfer Learning." *IACR Transactions on Cryptographic Hardware and Embedded Systems*, 2021(3):1-35, 2021. [doi:10.46586/tches.v2021.i3.1-35](https://doi.org/10.46586/tches.v2021.i3.1-35)
[3] O. Choudary. "The Smart Card Detective: a hand-held EMV interceptor." Technical Report UCAM-CL-TR-878, University of Cambridge, 2015. [link](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-878.pdf)
[4] CDPA-SCA作者。 "Cross-Device-Profiled-Attack." GitHub仓库,2021. [github.com/CDPA-SCA/Cross-Device-Profiled-Attack](https://github.com/CDPA-SCA/Cross-Device-Profiled-Attack)
[5] J. Danial, D. Das, A. Golder, S. Ghosh, J. Hu, and S. Sen. "EM-X-DL: Efficient Cross-Device Deep Learning Side-Channel Attack with Noisy EM Signatures." *arXiv:2011.06139*, 2020. [arXiv:2011.06139](https://arxiv.org/abs/2011.06139)
[6] G. Cassiers, H. Devillez, F.-X. Standaert, and B. Udvarhelyi. "Efficient Regression-Based Linear Discriminant Analysis for Side-Channel Security Evaluations." *IACR Transactions on Cryptographic Hardware and Embedded Systems*, 2023(3):270-293, 2023. [doi:10.46586/tches.v2023.i3.270-293](https://doi.org/10.46586/tches.v2023.i3.270-293)
标签:AES-128, Apex, LDA, PFX证书, XMEGA设备, 侧信道攻击, 信号处理, 凭据扫描, 功率时序分析, 加密算法, 协方差池化, 反取证, 安全威胁, 安全测试, 安全漏洞, 安全评估, 安全防护, 密码分析, 攻击性安全, 攻击检测, 数据迁移, 机器学习, 机器学习攻击, 模式识别, 设备级偏移, 跨设备攻击, 逆向工具, 零样本攻击