剖析代码执行的制作方法

文档序号:9383093阅读:332来源:国知局
剖析代码执行的制作方法
【技术领域】
[0001]本发明的实施例概括而言涉及计算机安全和恶意软件保护,并且更具体地,涉及剖析(profiling)代码执行。
【背景技术】
[0002]计算机和其它电子设备上的恶意软件感染是非常具有侵犯性并且难以检测和修复的。反恶意软件方案可能要求恶意代码或文件的签名与评估的软件相匹配,以判定该软件对于计算系统是有害的。恶意软件可以通过使用在其中恶意软件改变自身以避免被反恶意软件方案检测到的多态程序或可执行文件来伪装自己。在这种情况下,反恶意软件方案可能在零日攻击中没能检测到新的或变形的恶意软件。恶意软件可以包括但不限于,间谍软件、木马(rootkit)、密码盗窃程序、垃圾邮件、钓鱼攻击源、拒绝服务攻击源、病毒、记录器、广告软件、或产生不期望的活动的任意其它数字内容。
【附图说明】
[0003]为了更全面地理解本发明的实施例及其特征和优点,现在结合附图参考以下说明,在附图中:
[0004]图1是用于剖析代码执行的系统100的示例性实施例的图示;
[0005]图2是恶意软件访问规则的示例性实施例的图示;
[0006]图3是用于判定用于剖析代码执行的规则或恶意软件访问规则逻辑的方法的示例性实施例的图示;以及
[0007]图4是用于剖析代码执行的方法的示例性实施例的图示。
【具体实施方式】
[0008]图1是用于剖析代码执行的系统100的示例性实施例的图示。系统100可以被配置为当电子设备上的代码被动态地加载并执行时剖析代码的执行。通过剖析代码的执行,系统100可以监控表明为恶意软件的执行模式的执行。在一个实施例中,系统100可以执行这种监控,而无需使用操作系统或应用挂接。在另一实施例中,系统100可以通过使用在处理器上加载的异常来执行这种监控。在又一个实施例中,系统100可以通过记录和评估不同地址空间之间的转变而执行对代码执行的剖析。
[0009]系统100可以包括反恶意软件模块110,其被配置为评估电子设备102是否被恶意软件感染。反恶意软件模块110可以驻留在电子设备102上或在与电子设备102通信地耦合的电子设备上。反恶意软件模块110可以与电子设备102的处理器106以及与恶意软件访问规则逻辑108通信地耦合。反恶意软件模块110可以被配置为访问恶意软件规则逻辑108,以判定监控电子设备的存储器104的哪些部分。此外,反恶意软件模块110可以被配置为访问恶意软件规则逻辑108,以判定监控从存储器的给定部分到另一部分的什么转变。反恶意软件模块110可以被配置为通过例如将处理器106配置为当在第一定义地址空间(或范围)到第二定义地址空间(或范围)之间发生转变时生成异常,从而将这种规则定义到处理器106。处理器106可以被配置为将结果异常发送到反恶意软件模块110。反恶意软件模块110可以被配置为访问恶意软件访问规则逻辑108,以判定处理器106所检测到的转变以及先前判定出的转变是否满足序列、状态图模型或与恶意软件相关联的其它规则。
[0010]恶意软件访问规则逻辑108可以驻留在电子设备102上,或者驻留在由反恶意软件模块110可访问的任意其它电子设备上。在一个实施例中,恶意软件访问规则逻辑108可以驻留在与反恶意软件模块110通信耦合的网络上的反恶意软件服务器上。在另一个实施例中,恶意软件访问规则逻辑108可以加载到存储器104、处理器106或反恶意软件模块110上。可以以任意适当的方式来实现恶意软件访问规则逻辑108,所述任意适当的方式例如利用服务器、代理、应用、模块、脚本、库、函数、逻辑、数据库、文件、表格或其它数据结构或实体。恶意软件访问规则逻辑108可以包括定义要监控的存储器104的区域、要监控的转变、要监控的I/O端口、用于读取或写入的存储器区域或表明是恶意软件的转变序列的任意适当的信息。
[0011]恶意软件访问规则逻辑108可以包括:积极规则,通过所述积极规则将监控的操作或序列认为是安全的;消极规则,通过所述消极规则将监控的操作或序列认为是恶意的。此外,恶意软件可以操纵合法软件中的执行的预期顺序,使得个体操作不是恶意的并且实际上与合法软件相关,但是以这种操作是恶意的顺序的序列进行。这种恶意软件可以包括例如返回导向编程(ROP)。通过使用组合规则中的积极规则,可以消除一个或多个对恶意软件的“误报”识别。
[0012]电子设备102可以以任意适当方式实现。例如,电子设备102可以包括移动设备、计算机、服务器、膝上计算机、台式计算机、板或刀片。
[0013]反恶意软件模块110可以以任意适当方式实现。例如,反恶意软件模块110可以包括指令、逻辑、函数、库、共享库、应用、脚本、程序、可执行文件、对象、模拟电路、数字电路或其任意适当组合。
[0014]处理器106可以包括例如微型处理器、微型控制器、数字信号处理器(DSP)、专用集成电路(ASIC),或被配置为解释和/或执行程序指令和/或处理数据的任意其它数字或模拟电路。在一些实施例中,处理器106可以解释和/或执行程序指令和/或处理存储于存储器104中的数据。存储器104可以被配置为部分或整体作为应用存储器、系统存储器或两者。存储器104可以包括被配置为保存和/或容纳一个或多个存储器模块的任意系统、设备或装置。每个存储器模块可以包括被配置为将程序指令和/或数据保留一段时间的任意系统、设备或装置(例如,计算机可读存储介质)。用于配置系统100的操作的指令、逻辑或数据(例如,如电子设备102或反恶意软件模块110的部件的配置)可以驻留在存储器104中以被处理器106执行。
[0015]处理器106可以执行待由处理器的一个或多个核心执行的一个或多个代码指令。处理器核心可以遵从由代码指令所指示的指令的程序序列。每个代码指令可以由处理器的一个或多个解码器处理。解码器可以生成微操作(例如,预定格式的固定宽度的微操作)作为其输出,或者可以生成其他指令、微指令、或反应原始代码指令的控制信号。处理器106还可以包括寄存器重命名逻辑和调度逻辑,其通常分配资源并且将与转换指令相对应的操作进行入队以用于执行。在完成执行由代码指令指定的操作之后,处理器106内的后端逻辑可以收回(retire)指令。在一个实施例中,处理器106可以允许乱序执行,但是需要有序回收指令。处理器106中的回收逻辑可以采用本领域的技术人员所公知的多种形式(例如,重排序缓冲区等)。因此在执行代码期间至少根据解码器所生成的输出、硬件寄存器和寄存器重命名逻辑所使用的表格以及执行逻辑所修改的任意寄存器来变换处理器106的处理器核心。
[0016]反恶意软件模块110可以被配置为定义用于监控的存储器104的任意适当部分。反恶意软件模块110可以通过引用例如恶意软件访问规则逻辑108来做出这种定义。例如,反恶意软件模块110可以定义用于内核模式操作的存储器104的一部分。在图1的示例中,反恶意软件模块110可以定义内核空间,包括作为被监控的区域的从(0x000)到((M*F)xFFF)的存储器地址。在另一示例中,反恶意软件模块110可以定义作为被监控的区域的存储器104的一部分以用于用户模式操作。在图1的示例中,反恶意软件模块110可以定义用户空间,包括作为被监控的区域的从((M*F)xFFF)到((N*F)xFFF)的存储器地址。
[0017]具体应用、过程或线程可以由反恶意软件模块110识别以用于监控。当这些被加载到存储器104内时,可以被动态跟踪。在图1的示例中,反恶意软件模块110可以定义被加载到由R5表示的区域的特定的跟踪进程被监控。跟踪进程可以表示不知道该进程是否与恶意软件相关联的进程。
[0018]操作系统的具体部分可以由反恶意软件模块110进行识别以用于监控。这些部分在加载到存储器104时可以被动态地跟踪。可以监控用于操作
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1