基于侧信道的反汇编器构建
1 动机
逆向工程嵌入式设备的代码往往颇具难度,因为代码通常存储在安全的片上内存中。许多公司依赖代码的保密性来保护其知识产权并防止产品被仿冒。然而,在某些情况下,逆向工程是必要的,具体情况如下:
- 公司依赖已停产的产品,且无法从原供应商处获取相关信息。
- 缺乏确保组件完美互操作性的信息。
- 公司对竞争对手新产品的细节感兴趣。
- 公司希望识别竞争对手可能的版权或专利侵权行为。
在嵌入式产品设计中,大多数这些情况很常见,此时用于重建嵌入式程序的反汇编器就显得必要或至少有帮助。在大多数嵌入式处理器上,可通过所谓的锁定位来限制对代码段的访问。虽然已有方法可绕过许多处理器片上内存的读取保护,但本文展示了通过分析侧信道信息(如代码执行期间CPU的功耗),可以用完全被动的方法重建代码。
侧信道分析在过去十年改变了安全关键嵌入式应用的实现方式。提出了许多物理密码分析方法,如差分功耗/电磁分析、故障攻击和时序分析等。到目前为止,功耗和电磁分析的大部分工作都集中在重建侧信道中的数据依赖关系。但设备内的所有活动都会在功耗轨迹上留下“指纹”。虽然早在1999年就有人提到使用侧信道分析进行代码逆向工程的可行性,但此前侧信道分析的工作几乎都集中在破解密码实现上。本文旨在展示仅通过被动监测功耗或其他电磁辐射,就可以重建微控制器上运行的程序。
2 相关工作
虽然有人提到使用侧信道分析进行算法逆向工程的可行性,但相关工作较少。具体如下:
| 研究者 | 工作内容 | 局限性 |
| ---- | ---- | ---- |
| Novak | 提出恢复秘密A3/A8算
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



