实时模块保护的制作方法

文档序号:8449222阅读:325来源:国知局
实时模块保护的制作方法
【技术领域】
[0001]本发明的实施例总体上涉及计算机安全和恶意软件保护,并且更具体地,涉及实时模块保护。
【背景技术】
[0002]本机操作系统服务可阻止安全软件在系统的内核中安装任意挂钩。因而可防止安全软件过滤电子设备的所有行为,包括恶意软件的潜在恶意行为。恶意软件可以包括但不限于,间谍软件、根程序病毒包(rootkits)、密码窃取器、垃圾邮件源、网络钓鱼攻击源、拒绝服务攻击源、病毒、记录器、木马、广告软件,或产生恶意行为的任何其他数字内容。
[0003]操作系统的过滤功能可能会受到限制,并且可能仅在由操作系统供应商所决定的时间轴上可用。恶意软件可与安全软件在相同的层级处操作和驻留,尤其是在操作系统内核中,并从而损害操作系统及安全软件本身的完整性。
[0004]多种形式的积极(aggressive)内核模式恶意软件篡改用户模式存储器以实现恶意任务,例如动态地注入恶意代码、修改用户模式代码分段(subsect1n)以改变执行路径并重定向到恶意代码、以及修改用户模式数据结构以使安全软件失效。此外,一些恶意软件可通过篡改进程存储器代码和数据分段以欺骗检测逻辑来从内核攻击反恶意软件应用程序及进程。
[0005]内核模式根程序病毒包及其他恶意软件采用各种方法从用户模式应用程序和内核模式设备驱动程序中隐藏自身的存在。根据感染所发生的位置,所使用的技术可以改变。例如,恶意软件能够攻击操作系统的内核活动进程列表从而从列表中清除或取消根程序病毒包或其他恶意软件进程。其他恶意软件可篡改进程访问和枚举函数的代码分段。
【附图说明】
[0006]为了更完整地理解本发明的实施例及其优点,现参考以下与附图相结合的书面描述,其中:
[0007]图1是用于保护电子设备避免恶意软件的系统的示例实施例;
[0008]图2是用于保护电子设备避免恶意软件的基于虚拟机监视器和基于安全规则的可配置安全解决方案的系统的示例实施例;
[0009]图3是用于保护电子设备避免恶意软件的基于虚拟机监视器的方法的示例实施例;
[0010]图4是用于在电子设备上使用操作系统下层捕获来调节软件访问以保护存储器的系统的示例实施例;
[0011]图5是存储器映射的示例实施例的示意图;
[0012]图6是用于使用对电子设备的尝试访问的操作系统下层捕获来保护存储器的方法的示例实施例;
[0013]图7是用于实时模块保护的系统的示例操作的示意图;
[0014]图8是用于实时模块保护的方法的示例实施例。
【具体实施方式】
[0015]图1是用于保护电子设备避免恶意软件的系统100的示例性实施例。系统100可包括操作系统(“Ο/s”)下层(below-0/S)捕获代理104,捕获代理104通信地耦合到触发事件处理器108。Ο/S下层捕获代理104可被配置为捕获(trap)对电子设备103的资源106的各种尝试访问。Ο/S下层捕获代理104可被配置为创建与所捕获的尝试访问相关联的触发事件,并将所述触发事件发送给触发事件处理器108。触发事件处理器108可被配置为查询一个或多个安全规则114或保护服务器102,以确定如何处理所述触发事件。触发事件处理器108还可被配置为评估所述触发事件的倾向是恶意软件或颠覆电子设备103的资源或操作的恶意尝试的指示。此外,触发事件处理器108可被配置为向Ο/S下层捕获代理104提供是否应当允许或拒绝触发事件的确定,或者可被配置为产生另一纠正动作。
[0016]可在比电子设备103中的操作系统更低的功能层级处实现Ο/S下层捕获代理104。例如,Ο/S下层捕获代理104可截获操作系统112、驱动程序111或应用程序110对资源106的尝试访问。Ο/S下层捕获代理104可在电子设备103的处理器上运行而无需使用操作系统。在一个实施例中,Ο/S下层捕获代理104可运行于裸机环境或执行层级。此外,Ο/S下层捕获代理104可运行于由电子设备103的处理器所限定的、比电子设备103的所有操作系统更高的执行优先级别。例如,在使用保护环的分级保护域模型的上下文中(其中较小的数字代表较高的优先级),操作系统112可运行于“环0”,而Ο/S下层捕获代理104可运行于“环-1”。驱动程序111或应用程序110可运行于“环O”或“环3”。在处理器的一些实施例中,“环-1”的概念可被称为“环O特权模式”,并且“环O”的概念可被称为“环O非特权模式”。相比“环O”或“环O特权模式”,“环-1”或“环O特权模式”下的操作可能需要更多的额外开销和费用。电子设备103的操作系统可运行于环O。在诸如INTEL处理器的处理器中,“VMX Root”模式可相当于“环O特权模式”,并且“VMX Non-root”模式可相当于“环 O”。
[0017]Ο/S下层捕获代理104可对运行于“环O”或更高的实体透明地操作。因此,无论Ο/S下层捕获代理104是否存在,都可由操作系统112或另一实体以相同的方式请求对资源106的尝试访问。当执行所接收的动作时,Ο/S下层捕获代理104可允许所述请求发生、可拒绝所述请求,或者可采取其他纠正动作。为了拒绝所述请求,Ο/s下层捕获代理104可简单地不把请求发送给资源106或处理器,或者可向所述请求提供欺骗的或虚假的应答,以使操作系统112相信该动作已经发生。
[0018]通过在“环-1”、在比电子设备103的相关操作系统更高的优先级或低于电子设备103的相关操作系统运行,Ο/S下层捕获代理104可避免困扰诸如操作系统112的操作系统的大多数恶意软件。恶意软件可欺骗在“环O”运行的操作系统112或甚至反恶意软件的软件,这是因为恶意软件也可在“环O”优先级运行。然而,如果要执行恶意活动,电子设备103上的恶意软件仍然必须做出对资源106的请求。因而,捕获链接到敏感资源的操作可由在电子设备103中的操作系统的层级以下运行的捕获代理更好地完成。
[0019]可以任何合适的方式实现Ο/S下层捕获代理104。在一个实施例中,可在虚拟机监视器中实现Ο/s下层捕获代理104。如针对Ο/S下层捕获代理104所描述的,这种实施例可在操作系统的层级以下运行。例如,在下面的图2的描述中的可找到对安全虚拟机监视器216的这种实施例的示例的描述。在另一实施例中,可在固件中实现Ο/S下层捕获代理104。在又一实施例中,可在微代码中实现Ο/S下层捕获代理104。可在这些实施例的任意适合的组合中实现Ο/S下层捕获代理104。
[0020]触发事件处理器108可由通信地耦合在一起的一个或多个事件处理器或安全代理实现。触发事件处理器108和Ο/S下层捕获代理104可在同一安全代理中实现。在一个实施例中,触发事件处理器108可运行于与Ο/S下层捕获代理相同的优先级环。在另一实施例中,触发事件处理器108可运行于与操作系统112、驱动程序111或应用程序110相同的优先级。在又一实施例中,触发事件处理器108可由两个或更多个触发事件处理器实现,其中至少一个触发事件处理器运行于与Ο/S下层捕获代理相同的优先级环,并且至少一个触发事件处理器运行于操作系统112、驱动程序111或应程序用110的层级。通过在Ο/S下层捕获代理104的层级运行,触发事件处理器108可类似地避免“环O”或“环3”恶意软件感染代理本身的问题。然而,与操作系统112、驱动程序111或应用程序110 —起在“环O”或“环3”运行的触发事件处理器108可以能够提供关于对资源106的尝试访问的上下文信息,该上下文信息是从“环-1”代理的角度来看无法获得的。
[0021]触发事件处理器108可以以任何合适的方式实现。在一个实施例中,触发事件处理器108可在虚拟机监视器或虚拟机监视器安全代理中实现。这种实施例可在操作系统的层级以下运行。例如,在下面的图2的描述中的可找到对安全虚拟机监视器216和安全虚拟机监视器安全代理217的这种实施例的示例的描述。在另一实施例中,触发事件处理器108可全部地或部分地在固件中实现。如针对触发事件处理器108所描述的,这种实施例可在操作系统的层级以下运行。在又一实施例中,触发事件处理器108可在微代码中实现。如针对触发事件处理器108所描述的,这种实施方式可在低于操作系统的层级以下运行。触发事件处理器108可在这些实施例的组合中实现。
[0022]在一个实施例中,触发事件处理器108可在多个模块中实现,其中,至少一个这种模块运行于操作系统以下的层级,并且至少一个这种模块运行于操作系统之内的层级。每个这种模块均可被配置为彼此进行通信。
[0023]在一个实施例中,操作系统下层捕获代理104和/或触发事件处理器108可在电子设备103的裸露的金属层运行。操作系统下层捕获代理104和/或触发事件处理器108可运行而无需使用它们与它们被配置为要进行保护的资源106之间的操作系统。资源106可包括处理器、处理器的功能部件、存储器、诸如数据结构的驻留在存储器中的实体,或者诸如函数、进程或应用程序的驻留在存储器中以供由处理器执行的实体。资源106可包括包含电子设备103的资源的系统资源。此外,资源106可被指定为受保护的,从而通过例如操作系统下层捕获代理104、触发事件处理器108或任何合适的反恶意软件机制或模块的操作进行保护。因此,资源106可包括受保护的系统资源。操作系统下层捕获代理104和/或触发事件处理器108可直接在电子设备103的硬件上运行。操作系统下层捕获代理104和/或触发事件处理器108可不需要使用诸如操作系统112的操作系统来执行或获得对资源106的完全访问。
[0024]电子设备103上可以存在其他操作系统,这些操作系统不参与处在操作系统112、操作系统下层捕获代理104和触发事件处理器108、以及资源106的层级处的多个实体之间的关系。例如,预引导操作系统可安全地启动电子设备的一些部分,但不参与电子设备在处理来自应用程序110、驱动程序111和操作系统112模式的对资源106的请求这方面的正常操作。在另一示例中,电子设备103可包含主板组件、插入式板卡、外围设备或其他组件,这些组件包含它们自己的操作系统和处理器组,以执行处于操作系统112、操作系统下层捕获代理104和触发事件处理器108与资源106的层级处的实体之间的关系之外的功能。这些操作系统可为嵌入式操作系统。这些操作系统中的任何一个均可不用于执行操作系统下层捕获代理104和触发事件处理器108。此外,这些操作系统中的任何一个均可不访问由捕获代理104和触发事件处理器108所保护的资源106。
[0025]操作系统112、驱动程序11或应用呈现110中的每一个可通过任何合适的模块、可执行文件、脚本、逻辑、指令、硬件、软件、固件或它们的组合来实现,以在操作100上运行。
[0026]系统100可包括一个或多个操作系统下层捕获代理104和一个或多个触发事件处理器108的任意组合。可在以下各图中的对捕获代理、事件处理器和安全代理的描述中找到对操作系统下层捕获代理104和触发事件处理器108的描述。
[0027]资源106可包括电子设备的任何合适的资源。例如,资源106可包括寄存器、存储器、控制器或I/o设备。例如,可在对图2的系统资源214或图4的虚拟存储器430或物理存储器403的描述中找到对资源106的示例实施例的描述。
[0028]安全规则114可包括任何合适的规则、逻辑、命令、指令、标志或用于告知Ο/S下层捕获代理104要捕获什么动作或用于告知触发事件处理器108基于所捕获的动作来处理事件的其他机制。触发事件处理器108可被配置为向Ο/S下层捕获代理提供安全规则114中的一个或多个。例如,可在对图2中的安全规则222、或安全规则421或安全规则408的描述中找到对安全规则114中的一些或全部的示例实施例的描述。
[0029]内核模式和用户模式实体(例如系统100的应用程序110、驱动程序111和操作系统112)可以任何合适的方式实现。例如,可在以下对图2的应用程序210、驱动程序211和操作系统212或图4的应用程序410、驱动程序411和操作系统413的描述中找到对系统100的应用程序110、驱动程序111和操作系统112的示例实施例的描述。
[0030]电子设备103可以任何合适的方式实现,例如计算机、个人数字助理、电话、移动设备、片上系统、服务器或可配置以解释和/或执行程序指令和/或进程数据的任何其他设备。例如,可在以下对图2的电子设备204或图4中的电子设备401的描述中找到对电子设备103的示例实施例的描述。
[0031]系统100可在用于捕获对在电子设备103的操作系统以下的层级处的资源的尝试访问的任何合适的系统中实现。系统100也可在用于通过查询安全规则以确定所尝试的访问是否是恶意的来处理所尝试的访问的任何合适的单元中实现。例如,系统100可由下面的图2-图8中所描述的系统和方法200、300、400、500、600、700和800实现。
[0032]图2是用于保护电子设备避免恶意软件的基于虚拟机监视器和基于安全规则的可配置安全解决方案的系统200的示例实施例。系统200可为系统100的示例实施例,其在虚拟机监视器中实现系统100的某些元件。系统200可包括由可配置安全解决方案保护而避免恶意软件的电子设备204。系统200的可配置安全解决方案可包括在所有操作系统下层运行的安全代理、安全虚拟机监视器、基于云的安全代理和Ο/S内行为安全代理。0/S下层安全代理和安全虚拟机监视器可被配置为防护对电子设备204的系统资源(包括由0/S内行为安全代理所使用的资源)的访问。ο/s下层安全代理可在安全虚拟机监视器中运行。基于云的安全代理可被配置为向ο/s下层安全代理和ο/s内行为安全代理提供恶意软件检测信息,并从安全虚拟机监视器和Ο/s内行为安全代理接收关于可能与恶意软件相关联的可疑行为的信息。ο/s内行为安全代理可被配置为针对在电子设备上运行的恶意软件的痕迹扫描电子设备204。系统200可包括一个或多个Ο/S下层安全代理,所述一个或多个Ο/S下层安全代理被配置为捕获对电子设备204的资源访问的尝试使用、生成对应于所述尝试的触发事件、查询关于所述触发事件的安全规则、并且如果有必要则采取关于所述尝试的纠正动作。
[0033]在一个实施例中,系统200可包括通信地耦合到一个或多个Ο/S内安全代理218和安全虚拟机监视器(“SVMM”)安全代理217的保护服务器202。SVMM安全代理217可驻留在SVMM 216中。SVMM 216可驻留在电子设备204中并运行在电子设备204上。Ο/S内安全代理218和SVMM安全代理217可通信地耦合。保护服务器202、0/S内安全代理218、SVMM安全代理217和SVMM 216可被配置为保护电子设备204免遭恶意软件的感染。
[0034]SVMM安全代理217可以是图中的触发事件处理器108的示例实施例。SVMM 216可以是图1的Ο/s下层捕获代理104的示例实施例。
[0035]电子设备204可包括親合到处理器208的存储器206。电子设备204可包括用于任何合适的目的而在电子设备上执行的一个或多个应用呈现210或驱动程序211。电子设备204可包括操作系统212。操作系统212可被配置为向应用程序210或驱动程序211提供对电子设备204的系统资源214的访问。SVMM 216可被配置为截获操作系统212对系统资源214的这种调用。SVMM 216和SVMM安全代理217可在操作系统212的层级以下运行。例如,SVMM 216和SVMM安全代理217可以特权模式(例如,“环-1”直接在处理器208上运行。
[0036]处理器208可包括例如微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、或被配置为解释和/或执行程序指令和/或进程数据的任何其他数字电路或模拟电路。在一些实施例中,处理器208可解释和/或执行被存储在存储器206中的程序指令和/或进程数据。存储器206可部分地或整体地被配置为应用程序存储器、系统存储器、或两者。存储器206可包括被配置为持有和/或容纳一个或多个存储器模块的任何系统、设备或装置。每个存储器模块可包括被配置为将程序指令和/或数据保留一段时间的任何系统、设备或装置(例如,计算机可读存储介质)。用于配置系统200的操作的指令、逻辑或数据(例如,对诸如SVMM 216、SVMM安全代理217以及Ο/S内安全代理218的组件的配置)可驻留在存储器206中,以由处理器208执行。
[0037]存储器208可执行要由处理器的一个或多个内核执行的一个或多个代码指令。处理器内核可遵循由代码指令所指示的指令的程序顺序。每个代码指令可由处理器的一个或多个解码器来处理。解码器可生成诸如预先确定格式的固定宽度的微操作这样的微操作以作为其输出,或者可生成反映原始代码指令的其他指令、微指令或控制信号。处理器208还可包括寄存器重命名逻辑和调度逻辑,其通常分配资源并排列与转换指令相对应的操作以用于执行。在完成由所述代码指令所指定的操作的执行后,处理器208内的后端逻辑可使指令退出(retire)。在一个实施例中,处理器208可允许无序执行但需要指令有序退出。处理器208内的退出逻辑可采取本领域技术人员已知的各种形式(例如,重新排序缓冲器等)。因此在代码执行过程中,至少在由解码器所生成的输出、由寄存器重命名逻辑所利用的硬件寄存器和表格以及由执行逻辑所修改的任何寄存器方面,处理器208的处理器内核30发生变换。
[0038]保护服务器202可在网络244上运行。在网络244上运行的保护服务器202可实现云计算方案。保护服务器202可被配置为与电子设备204的元件进行通信来更新恶意软件检测规则和信息。保护服务器202可被配置为接收关于源自于电子设备204的可疑活动的信息,并确定这种可疑活动是否是恶意软件感染的指示。操作系统212可包括一个或多个Ο/S内安全代理218。Ο/S内安全代理218可被配置为从保护服务器202接收监视和检测规则,例如Ο/S内安全规则220。Ο/S内安全代理218可被配置为使用由保护服务器202接收到的Ο/S内安全规则220来监视和阻止电子设备上的可疑活动。Ο/S内安全代理218可被配置为将检测到的可疑活动报告给保护服务器202。Ο/S内安全代理218可被配置为阻止恶意软件操作并向保护服务器202报告这种阻止。如果系统200中存在一个以上的0/S内安全代理218,则每个Ο/S内安全代理218可被配置为执行捕获、证实或与Ο/S内安全代理218相关联的其他任务的指定部分。这些部分可由操作系统下层安全代理定义。例如,一个Ο/S内安全代理218可证实或调查MOV指令,而另一 Ο/S内安全代理218可证实或调查JMP指令。0/S内安全代理218可被配置为确定存储器中特定页的生命周期。例如,0/S内安全代理218可知道通常由操作系统212所使用的用来分配存储器的页的过程和步骤。类似地,0/S内安全代理218可知道通常由操作系统212所使用的将应用程序的映像加载到其加载程序中的过程和步骤。这种过程可遵循操作的静态模式。因此,0/S内安全代理218可被配置为追踪操作系统212的操作以确定是否遵循了给定的动作标准规程。0/S内安全代理218可与SVMM安全代理217通信,以确定由SVMM安全代理217所捕获的操作是否生成了由0/S内安全代理218所观察到的对应的预期行为。差异可指示恶意软件已试图执行在操作系统212的正常操作之外的系统功能。因此,例如0/S内安全代理218和SVMM安全代理217可确定所讨论的页是由恶意软件直接加载到存储器中,还是由操作系统加载程序加载。这种行为可使得0/S内安全代理218或SVMM安全代理217向保护服务器202报告信息,采用更具侵略性的捕获和检查,或采取任何其他纠正动作。
[0039]在一个实施例中,0/S内安全代理219可被配置为通过将其自身嵌入到操作系统212中而提供上下文信息。例如,0/S内安全代理219可被配置为将其自身或子组件注册(register)为驱动程序过滤器,并将其自身附接到主驱动程序来确定该驱动程序看到或看不到什么。例如,通过作为附接到TFS.SYS的过滤器,0/S内安全代理219可被配置为报告操作系统212驱动程序所看到的文件I/O操作。
[0040]在另一实施例中,0/S内安全代理219可被配置为将从操作系统219内观察到的这些信息提供给SVMM安全代理216或其它0/S下层安全代理,以用于与在操作系统下层观察到的信息进行比较。两组信息之间的差异可表明存在试图隐藏其自身的恶意软件。例如,0/S内安全代理219可挂钩或过滤NDIS.SYS,并监视对特
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1