向操作系统报告恶意活动的制作方法

文档序号:6498469阅读:110来源:国知局
向操作系统报告恶意活动的制作方法
【专利摘要】一种装置包括由操作系统可访问的存储器;以及基本输入/输出系统(BIOS)处理程序。BIOS处理程序响应于检测到的恶意软件活动而在存储器中存储数据以向操作系统报告所述活动。
【专利说明】向操作系统报告恶意活动

【背景技术】
[0001]恶意软件(也被称为“恶意程序”)是指当被计算机执行时不利地影响计算机的性能和/或危害存储在计算机上的数据的完整性的未经授权的指令。作为示例,恶意软件可以获得对应用的访问;扰乱计算机操作;擦除存储在计算机上的文件;收集敏感信息(例如密码或其它个人信息);追踪计算机的用户的行为;使用计算机以用于非预期操作等等。
[0002]恶意软件可以以许多不同的形式被封装。作为示例,恶意软件可以是其从一个计算机复制自身到下一个计算机的病毒;看似无害(例如,看似由经授权的供应商提供)的特洛伊木马,从而掩盖它的恶意意图;通过网络安全性传播的蠕虫等等。

【专利附图】

【附图说明】
[0003]图1是根据示例性实现方式的计算机的示意图。
[0004]图2是描绘了根据示例性实现方式的向图1的计算机的操作系统报告检测到的恶意活动的技术的流程图。
[0005]图3和4是根据示例性实现方式的进行检测并且向操作系统报告检测到的恶意活动的技术的图示。
[0006]图5是根据示例性实现方式的图1的计算机的硬件架构的示意图。

【具体实施方式】
[0007]参照图1,依照本文所公开的实现方式,计算机10运行机器可执行指令或者“软件”,并且这样,其可能由于计算机10对恶意软件74的非预期执行而暴露于恶意活动。在该上下文中,“恶意软件74”是指为了导致计算机10上的“恶意活动”或未经授权的活动的目的而可以由计算机10的一个或多个处理器22执行的一个或多个未经授权的机器可执行指令,诸如(作为非限制性示例)不利地影响计算机10的性能;允许访问、复制和/或破坏计算机10所存储或收集的数据;允许访问、复制和/或修改在计算机10上存储的或被计算机10访问的一个或多个文件;在计算机10上显示视觉和/或听觉输出;破坏机器可执行指令;控制对计算机10的一个或多个功能的访问;和/或危害存储在计算机10上的数据的完整性的活动。
[0008]恶意软件74可以以许多不同的处理级中的任何一个执行,作为非限制性示例,诸如以操作系统级或以基本输入/输出系统(B1S)级。恶意软件74可以以许多不同形式中的任何一个被封装,并且这样可以是广告软件、间谍软件、病毒、特洛伊木马、蠕虫、后门等等。而且,恶意软件74可以是经编译的机器可执行指令或者可以是未经编译的机器可执行指令。因此,作为非限制性示例,恶意软件74可以包括脚本以及经编译的程序代码。
[0009]处理器22可以包含检测由于恶意软件的执行而弓I起的恶意活动的若干机制。然而,在没有本文所公开的系统和技术的情况下,处理器对恶意活动的检测可能仍然被操作系统忽视,并且这样可能并未着手进行适当的校正动作。作为非限制性示例,由操作系统62采取的校正动作可以牵涉操作系统62 (通过应用或直接通过操作系统62自身)对恶意软件采取一个或多个措施,诸如遏制或删除恶意软件74、修复受恶意软件74影响的文件、恢复受恶意软件74影响的数据、修复受恶意软件74影响的一个或多个应用、通知计算机10的用户关于恶意软件74等等。
[0010]更具体地,依照本文所公开的系统和技术,处理器22使用其系统管理模式(SMM)以向计算机10的操作系统62报告由处理器22检测到的任何恶意活动。以这种方式,在其操作过程期间,处理器22偶尔进入SMM,其中处理器22挂起操作系统22的执行并且执行与计算机10的B1S相关联的指令以用于如处理与存储器或芯片组错误有关的系统事件、执行热管理操作、执行安全功能、与可信存储器通信等等这样的目的,如本领域技术人员能够领会的那样。如本文所描述的,处理器22还可以在SMM中采取动作以向计算机10的操作系统62报告由处理器22检测到的恶意活动。
[0011]依照本文所公开的实现方式,当在SMM中时,处理器22在操作系统62可访问或者可读的存储器30中的一个或多个恶意活动日志32中记录任何检测到的恶意活动。以这种方式,一个或多个恶意活动日志32通知操作系统62关于任何恶意活动并且通知操作系统62关于检测到的恶意活动的地址,使得操作系统62可以采取适当的校正动作。
[0012]结合图1来参照图2,依照本文所公开的示例性实现方式,技术80包括警告(块82)计算机的B1S检测到的恶意活动并且使用(块84)B10S以确定与检测到的恶意活动相关联的一个或多个机器可执行指令的地址或位置。B1S被用于向操作系统报告(块86)检测到的病毒活动的位置,使得操作系统可以采取适当的校正动作。
[0013]参照回图1,依照示例性实现方式,计算机10是“物理机器”,这意味着计算机是由实际软件和硬件组成的机器。作为非限制性示例,计算机10可以是客户端、服务器、交换机、路由器、台式计算机、便携式计算机、智能电话、平板计算机、蜂窝电话、这些设备中的一个或多个的组合等等。
[0014]更具体地,作为物理机器,计算机10包括硬件20,诸如一个或多个处理器22、存储器40 (例如,动态随机存取存储器(DRAM))、网络接口 44等等。依照一些实现方式,处理器22可以是具有可以执行各种机器可执行指令或者“软件”的一个或多个处理核24的微处理器(作为非限制性示例,Intel?Xeon?微处理器)。
[0015]依照示例性实现方式,处理器22可以是包括包含一个或多个处理核24的一个或多个管芯(die)的集成电路封装。依照示例性实现方式,在计算机10上执行的软件可以包括一个或多个应用66 ;—个或多个驱动器68 ;包括恶意活动系统管理中断(SMI)处理程序(handler) 70的B1S 75 (在下文进一步描述);以及操作系统62。
[0016]取决于特定实现方式,操作系统62可以是“主”操作系统,即安装在计算机10上并且不在虚拟环境中操作的操作系统;或者可替换地,操作系统62可以是在虚拟环境中操作的“客”操作系统。就这一点而言,“客”操作系统可以与虚拟机(VM)相关联,其与计算机10的其它类似VM共享计算机10的物理资源。这些物理资源包括(作为非限制性示例的列表)硬件20和机器可执行指令60的各种组件。
[0017]作为更加具体的示例,特定的客操作系统可以是虚拟机监视器(VMM),或者“管理程序(hypervisor)”,其管理VM对计算机10的物理资源的共享,包括硬件20。一般而言,VMM在每个VM的操作系统和计算机10的底层硬件20之间提供接口。
[0018]在本申请的上下文中,术语“操作系统”因此是指主操作系统,以及客操作系统,诸如VMM。而且,依照一些实现方式,“操作系统”可以是可信操作系统,诸如tOS或者MVMM(测量虚拟机监视器)。要注意,依照示例性实现方式,计算机10可以具有多个操作系统62 (主操作系统和一个或多个客操作系统)。
[0019]依照一些示例实现方式,计算机10可以包括对等监视器,其也被称为系统管理中断(SMI)转移监视器(STM) 73,其是与主要管理程序并行运行的管理程序并且允许主控作为访客的OEM SMM。STM 73可以因此具有SMI处理程序70的警告/恢复逻辑,如本文所公开的那样;并且因为STM 73在OEM SMM代码之下运行,STM 73具有比OEM SMM代码更高的权限。STM 73可以由CPU厂商交付。
[0020]处理器22可以以许多方式中的一个检测从恶意软件74的执行而产生的恶意活动。作为非限制性示例,处理器22可以通过检测恶意软件74何时尝试修改处理器22的配置位26来检测恶意活动。例如,配置位26可以是处理器22的配置空间寄存器(CSR)位,其对芯片组和处理器配置进行编码。处理器22可以包含安全特征(称为“锁”)以防止恶意软件74改变配置位26并且还包含逻辑以监视对配置位26的尝试访问来检测何时已经做出改变所述位26的未经授权的尝试(即何时已经在不移除锁的情况下做出修改配置位26的尝试)。依照示例性实现方式,响应于恶意软件74尝试修改配置位26,处理器的逻辑通过生成系统管理中断(SMI)来进行响应以告知B1S 75该尝试。
[0021]作为另一个非限制性示例,在SMM期间,处理器22可以通过检测执行指定的SMM存储器区域28外的指令的尝试来检测恶意活动。以这种方式,恶意软件74可以尝试将SMM中的处理器执行引导到恶意指令而不是经授权的SMM指令。处理器22可以包含逻辑以检测这样的尝试执行并且断言(assert)—般保护异常(GPE),其然后在当前会话进行从SMM返回(RSM)之后触发SMI以告知B1S 75关于这样的尝试。以这种方式,依照示例实现方式,当RSM时,处理器22返回到SMM以处理SMI。
[0022]依照一些实现方式,计算机10响应于检测到恶意活动而调用SMI处理程序70(SP,B1S处理程序)。一般而言,SMI处理程序70是B1S 75的一部分并且向操作系统62报告检测到的恶意活动。更具体地,依照示例性实现方式,处理程序70确定恶意软件74的地址,在恶意活动日志32中记录地址并且在操作系统代码的执行恢复时断言信号以警告操作系统62检查日志32。以这种方式,当处理器22从SMM返回并且恢复执行操作系统指令时,操作系统62的处理程序64对信号进行响应并且读取日志32,其通知操作系统62检测到的恶意活动以及恶意软件74的地址,使得操作系统62可以采取适当的校正动作。
[0023]依照示例性实现方式,存储器30是处理器22的增强机器检查架构(eMCA)存储器,诸如一个或多个寄存器。一般而言,eMCA存储器包括错误状态库,其被用于如通过SMM记录软件和硬件错误这样的其它目的,因为操作系统62在处理器22从SMM返回时,出于识别硬件和/或软件错误(其由SMM识别)的目的而读取eMCA存储器30。依照本文所公开的示例性技术和系统,eMCA存储器30还包括详述任何检测到的恶意活动的日志32。
[0024]作为更具体的示例,图3描绘了由计算机10响应于检测到的恶意活动而采取的动作的图示100。结合图1参照图3,对于该示例,当做出(如路径108所图示的)尝试以将处理器的执行转向位于SMM指令区域28外部的恶意指令110时,处理器22在SMM中并且沿执行路径106执行SMM指令104。处理器22检测该尝试并且对应地生成一般保护异常(GPE)111,其调用GPE处理程序112。一般而言,GPE处理程序112使用存储器或堆栈,其保存恶意指令110的地址或位置。GPE处理程序111还生成SMI 114,其调用SMI处理程序70。
[0025]SMI处理程序70在存储器30中创建日志32,其包含恶意指令110的位置,如由保存在GPE处理程序112的堆栈中的位置所指示的那样。SMI处理程序70然后进行124以退出,并且在退出时,处理程序警告130操作系统62以检查存储器30。
[0026]作为非限制性示例,依照一些实现方式,病毒SMI处理程序70断言被称为“SIGNAL_MCE”的信号以在SMM退出时生成MCA中断。MCA中断进而当操作系统指令的执行恢复时使操作系统62检查存储器30。作为非限制性示例,依照一些实现方式SIGNAL_MCE信号可以由处理器22的寄存器位设置。因此,响应于SIGNAL_MCE信号的断言,处理程序64被调用,其经由日志32被告知关于检测到的恶意活动和恶意活动的地址。处理程序64然后可以采取134适当的校正动作。
[0027]图4描绘了根据另一个示例,响应于恶意活动而由计算机10采取的动作。结合图1参照图4,对于该示例性恶意活动,操作系统62的恶意指令152尝试访问处理器22的锁定配置位26,如由附图标记154和158所指示的那样。处理器22检测该尝试的访问并且对应地生成160 SMI,其使处理器22进入SMM并且调用SMI处理程序70。
[0028]对于该示例,SMI处理程序70通过检验处理器的选择器和指令指针的内容(CSiRIP)来确定恶意指令152的地址。处理程序70然后在存储器30的日志32中创建对应的日志条目,其包含恶意指令152的地址。SMI处理程序70然后进行170以退出SMM模式并且警告174操作系统62。作为非限制性示例,该警告可以牵涉断言SIGNAL_MCE信号,其导致MCE中断的断言。因此,由于SIGNAL_MCE信号的断言,操作系统处理程序64经由日志32被通知检测到的恶意活动和恶意活动的地址;并且然后操作系统处理程序64可以然后采取176适当的校正动作。
[0029]参照图5,依照示例性实现方式,计算机10可以具有硬件架构200,尽管依照另外的实现方式计算机10可以具有其它硬件架构。而且,图5中所描绘的实现方式是简化的,因为依照其它实现方式,硬件架构200可以具有附加的和不同的组件。
[0030]对于该示例,架构200包括耦合到前侧总线204的多个处理器22 (作为非限制性示例,处理器22-1和22-2,其在图5中被描绘)。存储器控制器中心(MCH) 208耦合到前侧总线204以控制对存储器40的访问以及为处理器22提供对输入/输出I/O控制器中心(ICH) 214的访问。以这种方式,MCH 208和ICH 214可以通过中心链路212进行通信。
[0031]一般而言,ICH 214可以控制通用串行总线(USB)224上的操作。作为非限制性示例,USB 224可以遵照通用串行总线3.0规范,修订本1.0,2011年6月6日。ICH 214还可以控制一个或多个总线(诸如例如I/O扩展总线228)上的操作。而且,ICH 214可以与网络接口 44通信并且控制至少一个硬驱动器220的操作。
[0032]以下示例关于另外的实施例。
[0033]在示例实现方式中,一种装置包括由操作系统可访问的存储器;以及基本输入/输出系统(B1S)处理程序,其响应于检测到的恶意软件活动而在存储器中存储数据以向操作系统报告所述活动。
[0034]在一些实现方式中,B1S处理程序确定与恶意软件活动相关联的至少一个可执行指令的地址并且在存储器中存储指示所述地址的数据。在一些实现方式中,存储器包括微处理器的寄存器的至少一位。在一些实现方式中,B1S处理程序断言信号以警告操作系统检查存储器。在一些实现方式中,B1S处理程序响应于由于检测到的恶意软件活动而发生的系统管理中断而被调用。在一些实现方式中,B1S处理程序被适配成响应于由于通过执行指令以修改处理器的锁定配置位的检测到的尝试而被调用。在一些实现方式中,B1S处理程序被适配成响应于通过执行指令以在系统管理模式期间将处理器执行引导到存储在针对系统管理模式指令的期望位置外部的指令的尝试而被调用。在一些实现方式中,B1S处理程序被适配成至少部分地基于处理器的代码选择器和指令指针而确定地址。在一些实现方式中,B1S处理程序被适配成从通用错误(GPE)处理程序使用的堆栈确定位置。在一些实现方式中,操作系统是主操作系统或客操作系统。
[0035]在一些实现方式中,一种方法包括警告计算机的B1S在计算机上的检测到的恶意软件活动;以及使用B1S以向计算机的操作系统报告所述检测。
[0036]在一些实现方式中,使用B1S以报告所述检测包括向操作系统报告与恶意软件活动相关联的机器可执行指令的位置。在一些实现方式中,警告B1S包括响应于通过执行指令以修改处理器的锁定配置位的检测到的尝试而执行至少一个B1S指令。在一些实现方式中,警告B1S包括响应于通过执行指令以在处理器的系统管理模式期间引导处理器以执行针对系统管理模式指令的期望位置外部的指令的检测到的尝试而执行至少一个B1S指令。在一些实现方式中,使用B1S以报告所述检测包括至少部分地基于处理器的代码选择器和指令指针中的内容而报告与恶意软件活动相关联的机器可执行指令的位置。在一些实现方式中,使用B1S以报告所述检测包括至少部分地基于由通用错误(GPE)处理程序使用的堆栈内容而报告与恶意软件活动相关联的机器可执行指令的位置。在一些实现方式中,使用B1S以报告包括利用指示位置的数据来更新操作系统可访问的存储器。在一些实现方式中,使用B1S以报告包括修改处理器寄存器的内容以警告操作系统检测到的恶意软件活动。
[0037]在一些实现方式中,一种装置可以包括被配置成执行以上所描述的方法的特征的处理器。
[0038]在一些实现方式中,至少一个机器可读设备包括包含响应于在计算设备上被执行而使所述计算设备执行以上所描述的方法的特征的多个指令的至少一个机器可读设备。
[0039]虽然本文已经公开了有限数目的示例,但是已经得益于本公开的本领域技术人员将领会到由此的大量修改和变型。意图在于随附权利要求涵盖所有这样的修改和变型。
【权利要求】
1.一种装置包括: 由操作系统可访问的存储器;以及 基本输入/输出系统(B1S)处理程序,其响应于检测到的恶意软件活动而在存储器中存储数据以向操作系统报告所述活动。
2.根据权利要求1所述的装置,其中所述B1S处理程序确定与恶意软件活动相关联的至少一个可执行指令的地址并且在存储器中存储指示所述地址的数据。
3.根据权利要求1所述的装置,其中所述存储器包括微处理器的寄存器的至少一位。
4.根据权利要求1所述的装置,其中所述B1S处理程序断言信号以警告操作系统检查存储器。
5.根据权利要求1所述的装置,其中所述B1S处理程序响应于系统管理中断而被调用。
6.根据权利要求1所述的装置,其中所述B1S处理程序被适配成响应于由于通过执行指令以修改处理器的锁定配置位的检测到的尝试而被调用。
7.根据权利要求1所述的装置,其中所述B1S处理程序被适配成响应于通过执行指令以在系统管理模式期间将处理器执行引导到存储在针对系统管理模式指令的期望位置外部的指令的尝试而被调用。
8.根据权利要求1所述的装置,其中所述B1S处理程序被适配成至少部分地基于处理器的代码选择器和指令指针而确定与恶意软件活动相关联的至少一个可执行指令的地址。
9.根据权利要求1所述的装置,其中所述B1S处理程序被适配成从一般保护异常(GPE)处理程序使用的堆栈确定与恶意软件活动相关联的至少一个可执行指令的地址。
10.根据权利要求1所述的装置,其中所述操作系统包括主操作系统或客操作系统。
11.一种方法包括: 警告计算机的基本输入/输出操作系统(B1S)在计算机上的检测到的恶意软件活动;以及 使用B1S以向计算机的操作系统报告所述检测。
12.根据权利要求11所述的方法,其中使用B1S以报告所述检测包括向操作系统报告与恶意软件活动相关联的至少一个机器可执行指令的地址。
13.根据权利要求11所述的方法,其中警告B1S包括响应于通过执行指令以修改处理器的锁定配置位的检测到的尝试而执行至少一个B1S指令。
14.根据权利要求11所述的方法,其中警告B1S包括响应于通过执行指令以在处理器的系统管理模式期间引导处理器以执行针对系统管理模式指令的期望位置外部的指令的检测到的尝试而执行至少一个B1S指令。
15.根据权利要求11所述的方法,其中使用B1S以报告所述检测包括至少部分地基于处理器的代码选择器和指令指针中的内容而报告与恶意软件活动相关联的至少一个机器可执行指令的地址。
16.根据权利要求11所述的方法,其中使用B1S以报告所述检测包括至少部分地基于由一般保护异常(GPE)处理程序使用的堆栈内容而报告与恶意软件活动相关联的至少一个机器可执行指令的地址。
17.根据权利要求11所述的方法,其中使用B1S以报告包括利用指示与恶意活动相关联的至少一个可执行指令的地址的数据来更新操作系统可访问的存储器。
18.根据权利要求11所述的方法,其中使用B1S以报告包括修改处理器寄存器的内容以警告操作系统检测到的恶意软件活动。
19.一种装置包括被配置成执行权利要求11至18中的任一项的方法的处理器。
20.至少一个机器可读介质,其包括响应于在计算设备上被执行而使所述计算设备执行根据权利要求11至18中的任一项的方法的多个指令。
【文档编号】G06F21/56GK104205113SQ201280072136
【公开日】2014年12月10日 申请日期:2012年3月30日 优先权日:2012年3月30日
【发明者】P.萨蒂库马, V.J.齐默, R.C.斯万森 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1