用于检查安全代码的运行时完整性的方法和系统技术方案

技术编号:7144169 阅读:256 留言:0更新日期:2012-04-11 18:40
本发明专利技术揭示用以提防经设计以用不可信的不安全代码替换经认证的安全代码的攻击并使用CPU的存储器管理单元(MMU)中的现存硬件资源的方法和系统。在某些实施例中,指示存储器中的页先前已被认证为安全的许可条目被维持在翻译旁视缓冲器(TLB)中,且在遇到驻存在外部页处的指令后即刻检查所述许可条目。指示许可是无效的TLB许可条目引起对所存取页的按需认证。在认证后即刻更新所述TLB中的所述许可条目以反映所述页已被认证。作为另一实例,在某些实施例中,维持最近被认证的页中的一页,且在遇到驻存在外部页处的指令后即刻检查所述页。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的领域涉及对基于处理器的计算系统中的安全代码的认证,且更特定来说,涉及用于使用存储器管理单元(MMU)许可硬件来实现对安全代码的运行时完整性检查的方法和系统。
技术介绍
在基于嵌入式微处理器的系统中,例如在移动电话中,系统硬件可提供用于在两种模式中的一者中在微处理器上运行程序的机制,所述两种模式为安全模式和不安全模式。在安全模式中运行的程序被授予存取敏感硬件资源的许可,所述敏感硬件资源例如为用于数字版权管理的密钥寄存器和用于控制无线电硬件的寄存器;在不安全模式中运行的程序被拒绝存取以上资源。通常,安全代码是由装置的制造者产生和分配,且具备数字签名,所述数字签名保证所提供代码的块已由受信任的授权方产生且可借助授予安全代码的普通许可而安全地执行。然而,如果安全代码驻存在处理器集成电路外部的芯片外存储器中,那么攻击者可设法用不安全的未经认证的代码来替换此芯片外的、安全的、经认证的代码。防止此些攻击的已知方法包含周期性地再认证存储于芯片外存储器中的任何安全代码,或将安全代码分页到芯片上存储器中,就像需求分页(demand-paged)系统在磁盘与主存储器之间交换页那样,以及在每次将页带到芯片上时对其进行认证。因为与正被认证的数据相比,数字签名大体上相对较短,所以在认证粒度为至少数十字节且可能为数千字节的情况下,对假定安全的代码的区段进行认证可能花费较大量的时间。如果此代码是经周期性认证的,那么可能存在并不尝试执行安全代码的若干较长间隔,且因此在所述间隔期间的任何周期性认证均将消耗时间和能量。另外,与在程序仅需要来自每一页的几行的情况下所必需的代码相比,将安全代码分页到芯片上存储器中可加载并认证更多代码,因此消耗了加载和认证大部分代码所需的芯片上空间和功率。因此,需要用以认证驻存在芯片外存储器中的程序代码且提防可能尝试用未经授权的代码代替由制造者或其它经授权源所分配的代码的攻击者的系统和方法。
技术实现思路
本专利技术揭示可提防经设计以用不可信的不安全代码替换经认证的安全代码的攻击并使用处理器的存储器管理单元(MMU)中的现存硬件资源的方法和系统。某些实施例包括具有处理器的系统,所述处理器可运行存储在存储器中的安全或不安全的指令代码。当处理器存取来自具有安全指令代码的个别存储器页的指令时,实施用以将所述页认证为安5全代码的可信源的逻辑。系统还具有存储器管理单元(“MMU”),所述MMU维持存储器页的属性的高速缓冲存储器,所述属性包含用于存储在存储器页中的指令的执行许可。当存储器页经认证时,MMU可设定用于所述页上的指令的执行许可以允许所述指令的执行。提到此说明性实施例不是为了限制或界定本文揭示的专利技术性概念,而是为了提供实例以辅助对其的理解。在检视整个申请案后,将明白本揭示案的其它方面、优点和特征, 申请案包含以下部分附图说明具体实施方式和权利要求书。附图说明当参考附图阅读以下具体实施方式时会更好地理解本专利技术的这些和其它特征、方面和优点,其中图1是示范性系统的一部分的图形说明。图2是说明根据某些实施例的方法的流程图。图3是说明根据某些实施例的方法的流程图。图4是说明根据某些实施例的方法的流程图。图5是说明根据某些实施例的方法的流程图。图6是说明根据某些实施例的方法的流程图。图7是说明根据某些实施例的方法的流程图。图8是说明根据某些实施例的方法的流程图。图9是说明可包含根据某些实施例的认证系统的实例便携式通信装置的图。图10是说明可包含根据某些实施例的认证系统的实例蜂窝式电话的图。图11是说明可包含根据某些实施例的认证系统的实例无线因特网协议电话的图。图12是说明可包含根据某些实施例的说明性认证系统的便携式数字助理的实施例的图。图13是说明可包含根据某些实施例的认证系统的实例音频文件播放器的图。 具体实施例方式本文中揭示详细的实施例。然而应了解,所揭示的实施例仅是示范性的,而且不同的实施例是可能的。各图不一定按比例绘制,而且可能夸大或最小化某些特征以展示特定组件的细节。因此,不应将本文中揭示的特定结构和功能细节解释为限制性的,而是仅作为权利要求书的基础并作为用于教示所属领域的技术人员以不同方式使用本专利技术的代表性 ■石出。为了防止在安全模式中执行不安全的代码,系统可经配置以仅在系统复位时或在执行可在不安全模式中执行的特殊系统指令后即刻进入安全模式。在任一情况下,均将模式改变为安全的,且将程序执行流传送到已知含有安全代码的固定存储器地址。通常在现存的系统中,以已先前使用或通过安全程序初始化的芯片上只读存储器(“ROM”)(例如,用于启动)或芯片上随机存取存储器(“RAM”)实施存储器。包含于芯片上存储器中的安全程序代码与在芯片外存储器中的情况相比极不易受到恶意窜改,因为芯片上程序存储装置与处理器之间的互连没有暴露于经包封的集成电路封装外部。6在加电复位之后,系统开始在安全模式中执行。其一般执行来自芯片上自举ROM 的代码,所述代码已知是安全的,因为其曾由制造者编程且通常在制造之后无法改变。自举 ROM中的程序代码的部分是安全代码加载器,所述安全代码加载器可将代码从芯片外存储器加载到芯片上存储器且使用标准数字签名技术来认证所述代码。一旦安全代码处于芯片上,且芯片经配置以将其视为安全代码,那么所述代码相当安全而不会受到用未经授权代码代替安全代码的尝试的危险。然而,当此系统可能需要的安全程序代码的量超过芯片上存储器的容量时,某些安全代码必定驻存于芯片外存储器中。此代码可如通常那样经认证,但接着可能被在认证完成之后介入处理器与芯片外存储器之间的攻击者改变或替换。示范性实施例周期性地认证芯片外程序存储器的页,但通过只有当页在使用中且最近未经(不定地)认证的情况下使用与软件组合的现存的MMU硬件来请求对页的认证, 而比“盲”算法更有效地进行此认证。此“按需”认证确保了待执行的所有代码均被频繁地不定地认证,但将不执行的代码不会被多余地认证。应注意,通常在现存系统中,作为具有存储器属性的高速缓冲存储器的翻译旁视缓冲器(“TLB”)存储TLB中的每一条目的“执行”许可。经标记为不允许执行的条目用以解析数据侧存储器存取的物理地址和许可,但处理器在没有执行许可的情况下从页获取和执行指令的尝试将造成异常和中断。用于每一页的页表条目(存储在安全存储器中,用于安全页)将通常指示页是否具有执行许可以及页是安全的还是不安全的。在某些实施例中,通过保持“最近”已认证的安全的芯片外页的列表来实现跟踪外部页的认证历史。将所述列表保持在芯片上存储器中以防止其受到外部窜改。所述列表使用相对很少的存储器,因为其只是指向每一经认证页的存储器指针且可能只是列表大小。 在对外部安全页的认证发生之前,列表起初为空,且起初不存在向这些页授予执行许可的有效TLB条目。图1说明示范性认证系统100,其包括集成电路芯片105,集成电路芯片105具有处理器110和用于管理TLB 130和芯片上存储器140的存储器管理单元120。认证系统 100还包括定时器160和芯片外存储器150,如上文论述,安全代码可能存储于芯片外存储器150中。芯片上存储器140和芯片外存储器160表示可由处理器110存取的一个或一个以上计算机可读媒体。在某些实施例中,定时器160是芯片上的,本文档来自技高网
...

【技术保护点】
1.一种系统,其包括:处理器,其经配置以运行安全或不安全的指令代码;存储器,其包括若干存储器页,可从所述存储器页获取并执行用于所述处理器的指令;用以将个别存储器页认证为安全指令代码源的逻辑;以及存储器管理单元,其经配置以:高速缓冲存储存储器页的属性,包含用于来自所述存储器页的指令的执行许可;以及根据所述用以认证的逻辑来设定所述执行许可。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:杰弗里·托德·布里奇斯
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1