This application involves security code jumps and execution strobe. Systems, apparatus and methods for enhancing the security of silicon-based systems by creating anti-burr interference processes for executing software code blocks on silicon-based systems are disclosed. An example method can start by marking software block as non executable. Second, register the execution of the intent of the software block with hierarchical registers. Third, the software block is compressed to a compression constant. Fourth, using the two comparators, the compression constant is compared with the first predetermined value. Fifth, in response to the comparator providing a true result after comparison, the software code block is marked as executable to allow the software code to execute. In another aspect, the example method can be repeated N > 1 iteration, and i n each iteration i, the first software code block is compressed into the first compression constant compared with the first predetermined value of I.
【技术实现步骤摘要】
安全代码跳转和执行选通
本申请涉及安全代码跳转和执行选通。
技术介绍
硅芯片在诸如移动计算机和智能电话的许多硅基系统中被使用。每个硅芯片可以包含集成电路以及被用作计算机或电子系统的组件。然而,硅芯片容易受到恶意攻击,诸如攻击方利用电压、激光或类似的破坏技术所导致的毛刺干扰(glitch)。这些毛刺干扰会影响到程序控制流程,包括导致跳转(jump)至特定代码位置从而可能使得攻击方获益。更详细地,常规硅基系统中诸如JUMP指令之类的代码执行指令可以响应于具有验证所述代码的单一条件的条件IF/THEN校验指令来执行。如果所述条件被满足,则所述指令返回TRUE(真)并且实行代码执行操作。在所述指令为JUMP的情况下,通过将指令指针寄存器改变为指定代码空间而转移执行流程。如果所述条件未被满足,则所述指令返回FALSE(假)并且不实行代码执行操作。该简单的IF/THEN条件操作非常容易受到攻击,这是因为IF校验可以轻易地由于毛刺干扰而从FALSE变为TRUE,或者JUMP操作可以由于毛刺干扰而跳转至攻击方指定的位置从而执行恶意代码。攻击方能够愚弄系统使其相信未经验证或不良代码是合法的,或者即使所述代码是合法的,攻击方也能够使得系统跳转至不良位置并执行非期望的代码。
技术实现思路
公开了通过创建用于在硅基系统上执行软件代码块的抗毛刺干扰过程提升硅基系统的安全性的系统、装置和方法。一种示例方法可以通过将软件代码块标记为不可执行而开始。第二,利用分级寄存器登记执行所述软件代码块的意图。第三,将所述软件代码块压缩为压缩常数。第四,使用两个比较器将所述压缩常数与第一预定值进行比较。 ...
【技术保护点】
1.一种用于通过创建用于在硅基系统上执行软件代码块的抗毛刺干扰过程来提升所述硅基系统的安全性的计算机实现的方法,所述计算机实现的方法包括:将所述软件代码块标记为不可执行;利用至少一个分级寄存器登记执行所述软件代码块的意图;经由散列算法将所述软件代码块压缩为压缩常数;使用至少两个比较器将所述压缩常数与第一预定值进行比较;以及响应于所述至少两个比较器在比较之后提供了真结果,将所述软件代码块标记为可执行以允许所述软件代码块执行。
【技术特征摘要】
2017.03.03 US 62/466,6601.一种用于通过创建用于在硅基系统上执行软件代码块的抗毛刺干扰过程来提升所述硅基系统的安全性的计算机实现的方法,所述计算机实现的方法包括:将所述软件代码块标记为不可执行;利用至少一个分级寄存器登记执行所述软件代码块的意图;经由散列算法将所述软件代码块压缩为压缩常数;使用至少两个比较器将所述压缩常数与第一预定值进行比较;以及响应于所述至少两个比较器在比较之后提供了真结果,将所述软件代码块标记为可执行以允许所述软件代码块执行。2.根据权利要求1所述的计算机实现的方法,进一步包括:响应于所述至少两个比较器中的至少一个比较器在比较之后提供了假结果,禁止所述软件代码块执行。3.根据权利要求1所述的计算机实现的方法,进一步包括:响应于将所述软件代码块标记为可执行,执行所述软件代码块;以及在执行所述软件代码块之后,将所述软件代码块标记为不可执行。4.根据权利要求1所述的计算机实现的方法,进一步包括:将第二软件代码块标记为不可执行;利用至少一个分级寄存器登记执行所述第二软件代码块的意图;经由所述散列算法将所述第二软件代码块压缩为第二压缩常数;使用所述至少两个比较器将所述第二压缩常数与不同于所述第一预定值的第二预定值相比较;以及响应于所述至少两个比较器在所述比较之后提供了真结果,将所述第二软件代码块标记为可执行以允许所述第二软件代码块执行。5.根据权利要求4所述的计算机实现的方法,进一步包括接收要在所述硅基系统上执行的第二软件代码块。6.根据权利要求4所述的计算机实现的方法,进一步包括从验证过程接收针对所述第二软件代码块的验证。7.根据权利要求1所述的计算机实现的方法,进一步包括:响应于在所述软件代码块被标记为不可执行时读取所述软件代码块的尝试,提供错误或者锁定所述硅基系统而使得所述软件代码块不执行。8.根据权利要求1所述的计算机实现的方法,进一步包括接收要在所述硅基系统上执行的所述软件代码块。9.根据权利要求1所述的计算机实现的方法,进一步包括从验证处理器接收针对所述软件代码块的验证。10.根据权利要求1所述的计算机实现的方法,其中将所述软件代码块标记为不可执行包括将所述软件代码块存储在已经被标记为不可执行的存储器中。11.根据权利要求1所述的计算机实现的方法,其中在存储所述软件代码块之前加载器将可以包含所述软件代码块的存储器标记为不可执行。...
【专利技术属性】
技术研发人员:马里厄斯·P·席尔德,斯科特·D·约翰森,蒂莫西·陈,德雷克·劳伦斯·马丁,
申请(专利权)人:谷歌有限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。