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

文档序号:9383093阅读:来源:国知局
实体可以被隔离、报告、移除、清除或用其它方式处理。此外,与这种实体相关联的任意事物(例如,存储装置或盘上的内容,或存储器中其它执行进程)可以被隔离、报告、移除、清除或用其它方式处理。
[0033]可以根据恶意软件访问规则逻辑108的白名单来定义某些中断或通知。将这种中断或通知放置到白名单中,可以使反恶意软件模块110忽略依据恶意软件分析的这种中断。这种中断或通知可能是例如系统100的已知或安全元素的结果或者可以与恶意软件无关,并且因此要求反恶意软件模块110不处理。
[0034]图2是恶意软件访问规则逻辑108的示例实施例的图示,可以通过恶意软件访问规则逻辑108来进行系统100的操作。
[0035]恶意软件访问规则逻辑108可以包括监控区域202。监控区域202可以定义被监控的实体。在一个实施例中,监控区域202可以定义存储器104的存储器范围,系统100将针对所述存储器104的存储器范围来剖析执行。可以适当地根据物理存储器地址或虚拟存储器地址来定义存储器范围。当反恶意软件模块110跟踪加载和卸载存储器104的元素时,可以根据例如反恶意软件模块110,来定义与给定实体相对应的存储器范围的映射。在图2的示例中,监控区域202可以定义待被监控的用户空间和内核空间。这种监控区域202可以定义:用户空间可以驻留于从地址(M*FxFFF)到(N*FxFFF),并且内核空间可以驻留于从地址(0x000)到(M*FxFFF)。特别地,可以在监控区域202中定义元素,例如,操作系统的用户部分“X”、SSDT、以及跟踪进程。虽然在图2的示例中没有详细说明具体的存储器地址范围,但这种地址可以在其被确定后详细说明。此外,每个这种区域可以被给予唯一的标识符或用其它方式加标签以由其它规则引用。内核空间和用户空间可以被这样引用。用于SSDT的空间可以表示为R1,用于跟踪进程的空间可以表示为R5,以及用于操作系统的用户部分“X”的空间可以表示为R7。
[0036]恶意软件访问规则逻辑108可以包括操作监控204,其可以指定哪些转变或其它操作可能需要处理恶意软件评估。对于恶意软件访问规则逻辑108的其它部分的引用,每个监控操作204可以由唯一标识符所表示。唯一标识符因此可以表示其中发生了监控操作的操作状态。例如,从R5(跟踪进程)到R7(用户部分“X”)的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(A)。从R7(用户部分“X”)到内核空间中任意处的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(B)。从内核空间中任意处到Rl (SSDT)的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(C)。内核空间中任意处到内核空间中其它任意处的其它分支、或调用、跳转可以被认为是转变并且被标记为状态(D)。这种事件可能服从于最小距离要求。从内核空间中任意处到用户空间中其它任意处的其它分支、或调用、跳转可以被认为是转变并且被标记为状态(E)。
[0037]在每个监控操作204中监控的具体操作可以包括任意适当的操作。所述操作可以特定于实体的类型。例如,这种监控可以包括执行R5中的某些实体或者仅访问Rl中实体中的数据。
[0038]恶意软件访问规则逻辑108可以包括剖析规则206,其可以指定如何处理给定次序的遇到的操作,例如在监控操作204中定义的那些。每个剖析规则206可以由例如一组逻辑要求或状态机表示。例如,给定检测到的操作(A),然后(B),然后(C),然后(D),然后(E),剖析规则206可以指示这种检测到的序列表示类型为“XYZ”的恶意软件。在一个实施例中,序列可以要求在规定的状态之间不出现监控操作204的其它检测到的操作。因此,检测到的操作序列(A)-(B)-(C)-(D)-(E)将触发判定:该序列表示类型为“XYZ”的恶意软件,但是序列(A)-(B)-㈧-(C)-(D)-(E)将不表示这种恶意软件。然而,序列(A)-(A)-(B)-(C)-(D)-(E)可以匹配这种模式。在另一实施例中,序列可以允许监控操作204中的其它检测到的一些出现在指定状态之间。因此,序列(A)-(B)-(C)-(D)-(E)、(A)-(B)-(A)-(C)-(D)-(E)和(A)-(A)-(B)-(C)-(D)-(E)中的每一个将匹配该模式。
[0039]在另一示例中,恶意软件“TOQ”可以被定义为与状态机的指定状态匹配的监控操作204的模式。状态机的逻辑可以以任意适当的系列命令实现。这种状态机可以指定在监控操作204的原始状态处,观察到(A)将引起监控移动到后续状态(表示为(A))。任何其它观察将引起监控保留在原始状态。在监控状态(A)处,后续观察(B)将引起监控移动到后续状态(表示为(B));观察(A)、(C)、⑶或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(B)处,后续观察(C)将引起监控移动到后续状态(表示为(C));观察(A)、(B)、⑶或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(C)处,后续观察⑶将引起监控移动到后续状态(表示为(D)) -M察(A)、(B)、(C)或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(D)处,后续观察(E)将引起监控移动到确定已经检测到恶意软件“TOQ”的后续状态;观察(A)、(B)、(C)或⑶将使监控返回到原始状态;以及任意其它观察将保存当前监控。
[0040]在又一示例中,恶意软件“ΜΝ0”被定义为与㈧然后⑶或(C)然后⑶的至少三个实例然后(E)的检测的指定序列匹配的监控操作204的模式。因此,该模式可以采用多个实例的要求以及用于可能的恶意行为的逻辑条件。
[0041]在再一示例中,恶意软件“JKL”可以被定义为与(A)然后(B)的不多于三个的示例然后(D)然后(E)但是不会遇到(C)的检测的指定序列匹配的监控操作204的模式。因此,该模式可以采用不多于特定数量的实例的要求以及未观察到一些条件的要求。
[0042]注意,所提供的示例不应该被视为所有可能的规则组合和实现方式的穷尽描述。转变或事件的任意其它算法组合可以在恶意软件访问规则逻辑108中实现。例如,这种算法可以表示为脚本、表格、图或任何其它适当方式。
[0043]剖析规则206因此可以指定普通类型的恶意软件的行为,而不依靠将特定实体的签名识别作为恶意软件。因此可以检测到多态恶意软件,其可以改变自己的内容(因此,签名)而不是所有的功能。此外,可以检测到不平常的或不期望的操作模式。这种不平常的或不期望的操作模式可以反映新的、未知类型的恶意软件。例如,进程可以匹配操作序列的给定前缀,其可以指示信任进程的操作,但是随后执行用于这种信任进程的非典型访问。在这种情况下,剖析规则206中的一个可以指定给定系列的初步操作,除了用于结束序列的定义的、期望的一组操作外的任意事情可能表示恶意软件。
[0044]图3是用于判定用于剖析代码执行的规则或恶意软件访问规则逻辑的方法300的示例实施例的图示。方法300的判定可以由例如反恶意软件搜索、剖析具体电子设备或其实体、剖析一类电子设备或其实体、访问反恶意软件服务器、访问反恶意软件访问规则逻辑、读取反恶意软件定义文件、或通过任意其它适当进程来执行。方法300的结果可以是可以剖析代码执行的一个或多个反恶意软件规则的可用性。
[0045]在305处,可以判定被监控的电子设备的实体。这种实体可以包括例如内核空间、用户空间、SSDT、操作系统调用分派器、系统DLL、用户DLL、进程、I/O端口、堆、线程或系统堆栈。在310处,与这种实体相关联的存储器区域可以被判定为驻留在电子设备上的这种实体。在315处,在存储器区域和实体上的操作可以被判定为被监控。这种操作可以包括例如跳转、调用或执行的其它分支。可以从一个存储器区域到另一存储器区域直接定义操作。此外,操作可以要求区域之间的最小分支
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1