嵌入式系统安全性对攻击状况和防卫策略
更大空间的使用,造成缓存溢出。同时,由于地址数据过多的返回地址指向攻击者的恶意代码,当功能尝试返回时,就开始执行黑客在错误返回地址所写的代码。这种危害已经达成,侵入者掌握了控制权。
一旦攻击行动成功地将执行代码放入它的域中,系统水平上的危险度就依赖于赋予被劫持的进程的授权水平。当然,如果被危及的程序在系统中被许可控制的范围并不宽,那么危害的程度就会相对减小。
由于这些种类数据结构的广泛使用,这是一种相当普遍的攻击方式。所以,在一些任何安全防护壁垒中,如:系统管理程序,安全内核,应该尽量少地使用缓存和堆栈,如果能够完全避免使用它们,那就更好了。
正如我们所指出的,通过破袭正在运行系统的组件,可以进行大量的控制。然而,当系统关闭时,可以生成大量其它的恶意程序。在一些情况下,侵入者可以在存储装置上写入代码,比如导入代码。这就允许侵入者可以更改代码,使驱动程序在下次导入时按照攻击者所希望的方式而不是它原来的设计所期望的方式工作。这种进攻更有可能是由更高一个层次的黑客来执行的,比如:"了解情况的内部人员"。
在整个程序开发过程中所使用的设计功能,通常是进入系统的秘密途径。联合测试行动组(JTAG)标准的端口是一个边界扫描端口,可以连接到许多电路板级和芯片级的资源上,可以让攻击者获得对几乎任何一种敏感资源的控制,更改执行流程或执行代码。
通常情况下,是否在交付产品时提供JTAG端口,是一个复杂而难以决断的问题,这是因为,将其取消,就意味着在现场进行的调试变得十分困难,但是,若是保留它,又会让系统存在潜在的弱点,而极易被击破。这是一个很好的例子,它说明,在设计过程中,把产品设计得尽可能开放有用,而同时又要封闭可造成危害的途径,这两者是相互冲突的。
如果存在一条外部存储总线,它为攻击者提供了重要的机会,并对安全设计来说是一个重要的挑战。如果攻击者可以侦测外部存储总线,那么他就有可能形成一个代码序列,这个序列反加到原来的那些总线上后,可以诱骗系统泄漏一些内部秘密。这就是我们之前所提到的"重放攻击"(replay attack)。即使加密的SDRAM,也可由于复制或回放被选择的存储内容,而受到这种类型的攻击。
旁路转换缓冲器(translation lookaside buffer,TLB)是一个高速缓冲存储器,它将虚拟内存地址转换成物理地址。应对对这个子系统进行特别严格的审查,这是因为,作为系统的一部分,不但对于系统性能来说很重要,而且也是可被攻击的弱点。从我们的目标出发,主要有两大类:硬件填充,即集成一个称作"硬件表walker"的装置,以及软件填充。
对于具有"硬件表walker"的系统而言,TLB再次填充是在出现TLB丢失时由硬件自动完成的。如果攻击者具有可以向存储有MMU描述符表格的存储器写入的权限,那么攻击者就可以改变表内的内容,并写入错误的转换关系。这种行为会产生很多影响,比如产生一个对内存或敏感装置的映射。
一个稍微有些不同的策略适用于具有TLB的软件填充策略的体系架构。MMU和TLB是寄存器控制的,而且需要进入优先权才能访问,但系统仍然存在弱点,即执行重填入的代码和该代码所操作的数据都保留在内存中,因此容易被恶意的应用程序所使用。
在密码学中,"旁路攻击"是基于从加密系统的物理实现方案所获取的信息、而非基于理论算法缺陷的任何攻击行为。众所周知的攻击包括定时攻击2、功率测量、辐射监测。在这些攻击中,功率或辐射特征经汇编后,与已知的系统行为相比较,以便找出行为的模式。一旦模式和相应的内部行为被确定,就可以设定故障误注入的时机和位置,以使得系统按照需要出现异常。
而一些黑客满足于他们从SOC封装之外所了解的信息,为了实现一些高价值的目标[如电子收款机系统(POS)终端],我们应关注一个更现实的问题,黑客们将会尝试将嵌入式器件的封装去除,来进行信号探查和内部存储的分析。作为这个方法的第一步,攻击者,很可能是一个团伙中的一员,会通过加热或酸腐蚀来融化芯片的外壳,以便能置入微探针。完成这一步后,器件开始运行,黑客尝试分析模式并测定弱点。
图 1 描述硬件表Walker攻击的代码序列。在初始状态下(1),敏感数据驻留在内部存储中,无法从虚拟地址空间获取。攻击者利用专门的探测手段,可以直接访问外部存储,以修改MMU描述符表(2)。当应当进行下一次虚拟地址(3)的TLB重填的时刻到来时,所针对的数据被映射到虚拟地址空间中,从而被攻击者所截获
黑客通过使用故障注入
嵌入式系统 相关文章:
- 嵌入式系统在电源设计中的运用(09-20)
- 基于4G通信的嵌入式数据通信系统设计(10-10)
- 汽车安全性能亟待升级 嵌入式系统把关护航(05-07)
- USB端口找到新居,落户嵌入式系统(02-11)
- 嵌入式系统在电力变压器监测中的应用研究(09-18)
- 基于OMAP架构的嵌入式指纹识别系统设计与应用(04-29)