剖析代码执行的制作方法_4

文档序号:9383093阅读:来源:国知局
距离。在320处,可以判定被监控的操作模式。这种模式可以通过命令、逻辑或状态机来指定操作的特定次序。所述模式可以例如表示恶意软件或已知安全部件的行为。
[0046]图4是用于剖析代码执行的方法400的示例性实施例的图示。可以针对剖析在电子设备上的代码执行来实施方法400。
[0047]在405处,具体实现操作以进行监控的规则、命令或指令以及操作模式可以被加载到适当的捕获代理,例如处理器、超级管理器或反恶意软件模块。在电子设备内与规则中的一个匹配的观测到的活动可以引起中断、异常或被处理的其它通知。可以通过任意适当的方式或机制来判定这种规则、命令或指令。例如,方法300的执行可能导致可以在405中被加载的规则。
[0048]在410处,可以监控在电子设备上的执行。匹配定义操作的执行可能引起例如生成中断或异常之类的通知。在415处,可以判定是否已经创建了任意这种通知。如果是,则方法400可以进行到420。如果不是,则方法400可以返回到410。
[0049]在420处,可以暂停电子设备的执行。在425处,可以记录观察到的操作。虽然观察到的操作的当前实例可能或不可能指示恶意软件,但是当前实例结合后续观察到的操作可以表示恶意软件。此外,可以执行规则模式的动态重新配置、加载或卸载。
[0050]在430处,可以判定操作是否指示恶意软件。可以考虑到先前观察到的已记录的操作来做出这种判定。可以根据在方法300中判定并且在405中加载的操作模式来做出所述判定。如果观察到的操作指示恶意软件,则方法400可以进行到435。如果观察到的操作不指示恶意软件,则方法400可以进行到440。
[0051]在435处,可以采取后续动作。可以采取或者允许采取任意适当的动作,例如触发操作系统或安全软件的通知、软件异常,隔离、使损坏的设备离开网络,清除或移除做出操作的实体。此外,可以判定和随后隔离、清除或移除与操作相关联的其它实体。
[0052]在440处,可以判定观察到的操作是否需要对将要应用的现有规则进行任意修改、添加、减少或其它改变。这种改变可以包括例如对将要监控的实体或存储器的改变,对将要检测的操作的改变,或对将要匹配的操作模式的改变。如果不需要改变,则方法400可以进行到450。如果需要改变,则在445中,可以执行这种修改并且将新的规则加载到适当的捕获机制中。在450处,可以恢复执行。方法400可以返回到410。
[0053]可以使用图1-2的系统或能够实现方法300和400的任意其它系统来实现方法300和400。这样,方法300和400的优选初始化点以及包括方法300和400的元素的次序可以取决于所选的实现方式。在一些实施例中,可以可选地省略、重复或组合一些元素。在某些实施例中,方法300和400可以局部地或全部实现于在计算机可读介质中实现的软件中。方法300和400可以由相同或不同的用户、行为者、电子设备、模块或其它实体所执行。
[0054]出于本公开的目的,计算机可读介质可以包括可以将数据和/或指令保持一段时间的任意工具或工具集合。计算机可读介质可以包括但不限于存储介质,例如,直接访问存储设备(例如,硬盘驱动或软盘)、顺序访问存储设备(例如,磁带磁盘驱动)、光盘、CD-ROM、DVD、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、和/或闪速存储器;以及通信介质,例如,电线、光纤和其它电磁和/或光载体;和/或任意上述的组合。
[0055]如上所述,恶意软件可以改变自身以便伪装其身份。此外,恶意软件作者可以改变恶意软件以伪装它自身。改变恶意软件的内容可能导致恶意软件的数字散列或签名的变化。因此,将电子设备上的实体的身份与已知恶意软件签名的列表对比进行检查可能不能识别出这种改变的恶意软件。静态代码的代码或执行分析可能类似地是无效的,因为代码可以在这种多态恶意软件中改变。
[0056]系统100和方法300及400的优点可以包括检测这种修改的恶意软件。这种检测可以通过提供恶意软件后面的潜在算法的可靠检测而执行。此外,系统100和方法300及400可以提供这种对执行的动态剖析,而不需要挂钩到应用程序接口调用、内核事件等。通过由加载到处理器内的规则执行识别,行为分析可以以本机处理器速度进行。
[0057]以下示例属于进一步的实施例。示例中的细节可以用于以上或此处描述的一个或多个实施例中的任意地方。在示例I中,一种用于保护电子设备的系统可以包括存储器和驻留在该存储器中的恶意软件访问规则逻辑的集合。所述恶意软件访问规则逻辑的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述系统可以包括与存储器耦合的处理器,其被配置为基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生操作中的一个。所述系统可以包括反恶意软件模块,其被配置为基于通知和所述操作模式,来判定所述操作是否指示恶意软件。所述反恶意软件模块还可以被配置为基于所述通知和所述操作模式,来识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作或被监控的操作模式。所述反恶意软件模块还被配置为基于所述通知和所述操作模式,来执行操作原因的签名检查。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器来进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、I/O端口地址、操作系统调用分派器、进程、线程或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个的逻辑限制。
[0058]在示例2中,一种用于保护电子设备的方法可以包括基于恶意软件访问规则逻辑的集合来监控电子设备的执行。所述恶意软件访问规则逻辑的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述方法还可以包括基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生操作中的一个,以及基于所述通知和所述操作模式来判定所述操作是否指示恶意软件。所述方法还可以包括:基于所述通知和所述操作模式,识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作或被监控的操作模式。所述方法还可以包括:基于所述通知和所述操作模式,执行操作原因的签名检查。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、操作系统调用分派器、进程、线程、I/O端口地址或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个逻辑限制。
[0059]在示例3中,至少一种机器可读存储介质可以包括在所述计算机可读介质上承载的计算机可执行指令。所述指令可
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1