dhaloashan/Practical-Side-Channel-Attack-Labs
GitHub: dhaloashan/Practical-Side-Channel-Attack-Labs
一个基于ChipWhisperer平台的硬件安全实验室项目,通过侧信道分析和故障注入实验教授嵌入式系统物理攻击技术。
Stars: 0 | Forks: 0
硬件安全实验室报告
侧信道分析与故障注入实验
本仓库包含一份实验室报告,作为我 硬件安全课程 的一部分完成。本实验及报告由 Assan Jallow 和 Abian Morina 合作撰写。 实验重点在于使用 ChipWhisperer 平台进行实际的硬件安全攻击,包括侧信道分析、 AES 功耗分析以及通过时钟毛刺进行故障注入。
实验文件 GitHub 仓库
链接 -- > https://github.com/newaetech/chipwhisperer-jupyter/tree/main
📘 概述
本实验报告旨在演示嵌入式系统如何通过功耗、时序等物理行为泄露敏感信息,以及攻击者如何利用故障注入技术操纵设备执行。
实验在微控制器上运行的嵌入式固件上进行,主要使用 ChipWhisperer 进行迹线捕获、功耗分析和毛刺生成。
🔬 涵盖的实验主题
侧信道分析
- 用于密码恢复的简单功耗分析
- 汉明重量泄露观测
- 从单位泄露中恢复数据
- AES 上的差分功耗分析
- AES 上的相关功耗分析
- 从功耗迹线中恢复 AES-128 密钥
故障注入
- 时钟毛刺介绍
- 嵌入式固件上的故障注入
- 密码认证旁路
- 毛刺参数扫描
- 故障检测与应对措施
🛠 工具与技术
- ChipWhisperer
- Python
- TinyAES128-C
- XMEGA 微控制器
- 功耗迹线分析
- 统计泄露分析
- 时钟毛刺
🚀 关键实验练习
1. 使用功耗分析进行密码恢复
在本实验中,使用 简单功耗分析 分析了一个密码验证例程。通过观察逐字符密码检查期间功耗迹线的差异,可以逐个字符地恢复密码。
2. 使用 DPA 进行 AES 密钥恢复
使用差分功耗分析攻击了 AES 固件实现。该攻击依赖于 AES S 盒操作的功耗泄露,并展示了如何从功耗迹线中恢复依赖密钥的中间值。
3. 使用 CPA 进行 AES 密钥恢复
使用汉明重量泄露模型进行了相关功耗分析。通过将预测的泄露值与测量的功耗迹线进行比较,可以高效地恢复 AES-128 密钥。
4. 时钟毛刺故障注入
使用时钟毛刺向嵌入式固件中引入时序故障。这些故障导致了程序行为异常,包括在特定毛刺参数下成功绕过密码认证。
📊 学习成果
- 理解嵌入式设备如何通过物理方式泄露信息
- 学习实用的侧信道攻击技术
- 使用统计方法恢复加密密钥
- 探索故障注入和时钟毛刺攻击
- 理解安全实现设计的重要性
- 研究针对物理攻击的防御措施
🛡 讨论的防御措施
- 掩码技术
- 常数时间执行
- 噪声注入
- 冗余执行
- 故障检测机制
- 安全启动与完整性检查
- 硬件级保护
📄 报告信息
| 课程 | 硬件安全 |
| 报告标题 | 侧信道分析与故障注入实验 |
| 作者 | Assan Jallow 和 Abian Morina |
| 日期 | 2026 年 3 月 |
🎯 结论
本实验报告表明,即使使用了强大的加密算法,嵌入式系统仍然可能受到物理攻击。这些实验强调了实现级安全、侧信道抵抗能力和容错设计在硬件安全中的重要性。
总体而言,这些实验提供了处理真实世界硬件安全攻击的实践经验,并展示了为何安全的嵌入式系统设计必须同时考虑软件和物理攻击面。
👨💻 作者
- Assan Jallow
- Abian Morina
🏷 标签
hardware-security
side-channel-analysis
fault-injection
chipwhisperer
embedded-security
AES
DPA
CPA
clock-glitching