MCU的调试接口——怎么堵住这个后门?
安全调试的前世今生 对于MCU的开发工程师来说,MCU的调试接口是必不可少的开发利器。透过调试接口,我们可以监视MCU的运行状态,查看或修改寄存器的数值,观察内存中的数据变化,通过IDE、调试器等开发工具配合,方便地排查各种棘手的问题。 我们需要了解的一切信息,调试接口都知无不言,言无不尽。 那么问题来了,在产品出厂后,黑客、攻击者就可以利用强大的调试接口对设备进行各种攻击,窃取产品中的敏感信息;黑色产业链也可以通过调试接口,轻而易举地读取出设备的固件,从而生产制造廉价的“破解版”。 正是由于调试接口功能强大,这个开发过程中的利器,也给产品带来了安全的漏洞和知识产权泄露的隐患。 针对这个问题,很多高附加值或安全敏感的产品,会选择在生产过程的最后一步,通过修改OTP Fuse等方式,将调试接口永久地禁掉。产品出厂后,调试接口已被封死,简单粗暴地解决调试接口带来的风险。 但是,产品的售后、维护往往不是一帆风顺的。产品在客户现场,也许会出现各种各样奇奇怪怪的问题。此时,由于调试接口被封掉,留给我们的调试排查手段捉襟见肘,产品出现问题后,难以定位更难以解决。 有没有一种方法,只能让开发者合法地调试芯片,而不会被攻击者利用呢? Secure Debug安全调试 传统的手段,是将调试接口永远的封死,那么Secure Debug就像是给调试接口加了一把坚固的锁