cps-vip/side-channel-attacks
GitHub: cps-vip/side-channel-attacks
佐治亚理工VIP项目的侧信道攻击研究仓库,包含计时攻击和AES-128功耗分析的实现与演示。
Stars: 0 | Forks: 0
# 侧信道攻击研究 — VIP 设备安全团队
**作者:** Estelle Jung, Carter Pattison, Aly Aadil Salewana, Piper Wright
**项目:** Georgia Tech 信息物理系统 VIP
**重点:** 针对加密实现的侧信道攻击向量
## 当前状态
**针对密码认证的计时攻击** — *使用 Rust 实现 (`main.rs`)*
利用存在提前退出比较缺陷的密码检查器,通过测量每个字符的执行时间来恢复秘密。这是一个侧信道攻击的演示。
**针对 AES-128 的相关性功耗分析 (CPA)** - *使用 Python 实现 (AES-128-CPA.py)*
使用汉明重量功耗模型和高斯噪声,针对 AES-128 进行 CPA 的软件仿真。通过对模拟功耗轨迹的统计分析,演示密钥恢复过程。
## 下一步计划
### 1. 优化密码计时攻击 (最高优先级)
- 将计时攻击编译为独立的二进制文件
- 编写外部控制脚本,重复运行二进制文件并收集计时数据
- 可以使用 shell 脚本、Python 脚本或 Perl 脚本
- 主要权衡:编译后的二进制文件必须通过逆向工程才能检查,而 Python 文件是人类可读的
- 提高统计稳健性(对每个候选项进行多次采样、中值滤波等)
### 2. 针对 AES-128 的计时攻击
- 为 AES-128 CPA 添加可视化 (Carter Pattison)
- 开发易受计时攻击的 AES-128 实现 (Aly Aadil)
- 针对易受攻击的 AES-128 实现实施计时侧信道攻击
- 攻击应仅使用命令行可观察的计时(无 API 级别访问)
- 语言:首选编译型语言(Rust** 或 C++)以实现更严格的计时控制
- Python 是一个选项,但要注意垃圾回收器会干扰测量
- 演示通过计时泄漏恢复密钥(或部分密钥)
### 3. 物理功耗分析 — 硬件选择
评估用于执行物理功耗分析的硬件平台:
- **ChipWhisperer** - 更多引导式支持
- **Raspberry Pi**
- **STM32**
- 调查 ChipWhisperer 是否能处理 RF 信号捕获/分析
### 4. CPA DPA 路线图 (长期规划)
- 从真实硬件上的 **CPA** 开始(扩展现有的 Python 仿真)
- 迭代:破解目标 → 增加对策 → 再次破解
- 当 CPA 不足时推进到 **DPA** —— 这是多学期的延伸目标
## 工具与技术栈
- **Rust** — 计时攻击实现
- **Python** — CPA 仿真,功耗轨迹分析
- **NumPy, Matplotlib** — 统计分析与可视化
- 硬件待定 (ChipWhisperer / RPi / STM32)
标签:AES-128, Georgia Tech, meg, Python, Rust, 二进制分析, 云安全运维, 仿真模拟, 侧信道攻击, 信息安全, 功耗分析, 可视化界面, 密码学, 密码检查器, 密钥恢复, 嵌入式安全, 手动系统调用, 提示词注入, 旁路攻击, 无后门, 汉明重量, 相关功耗分析, 硬件安全, 统计学攻击, 网络流量审计, 网络物理系统, 计时攻击, 身份验证绕过, 逆向工具