CN112395603B - 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备 - Google Patents

基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备 Download PDF

Info

Publication number
CN112395603B
CN112395603B CN201910755861.3A CN201910755861A CN112395603B CN 112395603 B CN112395603 B CN 112395603B CN 201910755861 A CN201910755861 A CN 201910755861A CN 112395603 B CN112395603 B CN 112395603B
Authority
CN
China
Prior art keywords
detected
instruction
module
preset
calling
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.)
Active
Application number
CN201910755861.3A
Other languages
English (en)
Other versions
CN112395603A (zh
Inventor
杨晓东
游勇
王明广
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.)
Qianxin Technology Group Co Ltd
Qianxin Safety Technology Zhuhai Co Ltd
Original Assignee
Qianxin Technology Group Co Ltd
Qianxin Safety Technology Zhuhai Co Ltd
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 Qianxin Technology Group Co Ltd, Qianxin Safety Technology Zhuhai Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN201910755861.3A priority Critical patent/CN112395603B/zh
Publication of CN112395603A publication Critical patent/CN112395603A/zh
Application granted granted Critical
Publication of CN112395603B publication Critical patent/CN112395603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/562Static detection
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Abstract

本发明公开了一种基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备,涉及安全技术领域,主要在于能够提高利用未知指令执行序列的漏洞攻击的识别率,同时能够对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行及时有效地防护。所述方法包括:获取待检测指令代码的监控点对应的指令执行序列信息;根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;若不符合,则确定所述待检测指令代码存在漏洞攻击。本发明适用于系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别。

Description

基于指令执行序列特征的漏洞攻击识别方法、装置及计算机 设备
技术领域
本发明涉及安全技术领域,尤其是涉及一种基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备。
背景技术
随着互联网技术的高速发展,越来越多的应用程序被广泛应用到终端设备上,如果应用程序受到未知的恶意攻击,会影响终端设备数据的安全,因此,对需要关注的进程行为进行漏洞检测越来越重要。
目前,通过收集动态指令路径特征判断应用程序是否遭受到恶意攻击,然而这种方式在程序执行时只能搜集到相关的动态指令路径,而应用程序中存在很多路径,如果用户不去操作,程序中很多路径触碰不到,因此很多路径特征搜集不到,无法进行判断,造成对应用程序的漏洞攻击识别效率低下,此外,根据动态指令路径特征识别应用程序的恶意攻击只能在程序执行时进行识别,因此无法及时对应用程序的漏洞攻击进行有效的防护。
发明内容
本发明提供了一种基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备,主要在于能够提高系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别率,同时能够对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行及时有效地防护。
根据本发明的第一个方面,提供一种基于指令执行序列特征的漏洞攻击识别方法,包括:
获取待检测指令代码的监控点对应的指令执行序列信息;
根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;
若不符合,则确定所述待检测指令代码存在漏洞攻击。
根据本发明的第二个方面,提供一种基于指令执行序列特征的漏洞攻击识别装置,包括:
获取单元,用于获取待检测指令代码的监控点对应的指令执行序列信息;
检测单元,用于根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;
确定单元,用于若任一层级的待检测模块对应的调用规则不符合预设调用规则,则确定所述待检测指令代码存在漏洞攻击。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取待检测指令代码的监控点对应的指令执行序列信息;
根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;
若不符合,则确定所述待检测指令代码存在漏洞攻击。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取待检测指令代码的监控点对应的指令执行序列信息;
根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;
若不符合,则确定所述待检测指令代码存在漏洞攻击。
本发明提供的一种基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备,与目前通过收集动态指令路径特征判断指令代码是否遭受到恶意攻击的方式相比,本发明能够获取待检测指令代码的监控点对应的指令执行序列信息;并根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;与此同时,若不符合,则确定所述待检测指令代码存在漏洞攻击,从而能够全面搜集静态指令路径特征,不必等到程序执行时再搜集指令路径特征,提高对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别效率,同时能够及时对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行有效的防护,确保系统、应用数据的安全。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种基于指令执行序列特征的漏洞攻击识别方法流程图;
图2示出了本发明实施例提供的另一种基于指令执行序列特征的漏洞攻击识别方法流程图;
图3示出了本发明实施例提供的一种基于指令执行序列特征的漏洞攻击识别装置的结构示意图;
图4示出了本发明实施例提供的另一种基于指令执行序列特征的漏洞攻击识别装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图;
图6示出了本发明实施例提供的静态指令系列对应的偏移地址图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术,目前,通过收集动态指令路径特征判断应用程序是否遭受到恶意攻击,然而这种方式在程序执行时只能搜集到相关的动态指令路径,而应用程序中存在很多路径,如果用户不去操作,程序中很多路径触碰不到,因此很多路径特征搜集不到,无法进行判断,造成对应用程序的漏洞攻击识别效率低下,此外,根据动态指令路径特征识别应用程序的恶意攻击只能在程序执行时进行识别,因此无法及时对应用程序的漏洞攻击进行有效的防护。
为了解决上述问题,本发明实施例提供了一种基于指令执行序列特征的漏洞攻击识别方法,如图1所示,所述方法包括:
101、获取待检测指令代码的监控点对应的指令执行序列信息。
其中,待检测指令代码的监控点为用户将要进行防护的程序中被关注的程序行为,指令执行序列信息包括该程序行为调用的接口函数序列对应的指令返回地址,对于本发明实施例,由于程序执行时动态指令的路径特征搜集不全,无法有效地识别出程序中存在的漏洞攻击,因此本申请搜集可执行程序的PE文件中静态指令集的全部路径特征,通过检测静态指令集的路径特征是否符合预设调用规则识别程序中是否存在的漏洞攻击,具体地,为不同的进程行为类型设定对应的监控点,并在程序的监控点处设定拦截,同时在该监控点处注入静态指令匹配模块,一旦待检测的指令代码调用到该监控点对应的接口函数便会获取该监控点对应的指令执行序列信息,并根据该指令执行序列信息进行后续预设调用规则的匹配,例如,关注程序为创建进程,由于创建进程一定包括createprocess这个API接口函数,此外,创建进程相关的其他API接口函数肯定会调用createprocess这个接口函数,因此将createprocess接口函数确定为创建进程的监控点,同理,可将creatfile接口函数确定为打开文件进程行为的监控点,进一步地,如果防护的程序为浏览器IE,则用户操作浏览器肯定会涉及到创建进程和创建文件的行为,因此将createprocess接口函数和creatfile接口函数设定为浏览器应用进程的监控点,当用户点击打开文件操作时,调用到creatfile接口函数,即触发了关注的进程行为,对该监控点进行拦截,然后进一步判断该程序是否为我们所要防护的程序,如果不是需要防护的应用进行则进行放行;如果是需要防护的应用进程,则获取该监控点对应的调用栈信息,该调用栈信息中包括调用creatfile接口函数的不同层级的函数序列对应的栈地址。
102、根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则。若不符合,则执行步骤103;若符合,则执行步骤104。
其中,不同层级的待检测模块为监控点对应的不同层级的PE文件中的函序列,预设调用规则为预先设定的不同层级函数序列对应的调用规则,对于本发明实施例,预先为监控点的对应的不同层级的函数序列设定调用规则,即监控点对应的所有路径的PE文件都存在对应的预设调用规则,因此,当应用程序调用到监控点这个接口函数时,无论执行的程序经过哪一个路径调用到监控点的接口函数,都能够查找到该路径上调用的不同层级的函数序列对应的预设调用规则,即能够获取该路径上不能层级待检测模块对应的预设调用规则,以便逐级检测各个层级模块的函数序列的调用规则是否符合预设调用规则,由此静态指令中各个路径上的漏洞攻击都能够被检测出来,与搜集动态指令的路径特征检测程序中的漏洞攻击相比,能够提高程序中漏洞攻击的识别率。对于本发明实施例,为了加载不同层级待检测模块对应的预设调用规则,在所述根据所述调用栈信息中栈地址确定不同层级的待检测模块之前,所述方法还包括:根据所述指令执行序列信息中指令返回地址判断是否检测到不同层级的待检测模块;若检测到不同层级的待检测模块,则检测预设规则库中是否存在与所述待检测模块对应的预设调用规则;若存在,则加载与所述待检测模块对应的预设调用规则;若不存在,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。进一步地,所述检测预设规则库中是否存在与所述待检测模块对应的预设调用规则,包括:根据所述指令执行序列信息中指令返回地址,确定不同层级的待检测模块对应的模块信息;根据所述模块信息中所述待检测模块对应的哈希值判断预设规则库中是否存在与所述待检测模块对应的预设调用规则;若是,则加载与所述待检测模块对应的预设调用规则;若否,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
具体地,根据指令执行序列信息中指令返回地址逐级检测不同层级的待检测模块,如果根据指令执行序列信息中指令返回地址能够检测到待检测模块,并获取该待检测模块对应的模块信息,该模块信息中包括待检测模块的模块名、待检测模块的版本信息、待检测模块对应的哈希值;如果根据指令执行序列信息中指令返回地址无法检测到待检测模块,则将该事件反馈给相关应用层进行处理,并将该栈地址一同发送至相关应用层。进一步地,根据该待检测模块对应的哈希值查找预设规则库,加载所述待检测模块对应的预设调用规则,其中,预设规则库中存储有不同层级模块对应的预设调用规则,即存储有不同层级的PE文件对应的预设调用规则,该预设调用规则以哈希表结构的方式存在在预设规则库中,由此根据该待检测模块对应的哈希值在预设规则库中能够加载其对应的预设调用规则,与此同时,要判断待检测模块的版本信息与其对应的预设调用规则的版本是否一致,如果不一致,则需要加载所述待检测模块对应的最新版本的预设调用规则,此外,如果预设规则库中不存在所述待检测模块的哈希值对应的预设调用规则,则将该事件回调给相关应用层,通过该应用层去请求服务端同步所述待检测模块对应的预设调用规则,或者向相关应用层请求用动态指令特征匹配进行补充,进一步地,如果服务端不存在所述待检测模块对应的预设调用规则,则根据终端设备正在运行的系统文件信息查找系统文件库,搜集系统运行的文件,利用预设做库工具生成待检测模块对应的预设调用规则,将其存储至预设规则库中。
进一步地,当从预设规则库中加载了待检测模块对应的预设调用规则,则判断该待检测模块中函数序列的调用规则是否符合预设调用规则,具体地,获取指令执行序列信息中待检测模块对应的各个指令序列的返回地址,同时该待检测模块的模块信息中存在待检测模块对应的预设调用指令符合表,该预设调用指令符号表中存储有待检测模块的所有内部函数的指令符号及其对应的地址范围,将待检测模块对应的各个指令序列的返回地址与预设调用指令符号表进行匹配,确定待检测模块中调用的各个指令的指令符号,进一步地,根据调用的各个指令的指令符号查找预设关键指令符号表,确定待检测模块调用的关键指令符号,其中,预设关键指令符号表中存储有不同进程行为类型对应的关键指令符号,由此确定待检测模块调用的各个关键指令,将各个关键指令作为匹配点,并向上回溯查找与关键指令对应的回溯层指令序列的调用顺序是否符合预设调用顺序,若是,则确定待检测模块对应的调用规则符合预设调用规则;若否,则确定待检测模块对应的调用规则不符合预设调用规则,例如,关键指令为C,回溯层指令分别为A和B,该关键指令的调用顺序为A指令调B指令,B指令调C指令,若该调用顺序与预设调用顺序一致,则确定待检测模块对应的关键指令的调用顺序符合预设调用顺序,即待检测模块对应的调用规则符合预设调用规则。进一步地,检测各个关键指令对应的回溯层指令序列的偏移地址是否符合预设偏移地址,若符合,则确定待检测模块对应的调用规则符合预设调用规则;若不符合,则确定待检测模块对应的调用规则不符合预设调用规则,需要说明的是,将各个关键指令作为匹配点与预设调用规则进行匹配时,直至待检测模块中所有关键指令匹配完毕,在对下一层级的待检测模块进行检测,例如,指令序列列表为
ntdll.dll!ldrinitializethunk+14(c:\windows\system32\ntdll.dll)
ntdll.dll!ntcreateuserprocess+18(c:\windows\syswow64\ntdll.dll)
kernel32.dll!createprocessinternalw+1897(c:\windows\syswow64\kernel32.dll)
kernel32.dll!createprocessw+44(c:\windows\syswow64\kernel32.dll)
iexplore.exe!+10463(c:\program files(x86)\internet explorer\iexplore.exe)
iexplore.exe!+4360(c:\program files(x86)\internet explorer\iexplore.exe)
kernel32.dll!basethreadinitthunk+18(c:\windows\syswow64\kernel32.dll)
ntdll.dll!rtlinitializeexceptionchain+99(c:\windows\syswow64\ntdll.dll)
ntdll.dll!rtlinitializeexceptionchain+54(c:\windows\syswow64\ntdll.dll)
其中,待检测模块ntdll.dll!调用的关键指令为NtCreateUserProcess,将关键指令NtCreateUserProcess作为开始匹配的点,向上回溯查找,从列表中可知调用NtCreateUserProcess模块的是kernel132模块,需要判断回溯层的调用指令kernel32.dll!createprocessinternalw+1897和kernel32.dll!createprocessw+44对应的偏移地址是否符合预设偏移地址,如果符合,则确定待检测模块NtCreateUserProcess对应的调用规则符合预设调用规则;若不符合,则确定待检测模块NtCreateUserProcess对应的调用规则不符合预设调用规则,同理可判断待检测模块kernel132中关键指令createprocessw对应的回溯层指令iexplore.exe!+10463,iexplore.exe!+4360的偏移地址是否符合预设偏移地址。进一步地,如果检测出某一层级的待检测模块对应的调用规则不符合预设调用规则,则确定该应用进程存在漏洞攻击;如果检测某一层级的待检测模块对应的调用规则符合预设调用规则,则继续监测与该模块对应的下一层级的待检测模块对应的调用规则是否符合预设调用规则,待所有模块检测完毕,且均符合预设调用规则,则确定应用进程不存在攻击漏洞。
103、确定所述应用进程存在漏洞攻击。
对于本发明实施例,当发现待检测应用进程的监控点存在漏洞攻击时,将该结果反馈给相关应用层进行进一步地分析处理,同时将存在漏攻攻击的模块的相关参数发给相关应用层,其中,相关参数包括存在漏洞攻击的模块对应的指令序列的调用顺序和偏移地址等参数,相关应用层根据该参数进行分析,根据相关应用层的分析结果对该进程行为进行拦截或者放行。
104、确定所述待检测指令代码不存在漏洞攻击。
本发明实施例提供的一种基于指令执行序列特征的漏洞攻击识别方法,与目前通过收集动态指令路径特征判断应用程序是否遭受到恶意攻击的方式相比,本发明能够获取待检测指令代码的监控点对应的指令执行序列信息;并根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;与此同时,若不符合,则确定所述待检测指令代码存在漏洞攻击,从而能够全面搜集静态指令路径特征,不必等到程序执行时再搜集指令路径特征,提高对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别效率,同时能够及时对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行有效的防护,确保系统、应用数据的安全。
进一步的,为了更好的说明对上述指令代码的漏洞攻击的识别过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种基于指令执行序列特征的漏洞攻击识别方法,如图2所示,所述方法包括:
201、获取待检测指令代码的监控点对应的指令执行序列信息。
其中,监控点为待检测程序中被关注的程序行为,不同的行为程序对应的不同的监控,在预设监控点存储列表中存储有不同进程行为对应的监控点,例如,打开文件进程的监控点为creatfile接口函数,指令执行序列信息包括该监控点调用的接口函数序列的返回地址,根据该返回地址能够检测到不同层级的接口函数模块,对于本发明实施例,在待检测应用进程的监控点注入静态指令匹配模块,当调用到监控点对应的接口函数时,对该监控点进行拦截,并判断该监控点对应的进程行为是否为想要防护的进程行为,如果是,获取该监控点对应的指令执行序列信息,根据该调用返回地址中地址能够确定该监控点对应的不同层级的待检测模块。
对于本发明实施例,在对指令代码的监控点进行检测之前,根据待检测指令代码对应的PE文件定义该程序行为的路径,针对不同层级待检测模块的PE文件设定调用规则,预设调用规则中包括不同层级模块以关键指令为匹配点的指令序列调用顺序、指令序列的调用层次深度、指令序列的偏移地址以及调用指令对应的预设通配符号等,并将不同层级模块对应的预设调用规则以哈希表结构的形式存储至预设规则库中,在终端安装时会下载对应自身系统的预设规则库,根据指令执行序列信息中指令返回地址能够获取待检测模块的模块信息,根据该模块信息中待检测模块对应的哈希值,能够从预设内存库中下载对应的预设规则,以便将指令执行路径上的不同层级模块的调用规则与预设调用规则进行匹配,由此根据不同层级模块对应的PE文件中静态指令的路径设定匹配规则,无论程序执行时指令走哪条路径,都能够检测该路径是否符合预设调用规则,由此可知,本申请相对于动态指令路径匹配对指令代码的漏洞攻击有更高的识别率。
202、根据所述指令执行序列信息中指令返回地址确定所述不同层级的待检测模块调用的各个关键指令。
对于本发明实施例,为了确定不同层级待检测模块调用的各个关键指令,步骤202具体包括:根据所述指令执行序列信息确定不同层级的待检测模块调用的指令序列对应的返回地址;根据所述待检测模块调用的指令序列对应的返回地址查找所述待检测模块对应的预设调用指令符号表,确定所述待检测模块调用的各个指令符号,所述预设调用指令符号表中存储有待检测模块内部的各个指令符号及其对应的地址范围;根据所述待检测模块调用的各个指令符号和预设关键指令符号表,分别判断所述各个指令符号是否为关键符号;若是,则确定所述指令符号对应的调用指令为关键指令;若否,则判断与所述指令符号对应的下一指令符号是否为关键符号。具体地,根据指令执行序列信息中返回地址检测不同层级的待检测模块,如果未检测到模块,将该事件反馈给相关应用层处理;如果检测到待检测模块,则根据返回地址获取该待检测模块对应的模块信息,该模块信息中包括待检测模块名、待检测模块对应的哈希值,待检测模块对应的预设调用指令符号表,进一步地,根据该模块信息中的哈希值在预设规则库中下载待检测模块对应的预设调用规则,如果预设规则库中不存在该待检测模块对应的预设调用规则,则后续仅在主程序中判断加载文件过程对应的代码序列是否正常,而对不存在预设调用规则的待检测模块对应的PE文件,选择放行处理,不进行规则匹配,之后继续监测下一层级的待检测模块对应的调用规则是否符合预设调用规则;如果预设规则库中存在该待检测模块对应的预设调用规则,则根据待检测模块的哈希值加载预设调用规则,并从指令执行序列信息中获取待检测模块对应指令序列的返回地址,将该指令序列的返回地址与预设调用指令符号表中指令地址范围进行匹配,确定待检测模块调用的各个指令符号,进一步地,根据确定的各个指令符号查找进程行为对应的预设关键指令符号表,确定待检测模块调用的关键指令,并将该关键指令作为匹配点,根据加载的预设调用规则向上回溯匹配。
203、检测所述待检测模块调用的各个关键指令对应的回溯层指令调用规则是否符合所述回溯层指令对应的预设调用规则。
对于本发明实施例,为了确定各个匹配对应的调用规则是否符合预设调用规则,步骤203具体包括:检测所述待检测模块调用的各个关键指令对应的回溯层指令调用顺序是否符合所述回溯层指令对应的预设调用顺序;若符合,则确定所述待检测模块对应的调用规则符合预设调用规则;若不符合,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。进一步地,在所述确定所述待检测模块对应的调用规则符合预设调用规则之前,所述方法还包括:检测所述待检测模块调用的各个关键指令对应的回溯层指令序列的偏移地址是否符合预设偏移地址;若不符合,则确定所述待检测模块对应的调用规则不符合所述预设调用规则;若符合,则确定所述待检测模块对应的调用规则符合预设调用规则。具体地,从各个关键指令向上查找,确定调用各个关键指令的指令序列的调用顺序是否符合预设调用顺序,若符合,则确定所述待检测模块对应的调用规则符合预设调用规则;若不符合,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。进一步地,判断调用关键指令的指令序列的层次深度是否符合预设层次深度,若符合,则确定所述待检测模块对应的调用规则符合预设调用规则;若不符合,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。进一步地,判断调用关键指令的指令序列的偏移地址是否符合预设偏移地址,具体地,可以通过IDA脚本分析出调用关键指令的指令序列路径,并提取指令序列对应的偏移地址,如图6所示,为explorer.exe调用关键指令CreateProcessW的偏移地址,判断该偏移地址是否符合预设偏移地址,若该偏移地址在预设范围内,则认为该偏移地址符合预设偏移地址,即确定所述待检测模块对应的调用规则符合预设调用规则。此外,调用关键指令的指令序列对应的通配符也可以进行匹配,若该通配符为字符串,可以按照预设定义去模糊匹配。
204、确定所述待检测模块对应的调用规则不符合所述预设调用规则,并确定所述待检测指令代码存在漏洞攻击。
205、确定所述待检测模块对应的调用规则符合预设调用规则,并确定所述待检测指令代码不存在漏洞攻击。
本发明实施例提供的另一种基于指令执行序列特征的漏洞攻击识别方法,与目前通过收集动态指令路径特征判断应用程序是否遭受到恶意攻击的方式相比,本发明能够获取待检测指令代码的监控点对应的指令执行序列信息;并根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;与此同时,若不符合,则确定所述待检测指令代码存在漏洞攻击,从而能够全面搜集静态指令路径特征,不必等到程序执行时再搜集指令路径特征,提高对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别效率,同时能够及时对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行有效的防护,确保系统、应用数据的安全。
进一步地,作为图1的具体实现,本发明实施例提供了一种基于指令执行序列特征的漏洞攻击识别装置,如图3所示,所述装置包括:获取单元31、检测单元32,确定单元33。
所述获取单元31,可以用于获取待检测指令代码的监控点对应的指令执行序列信息。所述获取单元31是本装置中获取待检测指令代码的监控点对应的指令执行序列信息的主要功能模块。
所述检测单元32,可以用于根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则。所述检测单元32是本装置中根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则的主要功能模块,也是核心模块。
所述确定单元33,可以用于若任一层级的待检测模块对应的调用规则不符合预设调用规则,则确定所述待检测指令代码存在漏洞攻击。所述确定单元33是本装置中若任一层级的待检测模块对应的调用规则不符合预设调用规则,则确定所述待检测指令代码存在漏洞攻击的主要功能模块。
对于本发明实施例,为了检测不同层级的待检测模块对应的调用规则是否符合预设调用规则,所述检测单元32,包括确定模块321和检测模块322。
所述确定模块321,可以用于根据所述指令执行序列信息中指令返回地址确定所述不同层级的待检测模块调用的各个关键指令。
所述检测模块322,可以用于检测所述待检测模块调用的各个关键指令对应的回溯层指令调用规则是否符合所述回溯层指令对应的预设调用规则。
所述确定模块321,还可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令调用规则符合所述回溯层指令对应的预设调用规则,则确定所述待检测模块对应的调用规则符合预设调用规则。
所述确定模块321,还可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令调用规则不符合所述回溯层指令对应的预设调用规则,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。
进一步地,为了确定不同层级待检测模块调用的各个关键指令,所述确定模块321,包括确定子模块、查找子模块和判断子模块。
所述确定子模块,可以用于根据所述指令执行序列信息确定不同层级的待检测模块调用的指令序列对应的返回地址。
所述查找子模块,可以用于根据所述待检测模块调用的指令序列对应的返回地址查找所述待检测模块对应的预设调用指令符号表,确定所述待检测模块调用的各个指令符号。
所述判断子模块,可以用于根据所述待检测模块调用的各个指令符号和预设关键指令符号表,分别判断所述各个指令符号是否为关键符号。
所述确定子模块,还可以用于若所述指令符号为关键符号,则确定所述指令符号对应的调用指令为关键指令。
所述判断子模块,还可以用于若所述指令符号不为关键符号,则判断与所述指令符号对应的下一指令符号是否为关键符号。
此外,为了检测待检测模块调用的各个关键指令对应的回溯层指令调用规则是否符合所述回溯层指令对应的预设调用规则,所述检测模块322,包括检测子模块和确定子模块。
所述检测子模块,可以用于检测所述待检测模块调用的各个关键指令对应的回溯层指令调用顺序是否符合所述回溯层指令对应的预设调用顺序。
所述确定子模块,可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令调用顺序符合所述回溯层指令对应的预设调用顺序,则确定所述待检测模块对应的调用规则符合预设调用规则。
所述确定子模块,还可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令调用顺序不符合所述回溯层指令对应的预设调用顺序,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。
进一步地,所述检测子模块,还可以用于检测所述待检测模块调用的各个关键指令对应的回溯层指令序列的偏移地址是否符合预设偏移地址。
所述确定子模块,还可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令序列的偏移地址不符合预设偏移地址,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。
所述确定子模块,还可以用于若所述待检测模块调用的各个关键指令对应的回溯层指令序列的偏移地址符合预设偏移地址,则确定所述待检测模块对应的调用规则符合预设调用规则。
在具体应用场景中,为了加载待检测模块对应的预设调用规则,所述装置还包括判断单元34和加载单元35。
所述判断单元34,可以用于根据所述指令执行序列信息中指令返回地址判断是否检测到不同层级的待检测模块。
所述检测单元32,还可以用于若检测到不同层级的待检测模块,则检测预设规则库中是否存在与所述待检测模块对应的预设调用规则。
所述加载单元35,可以用于若预设规则库中存在与所述待检测模块对应的预设调用规则,则加载与所述待检测模块对应的预设调用规则。
所述判断单元34,还可以用于若预设规则库中不存在与所述待检测模块对应的预设调用规则,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
进一步地,所述检测单元还包括判断模块和加载模块,所述确定模块,还可以用于根据所述指令执行序列信息中指令返回地址,确定不同层级的待检测模块对应的模块信息。
所述判断模块,可以用于根据所述模块信息中所述待检测模块对应的哈希值判断预设规则库中是否存在与所述待检测模块对应的预设调用规则。
所述加载模块,可以用于若预设规则库中存在与所述待检测模块对应的预设调用规则,则加载与所述待检测模块对应的预设调用规则。
所述判断模块,还可以用于若预设规则库中不存在与所述待检测模块对应的预设调用规则,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
需要说明的是,本发明实施例提供的一种基于指令执行序列特征的漏洞攻击识别装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待检测指令代码的监控点对应的指令执行序列信息;根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;若不符合,则确定所述待检测指令代码存在漏洞攻击。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取待检测指令代码的监控点对应的指令执行序列信息;根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;若不符合,则确定所述待检测指令代码存在漏洞攻击。
通过本发明的技术方案,本发明能够获取待检测指令代码的监控点对应的指令执行序列信息;并根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;与此同时,若不符合,则确定所述待检测指令代码存在漏洞攻击,从而能够全面搜集静态指令路径特征,不必等到程序执行时再搜集指令路径特征,提高对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击的识别效率,同时能够及时对系统内核、系统应用程序、第三方应用等代码指令的漏洞攻击进行有效的防护,确保系统、应用数据的安全。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (12)

1.一种基于指令执行序列特征的漏洞攻击识别方法,其特征在于,包括:
获取待检测指令代码的监控点对应的指令执行序列信息;
根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;其中,所述不同层级的待检测模块为监控点对应的不同层级的PE文件中的函序列;
若不符合,则确定所述待检测指令代码存在漏洞攻击;
其中,所述逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则,包括:
根据所述指令执行序列信息中指令返回地址确定所述不同层级的待检测模块调用的各个关键指令;
检测所述待检测模块调用的各个关键指令可追溯的所有回溯层指令调用顺序是否符合所述关键指令对应的预设调用顺序;
若符合所述预设调用顺序,则确定所述待检测模块对应的调用规则符合预设调用规则;
若不符合所述预设调用顺序,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。
2.根据权利要求1所述的方法,其特征在于,所述根据所述指令执行序列信息中指令返回地址确定所述不同层级的待检测模块调用的各个关键指令,包括:
根据所述指令执行序列信息确定不同层级的待检测模块调用的指令序列对应的返回地址;
根据所述待检测模块调用的指令序列对应的返回地址查找所述待检测模块对应的预设调用指令符号表,确定所述待检测模块调用的各个指令符号,所述预设调用指令符号表中存储有待检测模块内部的各个指令符号及其对应的地址范围;
根据所述待检测模块调用的各个指令符号和预设关键指令符号表,分别判断所述各个指令符号是否为关键符号;
若是,则确定所述指令符号对应的调用指令为关键指令;
若否,则判断与所述指令符号对应的下一指令符号是否为关键符号。
3.根据权利要求1所述的方法,其特征在于,在所述确定所述待检测模块对应的调用规则符合预设调用规则之前,所述方法还包括:
检测所述待检测模块调用的各个关键指令可追溯的所有回溯层指令序列的偏移地址是否符合预设偏移地址;
若不符合,则确定所述待检测模块对应的调用规则不符合所述预设调用规则;
所述确定所述待检测模块对应的调用规则符合预设调用规则,包括:
若符合,则确定所述待检测模块对应的调用规则符合预设调用规则。
4.根据权利要求1所述的方法,在所述根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块之前,所述方法还包括:
根据所述指令执行序列信息中指令返回地址判断是否检测到不同层级的待检测模块;
若检测到不同层级的待检测模块,则检测预设规则库中是否存在与所述待检测模块对应的预设调用规则;
若存在,则加载与所述待检测模块对应的预设调用规则;
若不存在,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
5.根据权利要求4所述的方法,其特征在于,所述检测预设规则库中是否存在与所述待检测模块对应的预设调用规则,包括:
根据所述指令执行序列信息中指令返回地址,确定不同层级的待检测模块对应的模块信息;
根据所述模块信息中所述待检测模块对应的哈希值判断预设规则库中是否存在与所述待检测模块对应的预设调用规则;
所述加载与所述待检测模块对应的预设调用规则,包括:
若是,则加载与所述待检测模块对应的预设调用规则;
所述根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块,包括:
若否,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
6.一种基于指令执行序列特征的漏洞攻击识别装置,其特征在于,包括:
获取单元,用于获取待检测指令代码的监控点对应的指令执行序列信息;
检测单元,用于根据所述指令执行序列信息中指令返回地址确定不同层级的待检测模块,并逐级检测所述不同层级的待检测模块对应的调用规则是否符合预设调用规则;其中,所述不同层级的待检测模块为监控点对应的不同层级的PE文件中的函序列;
确定单元,用于若任一层级的待检测模块对应的调用规则不符合预设调用规则,则确定所述待检测指令代码存在漏洞攻击;
其中,所述检测单元,包括:
确定模块,用于根据所述指令执行序列信息中指令返回地址确定所述不同层级的待检测模块调用的各个关键指令;
检测模块,用于检测所述待检测模块调用的各个关键指令可追溯的所有回溯层指令调用规则是否符合所述关键指令对应的预设调用规则;
所述确定模块,还用于若所述待检测模块调用的各个关键指令可追溯的所有回溯层指令调用规则符合所述关键指令对应的预设调用规则,则确定所述待检测模块对应的调用规则符合预设调用规则;
所述确定模块,还用于若所述待检测模块调用的各个关键指令可追溯的所有回溯层指令调用规则不符合所述关键指令对应的预设调用规则,则确定所述待检测模块对应的调用规则不符合所述预设调用规则。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,包括:
确定子模块,用于根据所述指令执行序列信息确定不同层级的待检测模块调用的指令序列对应的返回地址;
查找子模块,用于根据所述待检测模块调用的指令序列对应的返回地址查找所述待检测模块对应的预设调用指令符号表,确定所述待检测模块调用的各个指令符号;
判断子模块,用于根据所述待检测模块调用的各个指令符号和预设关键指令符号表,分别判断所述各个指令符号是否为关键符号;
所述确定子模块,还用于若所述指令符号为关键符号,则确定所述指令符号对应的调用指令为关键指令;
所述判断子模块,还用于若所述指令符号不为关键符号,则判断与所述指令符号对应的下一指令符号是否为关键符号。
8.根据权利要求6所述的装置,其特征在于,
所述检测模块,还用于检测所述待检测模块调用的各个关键指令可追溯的所有回溯层指令序列的偏移地址是否符合预设偏移地址;
所述确定模块,还用于若所述待检测模块调用的各个关键指令可追溯的所有回溯层指令序列的偏移地址不符合预设偏移地址,则确定所述待检测模块对应的调用规则不符合所述预设调用规则;
所述确定模块,还用于若所述待检测模块调用的各个关键指令可追溯的所有回溯层指令序列的偏移地址符合预设偏移地址,则确定所述待检测模块对应的调用规则符合预设调用规则。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
判断单元,用于根据所述指令执行序列信息中指令返回地址判断是否检测到不同层级的待检测模块;
所述检测单元,还用于若检测到不同层级的待检测模块,则检测预设规则库中是否存在与所述待检测模块对应的预设调用规则;
加载单元,用于若预设规则库中存在与所述待检测模块对应的预设调用规则,则加载与所述待检测模块对应的预设调用规则;
所述判断单元,还用于若预设规则库中不存在与所述待检测模块对应的预设调用规则,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
10.根据权利要求9所述的装置,其特征在于,所述检测单元,还包括:
所述确定模块,还用于根据所述指令执行序列信息中指令返回地址,确定不同层级的待检测模块对应的模块信息;
判断模块,用于根据所述模块信息中所述待检测模块对应的哈希值判断预设规则库中是否存在与所述待检测模块对应的预设调用规则;
加载模块,用于若预设规则库中存在与所述待检测模块对应的预设调用规则,则加载与所述待检测模块对应的预设调用规则;
所述判断模块,还用于若预设规则库中不存在与所述待检测模块对应的预设调用规则,则根据所述指令执行序列信息中指令返回地址判断是否检测到与所述待检测模块对应的下一层级的待检测模块。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201910755861.3A 2019-08-15 2019-08-15 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备 Active CN112395603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910755861.3A CN112395603B (zh) 2019-08-15 2019-08-15 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910755861.3A CN112395603B (zh) 2019-08-15 2019-08-15 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备

Publications (2)

Publication Number Publication Date
CN112395603A CN112395603A (zh) 2021-02-23
CN112395603B true CN112395603B (zh) 2023-09-05

Family

ID=74601805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910755861.3A Active CN112395603B (zh) 2019-08-15 2019-08-15 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN112395603B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779561B (zh) * 2021-09-09 2024-03-01 安天科技集团股份有限公司 内核漏洞处理方法、装置、存储介质及电子设备
CN115412376B (zh) * 2022-11-02 2023-02-14 北京网藤科技有限公司 基于智能特征匹配的攻击模式验证方法和系统

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2901378A1 (fr) * 2006-05-18 2007-11-23 France Telecom Determination de nombres d'appels de methode critique dans une application en langage objet
US7552477B1 (en) * 2005-02-23 2009-06-23 Symantec Corporation Detecting return-to-LIBC buffer overflows via dynamic disassembly of offsets
CN101673326A (zh) * 2008-09-11 2010-03-17 北京理工大学 基于程序执行特征的网页木马检测方法
CN101968766A (zh) * 2010-10-21 2011-02-09 上海交通大学 计算机程序实际运行时触发软件漏洞的检测系统
JP4927231B1 (ja) * 2011-12-22 2012-05-09 株式会社フォティーンフォティ技術研究所 プログラム、情報機器、及び不正アクセス検出方法
DE202013103358U1 (de) * 2013-07-25 2013-09-19 Kaspersky Lab, Zao Selektive Einschätzung der Schädlichkeit von im Adressraum eines vertrauenswürdigen Prozesses ausgeführtem Software-Code
CN105550581A (zh) * 2015-12-10 2016-05-04 北京奇虎科技有限公司 一种恶意代码检测方法及装置
US9507943B1 (en) * 2013-02-19 2016-11-29 Amazon Technologies, Inc. Analysis tool for data security
CN107330323A (zh) * 2017-07-10 2017-11-07 电子科技大学 一种基于Pin工具的ROP及其变种攻击的动态检测方法
CN108595952A (zh) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 一种电力移动应用软件漏洞的检测方法及系统
CN109409086A (zh) * 2018-09-21 2019-03-01 中国科学院信息工程研究所 基于新增指令的检测堆栈中返回地址被篡改的装置
CN109766690A (zh) * 2019-01-19 2019-05-17 北京工业大学 一种基于多策略指令检测的rop及变种攻击动态检测方法
CN110008703A (zh) * 2019-04-08 2019-07-12 四川大学 一种容器内恶意软件静态检测系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2531861C1 (ru) * 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
KR101445634B1 (ko) * 2014-01-27 2014-10-06 주식회사 이글루시큐리티 프로그램의 취약점을 이용한 공격의 탐지 장치 및 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7552477B1 (en) * 2005-02-23 2009-06-23 Symantec Corporation Detecting return-to-LIBC buffer overflows via dynamic disassembly of offsets
FR2901378A1 (fr) * 2006-05-18 2007-11-23 France Telecom Determination de nombres d'appels de methode critique dans une application en langage objet
CN101673326A (zh) * 2008-09-11 2010-03-17 北京理工大学 基于程序执行特征的网页木马检测方法
CN101968766A (zh) * 2010-10-21 2011-02-09 上海交通大学 计算机程序实际运行时触发软件漏洞的检测系统
JP4927231B1 (ja) * 2011-12-22 2012-05-09 株式会社フォティーンフォティ技術研究所 プログラム、情報機器、及び不正アクセス検出方法
US9507943B1 (en) * 2013-02-19 2016-11-29 Amazon Technologies, Inc. Analysis tool for data security
DE202013103358U1 (de) * 2013-07-25 2013-09-19 Kaspersky Lab, Zao Selektive Einschätzung der Schädlichkeit von im Adressraum eines vertrauenswürdigen Prozesses ausgeführtem Software-Code
CN105550581A (zh) * 2015-12-10 2016-05-04 北京奇虎科技有限公司 一种恶意代码检测方法及装置
CN107330323A (zh) * 2017-07-10 2017-11-07 电子科技大学 一种基于Pin工具的ROP及其变种攻击的动态检测方法
CN108595952A (zh) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 一种电力移动应用软件漏洞的检测方法及系统
CN109409086A (zh) * 2018-09-21 2019-03-01 中国科学院信息工程研究所 基于新增指令的检测堆栈中返回地址被篡改的装置
CN109766690A (zh) * 2019-01-19 2019-05-17 北京工业大学 一种基于多策略指令检测的rop及变种攻击动态检测方法
CN110008703A (zh) * 2019-04-08 2019-07-12 四川大学 一种容器内恶意软件静态检测系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于符号执行技术的网络程序漏洞检测系统;邓兆琨等;《计算机科学》;全文 *

Also Published As

Publication number Publication date
CN112395603A (zh) 2021-02-23

Similar Documents

Publication Publication Date Title
EP3506139B1 (en) Malware detection in event loops
US10581879B1 (en) Enhanced malware detection for generated objects
US20130152200A1 (en) Predictive Heap Overflow Protection
US10216934B2 (en) Inferential exploit attempt detection
KR102271545B1 (ko) 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들
US9659173B2 (en) Method for detecting a malware
US9910983B2 (en) Malware detection
US9038161B2 (en) Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor
WO2017012241A1 (zh) 文件的检测方法、装置、设备及非易失性计算机存储介质
US11055168B2 (en) Unexpected event detection during execution of an application
EP3531329B1 (en) Anomaly-based-malicious-behavior detection
CN112395603B (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
Sinha et al. Flowmine: Android app analysis via data flow
CN112016096A (zh) 一种xss漏洞的审计方法、装置
CN109145589B (zh) 应用程序获取方法及装置
US9787699B2 (en) Malware detection
US10880316B2 (en) Method and system for determining initial execution of an attack
CN110413871B (zh) 应用推荐方法、装置及电子设备
CN111240696A (zh) 移动恶意程序相似模块提取方法
CN111538990B (zh) 一种互联网分析系统
CN113568775A (zh) 程序异常捕获方法、装置、设备及可读存储介质
CN116842510A (zh) 容器下反弹shell变种检测方法、装置、系统和存储介质
CN116070211A (zh) 恶意脚本检测方法及装置、存储介质及电子设备
CN110543759A (zh) 恶意文件检测方法、装置、计算机设备和存储介质
CN110866251A (zh) 一种加密字符串的提取方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant