CN105103158A - 剖析代码执行 - Google Patents

剖析代码执行 Download PDF

Info

Publication number
CN105103158A
CN105103158A CN201480008711.1A CN201480008711A CN105103158A CN 105103158 A CN105103158 A CN 105103158A CN 201480008711 A CN201480008711 A CN 201480008711A CN 105103158 A CN105103158 A CN 105103158A
Authority
CN
China
Prior art keywords
malware
monitored
entity
execution
notice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201480008711.1A
Other languages
English (en)
Inventor
I·穆蒂科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
McAfee LLC
Original Assignee
McAfee LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by McAfee LLC filed Critical McAfee LLC
Publication of CN105103158A publication Critical patent/CN105103158A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Abstract

一种用于保护电子设备的技术,其可以包括:判定多个规则,监控电子设备的执行,基于所述规则来生成通知:已经发生所述操作中的一个,以及基于所述通知和操作模式,判定所述操作是否指示恶意软件。所述规则可以包括对被监控的电子设备的多个实体的识别、对被监控的实体之间的一个或多个操作的识别,以及对被监控的操作模式的识别。

Description

剖析代码执行
技术领域
本发明的实施例概括而言涉及计算机安全和恶意软件保护,并且更具体地,涉及剖析(profiling)代码执行。
背景技术
计算机和其它电子设备上的恶意软件感染是非常具有侵犯性并且难以检测和修复的。反恶意软件方案可能要求恶意代码或文件的签名与评估的软件相匹配,以判定该软件对于计算系统是有害的。恶意软件可以通过使用在其中恶意软件改变自身以避免被反恶意软件方案检测到的多态程序或可执行文件来伪装自己。在这种情况下,反恶意软件方案可能在零日攻击中没能检测到新的或变形的恶意软件。恶意软件可以包括但不限于,间谍软件、木马(rootkit)、密码盗窃程序、垃圾邮件、钓鱼攻击源、拒绝服务攻击源、病毒、记录器、广告软件、或产生不期望的活动的任意其它数字内容。
附图说明
为了更全面地理解本发明的实施例及其特征和优点,现在结合附图参考以下说明,在附图中:
图1是用于剖析代码执行的系统100的示例性实施例的图示;
图2是恶意软件访问规则的示例性实施例的图示;
图3是用于判定用于剖析代码执行的规则或恶意软件访问规则逻辑的方法的示例性实施例的图示;以及
图4是用于剖析代码执行的方法的示例性实施例的图示。
具体实施方式
图1是用于剖析代码执行的系统100的示例性实施例的图示。系统100可以被配置为当电子设备上的代码被动态地加载并执行时剖析代码的执行。通过剖析代码的执行,系统100可以监控表明为恶意软件的执行模式的执行。在一个实施例中,系统100可以执行这种监控,而无需使用操作系统或应用挂接。在另一实施例中,系统100可以通过使用在处理器上加载的异常来执行这种监控。在又一个实施例中,系统100可以通过记录和评估不同地址空间之间的转变而执行对代码执行的剖析。
系统100可以包括反恶意软件模块110,其被配置为评估电子设备102是否被恶意软件感染。反恶意软件模块110可以驻留在电子设备102上或在与电子设备102通信地耦合的电子设备上。反恶意软件模块110可以与电子设备102的处理器106以及与恶意软件访问规则逻辑108通信地耦合。反恶意软件模块110可以被配置为访问恶意软件规则逻辑108,以判定监控电子设备的存储器104的哪些部分。此外,反恶意软件模块110可以被配置为访问恶意软件规则逻辑108,以判定监控从存储器的给定部分到另一部分的什么转变。反恶意软件模块110可以被配置为通过例如将处理器106配置为当在第一定义地址空间(或范围)到第二定义地址空间(或范围)之间发生转变时生成异常,从而将这种规则定义到处理器106。处理器106可以被配置为将结果异常发送到反恶意软件模块110。反恶意软件模块110可以被配置为访问恶意软件访问规则逻辑108,以判定处理器106所检测到的转变以及先前判定出的转变是否满足序列、状态图模型或与恶意软件相关联的其它规则。
恶意软件访问规则逻辑108可以驻留在电子设备102上,或者驻留在由反恶意软件模块110可访问的任意其它电子设备上。在一个实施例中,恶意软件访问规则逻辑108可以驻留在与反恶意软件模块110通信耦合的网络上的反恶意软件服务器上。在另一个实施例中,恶意软件访问规则逻辑108可以加载到存储器104、处理器106或反恶意软件模块110上。可以以任意适当的方式来实现恶意软件访问规则逻辑108,所述任意适当的方式例如利用服务器、代理、应用、模块、脚本、库、函数、逻辑、数据库、文件、表格或其它数据结构或实体。恶意软件访问规则逻辑108可以包括定义要监控的存储器104的区域、要监控的转变、要监控的I/O端口、用于读取或写入的存储器区域或表明是恶意软件的转变序列的任意适当的信息。
恶意软件访问规则逻辑108可以包括:积极规则,通过所述积极规则将监控的操作或序列认为是安全的;消极规则,通过所述消极规则将监控的操作或序列认为是恶意的。此外,恶意软件可以操纵合法软件中的执行的预期顺序,使得个体操作不是恶意的并且实际上与合法软件相关,但是以这种操作是恶意的顺序的序列进行。这种恶意软件可以包括例如返回导向编程(ROP)。通过使用组合规则中的积极规则,可以消除一个或多个对恶意软件的“误报”识别。
电子设备102可以以任意适当方式实现。例如,电子设备102可以包括移动设备、计算机、服务器、膝上计算机、台式计算机、板或刀片。
反恶意软件模块110可以以任意适当方式实现。例如,反恶意软件模块110可以包括指令、逻辑、函数、库、共享库、应用、脚本、程序、可执行文件、对象、模拟电路、数字电路或其任意适当组合。
处理器106可以包括例如微型处理器、微型控制器、数字信号处理器(DSP)、专用集成电路(ASIC),或被配置为解释和/或执行程序指令和/或处理数据的任意其它数字或模拟电路。在一些实施例中,处理器106可以解释和/或执行程序指令和/或处理存储于存储器104中的数据。存储器104可以被配置为部分或整体作为应用存储器、系统存储器或两者。存储器104可以包括被配置为保存和/或容纳一个或多个存储器模块的任意系统、设备或装置。每个存储器模块可以包括被配置为将程序指令和/或数据保留一段时间的任意系统、设备或装置(例如,计算机可读存储介质)。用于配置系统100的操作的指令、逻辑或数据(例如,如电子设备102或反恶意软件模块110的部件的配置)可以驻留在存储器104中以被处理器106执行。
处理器106可以执行待由处理器的一个或多个核心执行的一个或多个代码指令。处理器核心可以遵从由代码指令所指示的指令的程序序列。每个代码指令可以由处理器的一个或多个解码器处理。解码器可以生成微操作(例如,预定格式的固定宽度的微操作)作为其输出,或者可以生成其他指令、微指令、或反应原始代码指令的控制信号。处理器106还可以包括寄存器重命名逻辑和调度逻辑,其通常分配资源并且将与转换指令相对应的操作进行入队以用于执行。在完成执行由代码指令指定的操作之后,处理器106内的后端逻辑可以收回(retire)指令。在一个实施例中,处理器106可以允许乱序执行,但是需要有序回收指令。处理器106中的回收逻辑可以采用本领域的技术人员所公知的多种形式(例如,重排序缓冲区等)。因此在执行代码期间至少根据解码器所生成的输出、硬件寄存器和寄存器重命名逻辑所使用的表格以及执行逻辑所修改的任意寄存器来变换处理器106的处理器核心。
反恶意软件模块110可以被配置为定义用于监控的存储器104的任意适当部分。反恶意软件模块110可以通过引用例如恶意软件访问规则逻辑108来做出这种定义。例如,反恶意软件模块110可以定义用于内核模式操作的存储器104的一部分。在图1的示例中,反恶意软件模块110可以定义内核空间,包括作为被监控的区域的从(0x000)到((M*F)xFFF)的存储器地址。在另一示例中,反恶意软件模块110可以定义作为被监控的区域的存储器104的一部分以用于用户模式操作。在图1的示例中,反恶意软件模块110可以定义用户空间,包括作为被监控的区域的从((M*F)xFFF)到((N*F)xFFF)的存储器地址。
具体应用、过程或线程可以由反恶意软件模块110识别以用于监控。当这些被加载到存储器104内时,可以被动态跟踪。在图1的示例中,反恶意软件模块110可以定义被加载到由R5表示的区域的特定的跟踪进程被监控。跟踪进程可以表示不知道该进程是否与恶意软件相关联的进程。
操作系统的具体部分可以由反恶意软件模块110进行识别以用于监控。这些部分在加载到存储器104时可以被动态地跟踪。可以监控用于操作系统的任何适当部分的存储器。在图1的示例中,反恶意软件模块110可以定义:可以监控被加载到R1表示的区域的系统服务分派表(SSDT)以及被加载到R7表示的区域的操作系统的用户部分“X”。可以监控区域或操作系统结构中的具体元素,例如,SSDT中的单个指针。这种单个指针可以指示对由SSDT管理的具体的、识别出的功能的访问。
当驻留在存储器104内时会被监控的其它实体可以包括例如:系统共享库—包括动态链接库(DLL)、中断描述符表(IDT)、系统调用表、用户共享库,或操作系统调用分派器。这种实体可以用于任何适当的操作系统中。可以定义存储器104的其它区域,例如,内核空间的区域R2、R3、R4和用户空间的区域R6。
此外,反恶意软件模块110可以被配置为识别待用于剖析代码执行的特定转变、读取、写入、执行、属性改变、或I/O端口属性改变。可以在反恶意软件访问规则逻辑108中定义特定转变和访问。示例性转变在图1示出,并且可以包括:从诸如R7中操作系统的用户部分“X”之类的用户空间的已知部分到R5中的跟踪进程的转变114;从R4中的内核空间中未识别实体到R5的跟踪进程的转变124;从R4中内核空间中的一个未识别实体到R3中内核空间中的另一未识别实体的转变122;从R4中的跟踪进程到例如R1中的SSDT之类的内核空间中的已知实体的转变118;从R4中的跟踪进程到R3中的内核空间中未识别实体的转变116;或者从R2中内核空间的未知实体到例如R1中的SSDT的内核空间中的已知实体的转变120。
另外,反恶意软件模块110可以被配置为出于剖析代码执行的目的而识别转变的特定方面。可以在反恶意软件访问规则逻辑108中定义特定方面。在一个实施例中,可以评估转变的具体方向。例如,R1到R2之间的转变可以区别于R2到R1之间的转变。因此,反恶意软件访问规则逻辑108可以要求给定的转变与具体方向匹配。在另一个实施例中,可以评估转变的距离。例如,从一个存储器空间到附近存储器空间的转变可以足够短以表示被忽略的转变。因此,如果转变跨越比存储器地址的阈值量小,则反恶意软件访问规则逻辑108可以提供转变异常。这种阈值可以包括例如50字节。在又一个实施例中,可以评估转变的计数。例如,可以多次重复从一个监控区域到另一个监控区域的转变,并且仅基于这种重复转变某一数量,执行被视为值得应用反恶意软件访问规则逻辑108。因此,反恶意软件访问规则逻辑108可以指定当第n次发生这种转变时匹配转变。这种转变之前或随后的示例可以被忽略。在又一实施例中,可以对转变放置条件句,使得逻辑(包括非、与、或、异或,或其它这种操作)可以应用于一个或多个转变。例如,只要尚未遇到另一识别出的转变,就可以匹配特定转变。因此,反恶意软件访问规则逻辑108可以指定匹配转变的变化或复杂逻辑条件。
诸如转变114、116、118、120、122和124的转变可以被定义为存储器104的不同区域之间的执行中的分支。在一个实施例中,可以根据加载到处理器106的指令指针112的地址来评估执行中的跳转。在执行前加载到指令指针112的给定范围的存储器地址可以与在执行后加载到指令指针112的另一给定范围的存储器地址进行比较。在执行前和执行后与指令指针112相关联的存储器范围内的改变可以反映JMP指令、CALL指令,或用于驻留在存储器104中实体间的分支执行的其它指令。在另一实施例中,存储器地址的读取、写入或执行可以定义执行的分支,其中在存储器104的不同部分的存储器的后续读取、写入或执行可以被视为转变。在又一实施例中,指令取回可以用于判定存储器104中的执行点。
反恶意软件访问规则逻辑108也可以考虑定时和指令计数。例如,如果两个转变之间的时间间隔(例如,由中央处理单元计数器所确定的)太长或太短,则不能适用给定的规则。类似地,如果指令计数器低于或高于阈值,则匹配规则的状态可以被重置为初始状态。
虽然图1示出了单个处理器106,但系统可以包括多个处理器。此外,处理器106可以包括多个核心或中央处理单元。系统100所完成的剖析执行可以基于每处理器、每核心或每中央处理单元进行。此外,这种剖析执行可以在任意这种处理器、核心或中央处理单元上基于每进程或每线程进行。
图1中示出的利用转变进行代码执行剖析是结合连续存储器的。这种剖析可以包括剖析实体,例如驻留在虚拟存储器内的实体。在一个实施例中,剖析代码执行可以通过引用虚拟存储器下面的物理地址来完成。
如上所述,反恶意软件模块110可以访问反恶意软件访问规则逻辑108,以判定将要监控的任意适当数量或种类的转变。在一个实施例中,用于将要被监控的这种转变的规则、指示或逻辑可以被加载到例如处理器106或加载到与处理器106耦合的随机存取存储器控制器。当遇到由规则定义的这种转变时,处理器106可以生成可以由反恶意软件模块110处理的页面错误、中断或异常。在另一实施例中,用于将要被监控的这种转变的规则、指示或逻辑可以被加载到操作系统下捕获代理,例如超级管理器或虚拟机监控器。当遇到由规则定义的这种转变时,超级管理器或虚拟机监控器可以生成虚拟机退出或可以由反恶意软件模块110处理的其它通知。反恶意软件模块110还可以访问反恶意软件访问规则逻辑108以判定所检测到的转变是否指示恶意软件。在处理通知期间,可以暂停执行。
处理器106做出的通知:规则已经被匹配,可以包括上下文信息。该信息可以包括对被匹配的规则、被访问的存储器位置、发起访问的存储器位置和任意相关联的参数(例如,驻留在处理器106的执行堆栈上的值)的识别。
反恶意软件模块110可以被配置为跟踪多个检测到的转变的发生,以判定这种转变是否包括表示恶意软件的操作模式。这种模式可以在例如反恶意软件访问规则逻辑108中定义。
如果一个或多个检测出的转变不表示恶意软件,则反恶意软件模块110可以被配置为允许该转变。如果一个或多个检测出的转变可以表示待决(pending)额外判定出的转变的恶意软件,则反恶意软件模块110可以被配置为允许该转变,但是记录该转变以用于将来可能的校正动作。
此外,如果一个或多个检测出的转变可以表示待决额外判定出的转变的恶意软件,则反恶意软件模块110可以被配置为加载来自恶意软件访问规则逻辑108的额外规则。这种条件规则可以例如指定待被监控的存储器104的额外区域、待被跟踪的额外转变、或待被跟踪的转变的额外组合。因此,所应用的选定的恶意软件访问规则逻辑108可以动态地改变。这种动态方法可以克服处理器容量的限制以将整个规则集保持为加载到处理器中。当需要时,规则可以动态加载并且丢弃不相关规则。例如,给定具有初始可能不被触发的三种状态(“A”-“B”-“C”)的规则可以匹配第一状态“A”。在该点处,匹配“C”可能被丢弃,因为认为“C”在不首先匹配“B”的情况下是无关的。一旦转变发生匹配“B”,则关于“C”的其余规则可以被重新加载。加载或卸载规则分支可以由例如反恶意软件模块110执行。
另外,一个或多个检测到的转变可以表示待决额外调查操作的恶意软件。这种额外调查操作可以包括超过对转变的评估的判定。例如,给定由一组转变定义的执行模式,则恶意软件访问规则逻辑108可以定义这种动作的源将利用例如已知安全或与恶意软件相关联的实体的散列或者数字签名来进行评估。在又一示例中,给定由一组转变定义的执行模式,恶意软件访问规则逻辑108定义这种动作必须源自经授权或验证的对象,例如,操作系统的安全部分、签名的驱动器或受保护的功能调用。
当确定一个或多个转变表示恶意软件时,反恶意软件模块110可以被配置为采取任意适当的校正动作。例如,存储器104中与指示恶意软件的转变相关联的实体可以被隔离、报告、移除、清除或用其它方式处理。此外,与这种实体相关联的任意事物(例如,存储装置或盘上的内容,或存储器中其它执行进程)可以被隔离、报告、移除、清除或用其它方式处理。
可以根据恶意软件访问规则逻辑108的白名单来定义某些中断或通知。将这种中断或通知放置到白名单中,可以使反恶意软件模块110忽略依据恶意软件分析的这种中断。这种中断或通知可能是例如系统100的已知或安全元素的结果或者可以与恶意软件无关,并且因此要求反恶意软件模块110不处理。
图2是恶意软件访问规则逻辑108的示例实施例的图示,可以通过恶意软件访问规则逻辑108来进行系统100的操作。
恶意软件访问规则逻辑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。
恶意软件访问规则逻辑108可以包括操作监控204,其可以指定哪些转变或其它操作可能需要处理恶意软件评估。对于恶意软件访问规则逻辑108的其它部分的引用,每个监控操作204可以由唯一标识符所表示。唯一标识符因此可以表示其中发生了监控操作的操作状态。例如,从R5(跟踪进程)到R7(用户部分“X”)的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(A)。从R7(用户部分“X”)到内核空间中任意处的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(B)。从内核空间中任意处到R1(SSDT)的其它分支、调用、跳转或可以被认为是转变并且被标记为状态(C)。内核空间中任意处到内核空间中其它任意处的其它分支、或调用、跳转可以被认为是转变并且被标记为状态(D)。这种事件可能服从于最小距离要求。从内核空间中任意处到用户空间中其它任意处的其它分支、或调用、跳转可以被认为是转变并且被标记为状态(E)。
在每个监控操作204中监控的具体操作可以包括任意适当的操作。所述操作可以特定于实体的类型。例如,这种监控可以包括执行R5中的某些实体或者仅访问R1中实体中的数据。
恶意软件访问规则逻辑108可以包括剖析规则206,其可以指定如何处理给定次序的遇到的操作,例如在监控操作204中定义的那些。每个剖析规则206可以由例如一组逻辑要求或状态机表示。例如,给定检测到的操作(A),然后(B),然后(C),然后(D),然后(E),剖析规则206可以指示这种检测到的序列表示类型为“XYZ”的恶意软件。在一个实施例中,序列可以要求在规定的状态之间不出现监控操作204的其它检测到的操作。因此,检测到的操作序列(A)-(B)-(C)-(D)-(E)将触发判定:该序列表示类型为“XYZ”的恶意软件,但是序列(A)-(B)-(A)-(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)中的每一个将匹配该模式。
在另一示例中,恶意软件“PDQ”可以被定义为与状态机的指定状态匹配的监控操作204的模式。状态机的逻辑可以以任意适当的系列命令实现。这种状态机可以指定在监控操作204的原始状态处,观察到(A)将引起监控移动到后续状态(表示为(A))。任何其它观察将引起监控保留在原始状态。在监控状态(A)处,后续观察(B)将引起监控移动到后续状态(表示为(B));观察(A)、(C)、(D)或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(B)处,后续观察(C)将引起监控移动到后续状态(表示为(C));观察(A)、(B)、(D)或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(C)处,后续观察(D)将引起监控移动到后续状态(表示为(D));观察(A)、(B)、(C)或(E)将使监控返回到原始状态;以及任意其它观察将保存当前监控。在监控状态(D)处,后续观察(E)将引起监控移动到确定已经检测到恶意软件“PDQ”的后续状态;观察(A)、(B)、(C)或(D)将使监控返回到原始状态;以及任意其它观察将保存当前监控。
在又一示例中,恶意软件“MNO”被定义为与(A)然后(B)或(C)然后(D)的至少三个实例然后(E)的检测的指定序列匹配的监控操作204的模式。因此,该模式可以采用多个实例的要求以及用于可能的恶意行为的逻辑条件。
在再一示例中,恶意软件“JKL”可以被定义为与(A)然后(B)的不多于三个的示例然后(D)然后(E)但是不会遇到(C)的检测的指定序列匹配的监控操作204的模式。因此,该模式可以采用不多于特定数量的实例的要求以及未观察到一些条件的要求。
注意,所提供的示例不应该被视为所有可能的规则组合和实现方式的穷尽描述。转变或事件的任意其它算法组合可以在恶意软件访问规则逻辑108中实现。例如,这种算法可以表示为脚本、表格、图或任何其它适当方式。
剖析规则206因此可以指定普通类型的恶意软件的行为,而不依靠将特定实体的签名识别作为恶意软件。因此可以检测到多态恶意软件,其可以改变自己的内容(因此,签名)而不是所有的功能。此外,可以检测到不平常的或不期望的操作模式。这种不平常的或不期望的操作模式可以反映新的、未知类型的恶意软件。例如,进程可以匹配操作序列的给定前缀,其可以指示信任进程的操作,但是随后执行用于这种信任进程的非典型访问。在这种情况下,剖析规则206中的一个可以指定给定系列的初步操作,除了用于结束序列的定义的、期望的一组操作外的任意事情可能表示恶意软件。
图3是用于判定用于剖析代码执行的规则或恶意软件访问规则逻辑的方法300的示例实施例的图示。方法300的判定可以由例如反恶意软件搜索、剖析具体电子设备或其实体、剖析一类电子设备或其实体、访问反恶意软件服务器、访问反恶意软件访问规则逻辑、读取反恶意软件定义文件、或通过任意其它适当进程来执行。方法300的结果可以是可以剖析代码执行的一个或多个反恶意软件规则的可用性。
在305处,可以判定被监控的电子设备的实体。这种实体可以包括例如内核空间、用户空间、SSDT、操作系统调用分派器、系统DLL、用户DLL、进程、I/O端口、堆、线程或系统堆栈。在310处,与这种实体相关联的存储器区域可以被判定为驻留在电子设备上的这种实体。在315处,在存储器区域和实体上的操作可以被判定为被监控。这种操作可以包括例如跳转、调用或执行的其它分支。可以从一个存储器区域到另一存储器区域直接定义操作。此外,操作可以要求区域之间的最小分支距离。在320处,可以判定被监控的操作模式。这种模式可以通过命令、逻辑或状态机来指定操作的特定次序。所述模式可以例如表示恶意软件或已知安全部件的行为。
图4是用于剖析代码执行的方法400的示例性实施例的图示。可以针对剖析在电子设备上的代码执行来实施方法400。
在405处,具体实现操作以进行监控的规则、命令或指令以及操作模式可以被加载到适当的捕获代理,例如处理器、超级管理器或反恶意软件模块。在电子设备内与规则中的一个匹配的观测到的活动可以引起中断、异常或被处理的其它通知。可以通过任意适当的方式或机制来判定这种规则、命令或指令。例如,方法300的执行可能导致可以在405中被加载的规则。
在410处,可以监控在电子设备上的执行。匹配定义操作的执行可能引起例如生成中断或异常之类的通知。在415处,可以判定是否已经创建了任意这种通知。如果是,则方法400可以进行到420。如果不是,则方法400可以返回到410。
在420处,可以暂停电子设备的执行。在425处,可以记录观察到的操作。虽然观察到的操作的当前实例可能或不可能指示恶意软件,但是当前实例结合后续观察到的操作可以表示恶意软件。此外,可以执行规则模式的动态重新配置、加载或卸载。
在430处,可以判定操作是否指示恶意软件。可以考虑到先前观察到的已记录的操作来做出这种判定。可以根据在方法300中判定并且在405中加载的操作模式来做出所述判定。如果观察到的操作指示恶意软件,则方法400可以进行到435。如果观察到的操作不指示恶意软件,则方法400可以进行到440。
在435处,可以采取后续动作。可以采取或者允许采取任意适当的动作,例如触发操作系统或安全软件的通知、软件异常,隔离、使损坏的设备离开网络,清除或移除做出操作的实体。此外,可以判定和随后隔离、清除或移除与操作相关联的其它实体。
在440处,可以判定观察到的操作是否需要对将要应用的现有规则进行任意修改、添加、减少或其它改变。这种改变可以包括例如对将要监控的实体或存储器的改变,对将要检测的操作的改变,或对将要匹配的操作模式的改变。如果不需要改变,则方法400可以进行到450。如果需要改变,则在445中,可以执行这种修改并且将新的规则加载到适当的捕获机制中。在450处,可以恢复执行。方法400可以返回到410。
可以使用图1-2的系统或能够实现方法300和400的任意其它系统来实现方法300和400。这样,方法300和400的优选初始化点以及包括方法300和400的元素的次序可以取决于所选的实现方式。在一些实施例中,可以可选地省略、重复或组合一些元素。在某些实施例中,方法300和400可以局部地或全部实现于在计算机可读介质中实现的软件中。方法300和400可以由相同或不同的用户、行为者、电子设备、模块或其它实体所执行。
出于本公开的目的,计算机可读介质可以包括可以将数据和/或指令保持一段时间的任意工具或工具集合。计算机可读介质可以包括但不限于存储介质,例如,直接访问存储设备(例如,硬盘驱动或软盘)、顺序访问存储设备(例如,磁带磁盘驱动)、光盘、CD-ROM、DVD、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、和/或闪速存储器;以及通信介质,例如,电线、光纤和其它电磁和/或光载体;和/或任意上述的组合。
如上所述,恶意软件可以改变自身以便伪装其身份。此外,恶意软件作者可以改变恶意软件以伪装它自身。改变恶意软件的内容可能导致恶意软件的数字散列或签名的变化。因此,将电子设备上的实体的身份与已知恶意软件签名的列表对比进行检查可能不能识别出这种改变的恶意软件。静态代码的代码或执行分析可能类似地是无效的,因为代码可以在这种多态恶意软件中改变。
系统100和方法300及400的优点可以包括检测这种修改的恶意软件。这种检测可以通过提供恶意软件后面的潜在算法的可靠检测而执行。此外,系统100和方法300及400可以提供这种对执行的动态剖析,而不需要挂钩到应用程序接口调用、内核事件等。通过由加载到处理器内的规则执行识别,行为分析可以以本机处理器速度进行。
以下示例属于进一步的实施例。示例中的细节可以用于以上或此处描述的一个或多个实施例中的任意地方。在示例1中,一种用于保护电子设备的系统可以包括存储器和驻留在该存储器中的恶意软件访问规则逻辑的集合。所述恶意软件访问规则逻辑的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述系统可以包括与存储器耦合的处理器,其被配置为基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生操作中的一个。所述系统可以包括反恶意软件模块,其被配置为基于通知和所述操作模式,来判定所述操作是否指示恶意软件。所述反恶意软件模块还可以被配置为基于所述通知和所述操作模式,来识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作或被监控的操作模式。所述反恶意软件模块还被配置为基于所述通知和所述操作模式,来执行操作原因的签名检查。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器来进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、I/O端口地址、操作系统调用分派器、进程、线程或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个的逻辑限制。
在示例2中,一种用于保护电子设备的方法可以包括基于恶意软件访问规则逻辑的集合来监控电子设备的执行。所述恶意软件访问规则逻辑的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述方法还可以包括基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生操作中的一个,以及基于所述通知和所述操作模式来判定所述操作是否指示恶意软件。所述方法还可以包括:基于所述通知和所述操作模式,识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作或被监控的操作模式。所述方法还可以包括:基于所述通知和所述操作模式,执行操作原因的签名检查。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、操作系统调用分派器、进程、线程、I/O端口地址或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个逻辑限制。
在示例3中,至少一种机器可读存储介质可以包括在所述计算机可读介质上承载的计算机可执行指令。所述指令可以由处理器读取。所述指令在被读取和执行时,可以使得处理器基于恶意软件访问规则逻辑的集合来监控电子设备的执行。所述恶意软件访问规则逻辑的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述指令还可以使得处理器基于所述恶意软件访问规则逻辑来生成通知:已经发生操作中的一个,以及基于所述通知和所述操作模式,判定所述操作是否指示恶意软件。所述处理器还可以被引起,基于所述通知和所述操作模式来识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作、或被监控的操作模式。所述处理器还可以被引起基于所述通知和所述操作模式,执行操作原因的签名检查。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、I/O端口、操作系统调用分派器、进程、线程或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个逻辑限制。
在示例4中,一种用于保护电子设备的系统可以包括用于基于恶意软件访问规则逻辑的集合来监控电子设备的执行的单元。所述恶意软件访问规则逻辑的集合的集合可以包括:对被监控的电子设备的多个实体的识别;对在被监控的实体之间的一个或多个操作的识别;以及对被监控的操作模式的识别。所述系统还可以包括基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生操作中的一个,以及基于所述通知和所述操作模式来判定所述操作是否指示恶意软件的单元。所述系统还可以包括用于基于所述通知和所述操作模式来识别恶意软件访问规则逻辑的额外元素的单元,所述恶意软件访问规则逻辑包括识别额外的实体、实体之间的操作或被监控的操作模式。所述系统还可以包括用于基于所述通知和所述操作模式来执行操作原因的签名检查的单元。所述被监控的操作可以包括实体之间的执行分支。所述被监控的操作可以包括在实体之间的执行分支的方向。所述被监控的操作可以包括指定距离的执行分支。所述被监控的操作可以包括指令指针改变。所述被监控的操作可以包括指令取回。所述被监控的操作可以包括操作的频率。所述被监控的操作可以包括在指令中测量的执行的持续时间。所述被监控的操作可以包括在执行周期或时钟周期内测量的执行的持续时间。所述操作可以由超级管理器或虚拟机监控器进行监控。被监控的实体可以包括:内核空间、用户空间、SDDT、DLL、I/O端口、操作系统调用分派器、进程、线程或其它适当实体。所述通知可以包括异常或中断。所述模式可以包括已经执行所述操作的次数的枚举。所述模式可以包括尚未被观察到的特定操作的要求。所述模式可以包括其元素的一个或多个逻辑限制。
上述示例中的细节可以用于一个或多个实施例中的任意地方。
虽然已经详细描述了本公开,但是可以理解的是,在不偏离随附权利要求定义的本公开的精神和范围的情况下,可以对本公开做出各种改变、替代和变更。

Claims (24)

1.一种用于保护电子设备的系统,包括:
恶意软件访问规则逻辑的集合,包括:
对被监控的所述电子设备的多个实体的识别;
对在被监控的所述实体之间的一个或多个操作的识别;以及
对被监控的操作模式的识别;以及
处理器,其被配置为基于所述恶意软件访问规则逻辑的集合,生成通知:已经发生所述操作中的一个;
反恶意软件模块,其被配置为基于所述通知和所述操作模式,来判定所述操作是否指示恶意软件。
2.根据权利要求1所述的系统,其中,被监控的所述操作包括在所述实体之间的执行分支。
3.根据权利要求1所述的系统,其中,被监控的所述操作包括在所述实体之间的执行分支的方向。
4.根据权利要求1所述的系统,其中,被监控的所述操作包括指定距离的执行分支。
5.根据权利要求1所述的系统,其中,所述反恶意软件模块还被配置为,基于所述通知和所述操作模式来识别恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、在实体之间的操作或被监控的操作模式。
6.根据权利要求1所述的系统,其中,所述通知包括异常。
7.根据权利要求1所述的系统,其中,所述模式包括已经执行所述操作的次数的枚举。
8.根据权利要求1所述的系统,其中,所述反恶意软件模块还被配置为基于所述通知和所述操作模式来执行所述操作的原因的签名检查。
9.根据权利要求1所述的系统,其中,被监控的所述操作包括指令指针改变。
10.根据权利要求1所述的系统,其中,被监控的所述操作包括指令取回。
11.根据权利要求1所述的系统,其中,被监控的所述操作包括在指令中测量的执行的持续时间。
12.一种用于保护电子设备的方法,包括:
基于恶意软件访问规则逻辑的集合来监控所述电子设备的执行,所述恶意软件访问逻辑的集合包括:
对被监控的所述电子设备的多个实体的识别;
对在被监控的所述实体之间的一个或多个操作的识别;以及
对被监控的操作模式的识别;
基于所述恶意软件访问规则逻辑的集合来生成通知:已经发生所述操作中的一个;以及
基于所述通知和所述操作模式来判定所述操作是否指示恶意软件。
13.根据权利要求12所述的方法,其中,被监控的所述操作包括在所述实体之间的执行分支。
14.根据权利要求12所述的方法,其中,被监控的所述操作包括在所述实体之间的执行分支的方向。
15.根据权利要求12所述的方法,其中,被监控的所述操作包括指定距离的执行分支。
16.根据权利要求12所述的方法,还包括:基于所述通知和所述操作模式,判定恶意软件访问规则逻辑的额外元素,所述恶意软件访问规则逻辑包括识别额外的实体、在实体之间的操作或被监控的操作模式。
17.根据权利要求12所述的方法,其中,所述通知包括处理器异常。
18.根据权利要求12所述的方法,其中,所述模式包括已经执行所述操作的次数的枚举。
19.根据权利要求12所述的方法,还包括:基于所述通知和所述操作模式来执行所述操作原因的签名检查。
20.根据权利要求12所述的方法,其中,被监控的所述操作包括指令指针改变。
21.根据权利要求12所述的方法,其中,被监控的所述操作包括指令取回。
22.根据权利要求12所述的方法,其中,被监控的所述操作包括在指令中测量的执行的持续时间。
23.至少一种机器可读存储介质,包括在所述计算机可读介质上承载的计算机可执行指令,所述指令能够由处理器读取,所述指令在被读取和执行时,用于使得所述处理器执行如权利要求12-22所述的方法。
24.一种用于保护电子设备的系统,包括用于执行权利要求12-22所述的方法的单元。
CN201480008711.1A 2013-03-13 2014-03-03 剖析代码执行 Pending CN105103158A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/801,650 2013-03-13
US13/801,650 US10127379B2 (en) 2013-03-13 2013-03-13 Profiling code execution
PCT/US2014/019939 WO2014158760A1 (en) 2013-03-13 2014-03-03 Profiling code execution

Publications (1)

Publication Number Publication Date
CN105103158A true CN105103158A (zh) 2015-11-25

Family

ID=51535124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480008711.1A Pending CN105103158A (zh) 2013-03-13 2014-03-03 剖析代码执行

Country Status (6)

Country Link
US (1) US10127379B2 (zh)
EP (1) EP2973170B1 (zh)
KR (1) KR101759008B1 (zh)
CN (1) CN105103158A (zh)
RU (1) RU2627107C2 (zh)
WO (1) WO2014158760A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103620612B (zh) * 2011-07-12 2016-04-13 惠普发展公司,有限责任合伙企业 包括端口和来宾域的计算设备
US10127379B2 (en) 2013-03-13 2018-11-13 Mcafee, Llc Profiling code execution
US10102374B1 (en) 2014-08-11 2018-10-16 Sentinel Labs Israel Ltd. Method of remediating a program and system thereof by undoing operations
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
US11507663B2 (en) * 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
JP2016053956A (ja) * 2014-09-02 2016-04-14 エスケー インフォセック カンパニー リミテッドSK INFOSEC Co.,Ltd. ウェブ基盤の悪性コード探知システムおよび方法
CN107209834B (zh) * 2015-02-04 2020-07-07 日本电信电话株式会社 恶意通信模式提取装置及其系统和方法、记录介质
US9805194B2 (en) * 2015-03-27 2017-10-31 Intel Corporation Memory scanning methods and apparatus
US10176438B2 (en) 2015-06-19 2019-01-08 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for data driven malware task identification
KR101729680B1 (ko) * 2015-12-01 2017-04-25 한국전자통신연구원 경량 하이퍼바이저에 기반하는 운영체제의 제공 방법 및 장치
US9898605B2 (en) * 2015-12-24 2018-02-20 Mcafee, Llc Monitoring executed script for zero-day attack of malware
US10275595B2 (en) * 2016-09-29 2019-04-30 Trap Data Security Ltd. System and method for characterizing malware
US10567430B2 (en) 2016-12-09 2020-02-18 International Business Machines Corporation Protecting against notification based phishing attacks
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
WO2018193429A1 (en) * 2017-04-20 2018-10-25 Morphisec Information Security Ltd. System and method for runtime detection, analysis and signature determination of obfuscated malicious code
EP3643040A4 (en) 2017-08-08 2021-06-09 SentinelOne, Inc. METHODS, SYSTEMS AND DEVICES FOR DYNAMIC MODELING AND GROUPING OF END POINTS FOR EDGE NETWORKING
US10885183B2 (en) * 2017-09-28 2021-01-05 International Business Machines Corporation Return oriented programming attack protection
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
US11429725B1 (en) * 2018-04-26 2022-08-30 Citicorp Credit Services, Inc. (Usa) Automated security risk assessment systems and methods
EP3973427A4 (en) 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. SYSTEMS AND METHODS FOR EXECUTABLE CODE DETECTION, AUTOMATIC FEATURE EXTRACTION, AND POSITION-INDEPENDENT CODE DETECTION
JP7333748B2 (ja) * 2019-12-13 2023-08-25 株式会社日立製作所 電子機器および電子機器の攻撃検知方法
US11681804B2 (en) 2020-03-09 2023-06-20 Commvault Systems, Inc. System and method for automatic generation of malware detection traps
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696822A (en) * 1995-09-28 1997-12-09 Symantec Corporation Polymorphic virus detection module
US7620992B2 (en) * 2007-10-02 2009-11-17 Kaspersky Lab Zao System and method for detecting multi-component malware
US20100031353A1 (en) * 2008-02-04 2010-02-04 Microsoft Corporation Malware Detection Using Code Analysis and Behavior Monitoring
US8065728B2 (en) * 2007-09-10 2011-11-22 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
WO2012135192A2 (en) * 2011-03-28 2012-10-04 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
WO2013015994A1 (en) * 2011-07-27 2013-01-31 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101381A1 (en) * 2001-11-29 2003-05-29 Nikolay Mateev System and method for virus checking software
CN1647483A (zh) 2002-04-17 2005-07-27 计算机联合思想公司 检测和反击企业网络中的恶意代码
US7430760B2 (en) * 2003-12-05 2008-09-30 Microsoft Corporation Security-related programming interface
US7827541B2 (en) * 2006-03-16 2010-11-02 International Business Machines Corporation Method and apparatus for profiling execution of code using multiple processors
US8479174B2 (en) * 2006-04-05 2013-07-02 Prevx Limited Method, computer program and computer for analyzing an executable computer file
US7818807B1 (en) * 2006-06-30 2010-10-19 Symantec Corporation System and method of logical prefetching for optimizing file scanning operations
US8135994B2 (en) * 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8595834B2 (en) * 2008-02-04 2013-11-26 Samsung Electronics Co., Ltd Detecting unauthorized use of computing devices based on behavioral patterns
US8370931B1 (en) * 2008-09-17 2013-02-05 Trend Micro Incorporated Multi-behavior policy matching for malware detection
JP2011023903A (ja) * 2009-07-15 2011-02-03 Fujitsu Ltd 通信端末の異常検出装置及び通信端末の異常検出方法
US9213838B2 (en) * 2011-05-13 2015-12-15 Mcafee Ireland Holdings Limited Systems and methods of processing data associated with detection and/or handling of malware
KR20120096983A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
US8555385B1 (en) * 2011-03-14 2013-10-08 Symantec Corporation Techniques for behavior based malware analysis
US8966629B2 (en) * 2011-03-31 2015-02-24 Mcafee, Inc. System and method for below-operating system trapping of driver loading and unloading
US20120254993A1 (en) 2011-03-28 2012-10-04 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
US9575903B2 (en) * 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US9043903B2 (en) * 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US9275223B2 (en) * 2012-10-19 2016-03-01 Mcafee, Inc. Real-time module protection
US10127379B2 (en) 2013-03-13 2018-11-13 Mcafee, Llc Profiling code execution

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696822A (en) * 1995-09-28 1997-12-09 Symantec Corporation Polymorphic virus detection module
US8065728B2 (en) * 2007-09-10 2011-11-22 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
US7620992B2 (en) * 2007-10-02 2009-11-17 Kaspersky Lab Zao System and method for detecting multi-component malware
US20100031353A1 (en) * 2008-02-04 2010-02-04 Microsoft Corporation Malware Detection Using Code Analysis and Behavior Monitoring
WO2012135192A2 (en) * 2011-03-28 2012-10-04 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
WO2013015994A1 (en) * 2011-07-27 2013-01-31 Seven Networks, Inc. Monitoring mobile application activities for malicious traffic on a mobile device

Also Published As

Publication number Publication date
EP2973170B1 (en) 2020-05-27
KR20150106941A (ko) 2015-09-22
KR101759008B1 (ko) 2017-07-17
EP2973170A1 (en) 2016-01-20
US10127379B2 (en) 2018-11-13
EP2973170A4 (en) 2016-10-26
US20140283076A1 (en) 2014-09-18
RU2627107C2 (ru) 2017-08-03
WO2014158760A1 (en) 2014-10-02
RU2015134147A (ru) 2017-02-17

Similar Documents

Publication Publication Date Title
CN105103158A (zh) 剖析代码执行
US10055585B2 (en) Hardware and software execution profiling
Petroni Jr et al. Automated detection of persistent kernel control-flow attacks
CN105247532A (zh) 使用硬件特征的无监督的基于异常的恶意软件检测
US10216934B2 (en) Inferential exploit attempt detection
US10395033B2 (en) System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks
US20170091454A1 (en) Lbr-based rop/jop exploit detection
Joy et al. Rootkit detection mechanism: A survey
Zhang et al. Recfa: Resilient control-flow attestation
CN110717181B (zh) 基于新型程序依赖图的非控制数据攻击检测方法及装置
Rajput et al. Remote non-intrusive malware detection for plcs based on chain of trust rooted in hardware
US11093605B2 (en) Monitoring real-time processor instruction stream execution
Chen et al. Efficient detection of the return-oriented programming malicious code
Piromsopa et al. Survey of protections from buffer-overflow attacks
CN103679024B (zh) 病毒的处理方法及设备
US20180107823A1 (en) Programmable Hardware Security Counters
US20220391507A1 (en) Malware identification
Chen et al. Vulnerability-based backdoors: Threats from two-step trojans
Kim et al. Fast and space-efficient defense against jump-oriented programming attacks
EP2919146A1 (en) An apparatus for enforcing control flows
CN104657664A (zh) 病毒的处理方法及设备
Allaf Hardware based approach to confine malicious processes from side channel attack.
CN117992962A (zh) 基于寄存器的控制流完整性校验方法、系统、设备和介质
Jain et al. Detection of Malicious Data using hybrid of Classification and Clustering Algorithms under Data Mining
Zhao et al. Learning fine-grained structured input for memory corruption detection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151125