破解MCU难于上青天?这几招告诉你什么叫大神
时间:06-04
来源:互联网
点击:
时序攻击可用在安全保护是基于密码的微控制器,或使用确定数字的卡或密码来进行访问控制的系统,如达拉斯的iButton产品。这些系统中共有的风险是输入的连续数字在数据库进行再次校验。
首先明白MCU是什么——即结构与组成Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存储数据掉电后不消失。ROM又分为片内存储器和片外(扩展)存储器两种。
RAM数据存储器,在程序运行过程中可以随时写入数据,又可以随时读出数据。存储数据在掉电后不能保持。RAM也分为片内数据存储器和片外(扩展)存储器两种。
Ⅲ:输入、输出I/O接口,与外部输入、输出(电路)设备相连接。PO/P1/P2/P3等数字I/O接口,内部电路含端口锁存器、输出驱动器和输入缓冲器等电路。其中PO为三态双向接口,P1/P2/P3数字I/O端口,内部驱动器为“开路集电极”输出电路,应用时内部或外部电路接有上拉电阻。每个端口均可作为数字信号输入或输出口,并具有复用功能(指端口功能有第一功能、第二功能甚至数个功能,在应用中可灵活设置)。MCU器件,除数字I/O端口外,还有ADC模拟量输入、输出端口,输入信号经内部A/D转换电路,变换为数字(频率)信号,再进行处理;对输出模拟量信号,则先经D/A转换后,再输出至外部电路。再来谈几种如何破解MCU方法一、非侵入式攻击
不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不需要很大的开销。另外,使用这种攻击不会留下痕迹。因此,这被认为是对任意元器件的硬件安全最大的威胁。同时,通常需要很多时间和精力来寻找对特定元器件的非侵入式攻击方法。这通常对元器件进行反向工程,包括反汇编软件和理解硬件版图。非侵入式攻击可以是被动的或主动的。被动攻击,也叫侧面攻击,不会对被攻击元器件发生作用,但通常是观察它的信号和电磁辐射。如功耗分析和时钟攻击。主动攻击,如穷举攻击和噪声攻击,特点是将信号加到元器件上,包括电源线。
一个简单的非侵入式攻击可以是复制一个上电配置的基于SRAM的FPGA。接上配置芯片用的JATG接口,用示波器或逻辑分析仪,捕捉所有信号。然后可以通过分析波形并回复独有的命令。
只使用到一半的FPGA资源时,可以轻微改变数据流来伪装盗版的事实。配置时留下一点空间而不影响元器件的运行。JTAG接口在发送信号时序时也有一些自由,故盗版的波形可以设置成看上去与原始信号不一样的。另外,破解者可以在上传时交换行地址,给人的印象是完全不同的设计。含糊与安全半导体制造商给大客户提供了增强产品防破解能力的措施:包装上的客户印字代替了标准的芯片型号。这给人的印象是产品是由定制的集成电路设计的。众所周知,ASIC提供了很好地保护措施来防止多种攻击,只有极少数经验丰富且装备精良的破解者才有可能成功破解。这会使很多潜在的破解者望而却步。但一个信心坚定的破解者会尝试用简单的方法确定芯片是不是真的ASIC。最简单的方法是观察连接到电源,地,时钟,复位,串口或别的接口的引脚。与数据库中被怀疑的微控制器相比较,这种结果非常可靠,每种微控制器都有自己的引脚特点。一旦发现相似的,就把它放在通用烧写器上尝试读出结果。另一个简单的方法是限制访问程序存储器。通常用在智能卡中,但一些微控制器中也用到。这不是很可靠且实用的方法。当然在智能卡中用得很好,所有的客户被与芯片制造商迫签署不扩散协议。但微控制器极少这样,能被通用烧写器烧写的微控制器世界上很多公司都能提供。即使文件中没有烧写的规格,用低成本的示波器几个小时就可以套出需要的波形。如果微控制器不被特殊通用烧写器所支持,仍然可以通过从制造商购买开发板来获得直接完整的协议。
二、时序攻击(TIming attacks)
一些安全相关的操作使用输入的值和密钥,由半导体芯片执行不同的时间来比较。小心的时序测量和分析就能恢复出密钥。这个方法最早在1996年的文献上提到。稍后这种攻击成功破解了实际的RSA签名的智能卡。为了攻击成功,需要收集装置的信息,与处理时间整合比较,如问答延
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 微控制器省电管理方法(05-04)
- 基于DSP和Cygnal单片机的移动数据处理传输系统 (07-06)
- 从硅片工艺技术到嵌入式软件的全方位低功耗系统设计(01-01)
- 基于IAP的STM32程序更新技术(01-23)
- 发挥ARM Cortex-M3和M4微控制器最大作用的要诀(01-21)