【技术实现步骤摘要】
shellcode恶意执行的判定方法和系统
[0001]本专利技术涉及计算机安全领域,尤其涉及一种shellcode恶意执行的判定方法、系统、计算机设备及计算机可读存储介质。
技术介绍
[0002]shellcode是指一段用于利用软件漏洞而执行的二进制代码,可以利用软件漏洞建立一个较高权限的shell(壳)。Shellcode是溢出程序和蠕虫病毒的核心,一般作为恶意数据被发送给目标设备中存在漏洞的应用程序,改变存在漏洞的应用程序的执行流程,从而获得目标设备的控制权,进而实施黑客行为。但是,如果能够事先检测出shellcode,就可以部署相应的防范手段,避免安全事件的发生。
[0003]在现有技术中,一般采用特征码检测技术检测shellcode。且研发方向都趋向于研究如何提取和匹配shellcode恶意特征码。然而,基于特征码检测技术具有以下问题:无法应对频繁多变的shellcode攻击;当操作系统或应用普遍使用近似的shellcode来完成合法的事情,容易误判;并且无法防护未知漏洞的shellcode攻击。 >
技术实现思路
...
【技术保护点】
【技术特征摘要】
1.一种shellcode恶意执行的判定方法,其特征在于,所述方法包括:检测预设路径上的行为事件;当检测到所述行为事件时,则对当前线程进行堆栈回溯,以获取应用层的函数调用指令序列;根据所述函数调用指令序列,识别shellcode;及根据内存链判断所述shellcode是否恶意执行,所述内存链根据内存操作行为的合法性进行构建。2.根据权利要求1所述的判定方法,其特征在于,所述根据所述函数调用指令序列,识别shellcode,包括:判断所述函数调用指令序列中的各个函数调用指令的内存执行地址是否位于当前进程的任意一个模块中;若其中一个函数调用指令的内存执行地址未位于所述当前进程的任意一个模块中,则判断所述函数调用指令的内存执行地址所在的内存地址段是否有可执行标识;及若所述内存地址段有所述可执行标识,则确定该内存地址段内的代码为所述shellcode。3.根据权利要求1所述的判定方法,其特征在于,所述根据所述函数调用指令序列,识别shellcode,包括:判断所述函数调用指令序列中的各个函数调用指令的内存执行地址是否位于栈内存范围内;若其中一个函数调用指令的内存执行地址位于所述栈内存范围内,则确定所述栈内存范围内的代码为所述shellcode。4.根据权利要求1所述的判定方法,其特征在于,所述内存链包括白内存链和黑内存链;所述方法包括:监控每次内存操作行为,以得到所述每次内存操作行为对应的内存操作行为信息,所述内存操作行为信息包括内存地址和内存大小;检测每次内存操作行为的合法性;当内存操作行为属于合法时,则将相应的内存地址和内存大小加入到所述白内存链中;及当内存操作行为属于不合法时,则将相应的内存地址和内存大小加入到所述黑内存链中。5.根据权利要求4所述的判定方法,其特征在于,所述检测每次内存操作行为的合法性,包括:当其中一个内存操作行为为以下...
【专利技术属性】
技术研发人员:王明广,王丹阳,
申请(专利权)人:奇安信科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。