Lasatho/Chipwhisperer-Side-Channel-Attacks

GitHub: Lasatho/Chipwhisperer-Side-Channel-Attacks

基于 ChipWhisperer 平台的嵌入式硬件侧信道攻击实验集合,演示通过功耗分析和时钟毛刺恢复 AES 密钥与绕过密码校验。

Stars: 0 | Forks: 0

# ChipWhisperer 侧信道攻击 针对嵌入式目标(ChipWhisperer-Lite 开发板上的 Atmel/Microchip XMEGA)的硬件侧信道攻击,涵盖四种技术:DPA、CPA、模板(特征)功耗分析和时钟毛刺。 | 文件夹 | 攻击方式 | 目标 | |---|---|---| | [`aes-key-recovery/`](aes-key-recovery) | DPA / CPA / 模板(特征)功耗分析 | 在事先未知的情况下,从功耗轨迹中恢复 128 位 AES 密钥 | | [`password-bypass/`](password-bypass) | 功耗分析 + 时钟毛刺 | 在不知道密码的情况下绕过固件密码校验 | ## 为什么这会起作用 微控制器会通过功耗泄漏信息:任何瞬间汲取的电流都与正在处理的数据(Hamming weight/distance 泄漏)以及正在执行的指令相关。通过使用 ChipWhisperer 示波器捕获大量功耗轨迹,并将它们与关于中间值的假设(DPA/CPA)或与预先记录的参考轨迹(模板攻击)进行关联,有可能一次恢复一个字节/字符的秘密密钥材料或认证数据——而无需直接看到明文密钥。 时钟毛刺则采用了不同的角度:在精确的时间偏移处注入短暂的时钟信号干扰,使 CPU 跳过或错误执行安全关键指令(例如,通常会拒绝错误密码的分支)。 ## 硬件与工具 - **开发板:** ChipWhisperer-Lite(XMEGA 目标,`CWLITEXMEGA`) - **框架:** NewAE Technology 开发的 [ChipWhisperer](https://github.com/newaetech/chipwhisperer) - **固件目标:** `simpleserial-aes`、`simpleserial-glitch`、`basic-passwdcheck` —— 均为 ChipWhisperer 项目的一部分,未在本仓库中再次分发 - **分析:** Python / NumPy / Matplotlib,在 notebooks 中运行 ## 复现此项目 1. 安装 [ChipWhisperer](https://chipwhisperer.readthedocs.io/en/latest/getting-started.html)(包含上述引用的固件源码)。 2. 连接带有 XMEGA 目标板的 ChipWhisperer-Lite。 3. 构建/烧录相关的固件目标(每个 notebook 都会通过 `make` 命令针对你本地的 ChipWhisperer 检出自动完成此操作)。 4. 从头到尾运行 notebooks。每个 notebook 捕获的轨迹/图表都已保存在其输出中,因此你也可以在没有硬件的情况下直接阅读它们。 ## 版权归属 建立在开源 [ChipWhisperer](https://github.com/newaetech/chipwhisperer) 平台及其公开的课程固件/notebooks(NewAE Technology)基础之上。本仓库中的攻击实现、分析、文章和结果均为我个人所作;只有目标固件和通用的实验方法源自 ChipWhisperer 的公开培训材料。 ## 免责声明 仅供教育目的及授权的硬件安全研究使用。请勿将此技术用于你不拥有或未获得明确测试许可的系统。 ## 许可证 本仓库中的代码和文章均在 MIT 许可证下授权,参见 [LICENSE](LICENSE)。
标签:AES, NoSQL, Python, 侧信道攻击, 密码学, 手动系统调用, 故障注入, 无后门, 硬件安全, 逆向工具, 防御绕过