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

15

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



