内存完整性检查制造技术

技术编号:14807438 阅读:69 留言:0更新日期:2017-03-15 01:20
根据示例,内存完整性检查可以包括:接收计算机程序代码,以及使用加载器将该计算机程序代码加载到内存中。内存完整性检查可以进一步包括:通过选择性地实现同步验证和/或异步验证,验证该计算机程序代码的完整性。该同步验证可以基于与该计算机程序代码的加载关联的加载器安全特征。此外,异步验证可以基于与包含该计算机程序代码的内存关联的媒介控制器。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
操作系统(OS)通常包括一套软件(即,机器可读指令),该套软件管理计算机硬件资源并且为计算机程序提供公共服务。OS通常包括加载器,该加载器负责加载计算机程序。例如,加载器将计算机程序置于内存中,并且进一步准备该计算机程序以供执行。加载器通常通过以下方式操作:将包含该计算机程序指令的可执行文件的内容读到内存中,并且随后实施其它准备性工作以准备该可执行文件以供运行。例如,加载器通常通过以下方式准备计算机程序代码以供执行:重新安置内存地址以使这些内存地址在对另一模块(如,共享库)中的计算机程序代码进行函数调用时指向正确位置。加载器还在计算机程序代码被设置在其中的内存页面上设置保护标志。一旦完成加载,OS就可以通过将控制转移至被加载的计算机程序代码来启动计算机程序。附图说明本公开的特征是通过示例图示的并且不局限于下面的图,在图中相同的附图标记表示相同的元件,其中:图1图示根据本公开的示例的包括内存完整性检查装置的环境;图2图示根据本公开的示例的用于实现内存完整性检查装置的方法;图3图示根据本公开的示例的用于实现内存完整性检查装置的方法的其它细节;以及图4图示根据本公开的示例的可以用于实现内存完整性检查装置的计算机系统。具体实施方式为了简洁和说明目的,主要参照示例描述本公开。在下面的描述中,为了提供对本公开的深入理解,陈述许多特定细节。但是,将显而易见的是,可以在没有对这些具体细节限制的条件下实施本公开。在其它例子中,为了不会不必要地使本公开模糊,未详细地描述一些方法和结构。在本公开全文中,术语“一”和“一种”的目的在于表示至少一个特定元件。如本文所用的,术语“包括”意味着包括但不限于,术语“包含”意味着包括但不限于。术语“基于”意味着至少部分地基于。计算机程序代码可以由授权的用户或未授权的用户加载并且置于内存中。例如,未授权的用户可能为了恶意目的而安装计算机程序代码。为了确保计算机程序代码是授权的用户安装的,计算机程序代码的完整性可以基于加载器和OS的正确运行和控制。可选地或此外,加载并且置于内存中的计算机程序代码的完整性可以基于负责内存页面表转换机制的OS虚拟内存组件的正确操作和控制。可以用其它安全特征扩展加载器的功能,以使加载器针对可能的病毒或恶意软件签名而检查所加载的每段计算机程序代码,并且确定关联的计算机程序是否安全。如果目标指令集支持,那么加载器可以将每段可执行的计算机程序代码置于不可变的页面(例如,被标记为“可执行的(eXecutable)”、“不可写的(non-Writable)”或“不可读的(non-Readable)”)中。此外,加载器可以确认所有其它内存页面被标记为“不可执行的(Non-eXecutable)”(例如,数据页面)。与加载器的功能有关的这些方面可以确保可信的计算机程序代码在计算机上运行。此外,自修改计算机程序代码可能需要请求用于写代码页面的权限,使得加载器和OS具有再检查的机会。前述确保计算机程序代码完整性的技术的鲁棒性可能与加载器和OS的页面转换机制区分和隔离得怎么样有关。如果OS的页面转换机制和加载器被破坏,那么计算机程序代码的完整性可能受到损坏。例如,加载器和OS的页面转换机制可能由对页面权限进行未授权改变的未授权实体而破坏,或通过破坏加载机制以注入未授权的代码(例如,恶意软件)而破坏。因此,前述确保计算机程序代码完整性的技术的鲁棒性可以基于OS的完全控制和信任。在管理器位于硬件和虚拟来宾OS之间的情况下,可能增加更多挑战来确保前述确保计算机程序代码完整性的技术的鲁棒性,因为可能出现多个层次的计算机程序代码执行,并且硬件可能缺少用于捕获所有可能组合的保护支持。根据示例,本文公开内存完整性检查装置和用于实现该内存完整性检查装置的方法。本文公开的装置和方法大体地可以提供基于同步验证和/或基于异步验证来检查具有活跃内存能力的系统中计算机程序代码的完整性。通常,计算机程序代码的完整性检查可以切换至在内存子系统中嵌入的活跃媒介控制器。与受限于软件(即,机器可读指令)的完整性检查技术相比,本文公开的装置和方法可以消除信任OS的需要。此外,本文公开的装置和方法可以减少在软件中持续地检查计算机程序代码的性能损耗影响。本文公开的装置和方法还可以提供对位于可能被感染的OS之外的计算机程序代码的完整性的安全的且鲁棒的检查。由于本文公开的装置和方法提供对可能被感染的OS之外的计算机程序代码的完整性的安全的且鲁棒的检查,所以本文公开的装置和方法不会被root-kit禁用或受root-kit干涉。如下面更详细地描述的,本文公开的装置和方法可以提供包括与活跃内存关联的活跃内存元件的计算系统的实现。活跃内存可以包括用于自主地检查内存范围以避免安全问题的程序。连续的物理内存可以在多个内存库(memorybank)之间交错,并且可以使用关联哈希(associativehash),使得与内存的单独内存子系统关联的每个单独的媒介控制器可以实施由该媒介控制器控制的不连续内存范围的独立哈希。可执行程序的加载器可以指示活跃内存元件(例如,媒介控制器和关联的媒介控制器)针对安全哈希实施哈希检查。活跃媒介控制器可以自动地(例如,没有人工干预的情况下)并且持续地针对例如病毒或恶意软件的一组已知未授权的关联哈希检查每个被写的内存范围。OS可以向活跃媒介控制器提供加载可执行的计算机程序代码的地址范围。因此,活跃媒介控制器可以限制对已知包含可执行的计算机程序代码(即,没有数据)的范围的扫描。OS可以向活跃媒介控制器提供与已知的授权的安全例程对应的函数指针的列表和批准的物理地址值的列表。函数指针可以被转换成物理地址。活跃媒介控制器可以检查函数指针的内存内容,并且可以在函数指针涉及已知的授权的函数时进一步避免扫描目标范围。图1图示根据本公开的示例的包括内存完整性检查装置102的环境100。参照图1,内存完整性检查装置102的环境100被描绘为包括中央处理单元(CPU)插槽104,中央处理单元(CPU)插槽104包含通过内存控制器110与内存108通信的多个CPU核106。在图1的示例中,内存控制器110被图示为包括内存控制器112(即,内存控制器(0))和内存控制器114(即,内存控制器(1))的双通道内存控制器。可选地,内存控制器110可以包括单通道内存控制器或多通道内存控制器。包括内存控制器112和内存控制器114的双通道内存控制器110可以本文档来自技高网...

【技术保护点】
一种非暂时性计算机可读介质,具有存储在其上的用于提供内存完整性检查的机器可读指令,所述机器可读指令在被执行时使至少一个处理器:接收计算机程序代码;使用加载器将所述计算机程序代码加载到内存中;以及通过选择性地实现同步验证和异步验证中的至少一个,验证所述计算机程序代码的完整性,其中所述同步验证基于与所述计算机程序代码的加载关联的加载器安全特征,并且所述异步验证基于与包含所述计算机程序代码的所述内存关联的媒介控制器。

【技术特征摘要】
【国外来华专利技术】1.一种非暂时性计算机可读介质,具有存储在其上的用于提供内存完整性检查的
机器可读指令,所述机器可读指令在被执行时使至少一个处理器:
接收计算机程序代码;
使用加载器将所述计算机程序代码加载到内存中;以及
通过选择性地实现同步验证和异步验证中的至少一个,验证所述计算机程序代码
的完整性,其中所述同步验证基于与所述计算机程序代码的加载关联的加载器安全特
征,并且所述异步验证基于与包含所述计算机程序代码的所述内存关联的媒介控制器。
2.根据权利要求1所述的非暂时性计算机可读介质,其中为了实现所述同步验证,
所述机器可读指令在被执行时进一步使所述至少一个处理器:
计算与所述计算机程序代码关联的哈希;以及
使用所计算的哈希来更新与所述计算机程序代码关联的并且加载到所述内存中的
内存页面的哈希。
3.根据权利要求2所述的非暂时性计算机可读介质,其中为了实现所述同步验证,
所述机器可读指令在被执行时进一步使所述至少一个处理器:
向内存控制器发送包括所计算的哈希和所述内存页面的关联范围的对;以及
指示所述内存控制器检测与所述内存页面的所述关联范围有关的所计算的哈希的
改变。
4.根据权利要求1所述的非暂时性计算机可读介质,其中为了实现所述同步验证,
所述机器可读指令在被执行时进一步使所述至少一个处理器:
确定操作系统(OS)已在什么时间替换了与所述计算机程序代码关联的安全内存
页面;以及
响应于确定所述OS已替换了与所述计算机程序代码关联的所述安全内存页面,
指示所述媒介控制器停止检查与所替换的安全内存页面关联的内存页面范围,并且去
除与所替换的安全内存页面关联的之前的哈希。
5.根据权利要求1所述的非暂时性计算机可读介质,其中为了实现所述异步验证,
所述机器可读指令在被执行时进一步使所述至少一个处理器:
使用与所述内存关联的所述媒介控制器来识别与所述计算机程序代码关联的未授
权的签名。
6.根据权利要求5所述的非暂时性计算机可读介质,其中为了使用与所述内存关
联的所述媒介控制器来识别与所述计算机程序代码关联的未授权的签名,所述机器可

\t读指令在被执行时进一步使所述至少一个处理器:
将与所述计算机程序代码关联的签名与未授权的签名列表作比较。
7.根据权利要求5所述的非暂时性计算机可读介质,其中为了使用与所述内存关
联的所述媒介控制器来识别与所述计算机程序代码关联的未授权的签名,所述机器可
读指令在被执行时进一步使所述至少一个处理器:
解释与所述计算机程序代码...

【专利技术属性】
技术研发人员:奈杰尔·爱德华兹克里斯·I·道尔顿保罗·法拉博斯基
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

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

1