【技术实现步骤摘要】
一种ShellCode检测方法和装置
本专利技术涉及网络安全领域,尤其涉及一种ShellCode检测方法和装置。
技术介绍
当前,缓冲区溢出是多种系统攻击、获取系统控制权的一个主要跳板,而具体实施缓冲区溢出攻击,必须要通过ShellCode来进行,进行攻击的数据中一定包含相应的ShellCode。因此,加强对缓冲区溢出等攻击的检测是信息安全领域的一个重要研究内容。同时,当前广泛使用的软件如Office、AdobeReader等文档处理软件成为很多ShellCode的攻击跳板,许多攻击者将ShellCode隐藏在DOC和PDF等这些常用文档中进行攻击。当前对ShellCode的检测,主要分为静态检测和动态检测,静态ShellCode检测技术一般采用模式匹配和静态反汇编技术,通过对数据进行扫描和分析,根据ShellCode知识库中的特征码,识别出可能存在的ShellCode。其特点是检测速度快,但存在针对性不强,无法检测未知ShellCode的问题。同时,静态二进制分析没有实际执行指令,无法自动捕获指令的控制转移,完全依赖人工分析程序的控制流图。动态的ShellCod ...
【技术保护点】
一种ShellCode检测方法,其特征在于,包括:建立包含ShellCode特征序列的ShellCode指令序列特征库;载入待检测文件,对所述待检测文件进行解析,形成解析文件;对所述解析文件进行指令的模拟执行和分析,记录可疑指令序列并与所述ShellCode指令序列特征库中的ShellCode特征序列进行对比,判断所述解析文件中是否包含ShellCode;输出检测结果。
【技术特征摘要】
1.一种ShellCode检测方法,其特征在于,包括:建立包含ShellCode特征序列的ShellCode指令序列特征库;载入待检测文件,对所述待检测文件进行解析,形成解析文件;对所述解析文件进行指令的模拟执行和分析,记录可疑指令序列并与所述ShellCode指令序列特征库中的ShellCode特征序列进行对比,判断所述解析文件中是否包含ShellCode;输出检测结果;所述对所述解析文件进行指令的模拟执行和分析,记录可疑指令序列并与所述ShellCode指令序列特征库中的ShellCode特征序列进行对比,判断所述解析文件中是否包含ShellCode,包括:步骤S1:初始化可疑指令序列步长;步骤S2:将所述解析文件作为二进制串进行指令的模拟执行和分析,当检测到可疑指令时,执行步骤S3,否则,执行步骤S6;步骤S3:将所述可疑指令序列步长加1;步骤S4:比较所述可疑指令序列步长是否达到所述ShellCode指令序列特征库中的ShellCode特征序列的阀值,如果达到阀值,执行步骤S5,否则,执行步骤S6;步骤S5:判定所述解析文件数据中包含ShellCode,记录告警信息;步骤S6:判断是否对所述解析文件中的所有数据完成检测,如果完成了所有数据检测,判定所述解析文件中不包含ShellCode,否则,回到步骤S2。2.根据权利要求1所述的ShellCode检测方法,其特征在于,所述对所述待检测文件进行解析,形成解析文件包括:根据待检测文件的类型进行解析,转换为统一格式的解析文件。3.根据权利要求2所述的ShellCode检测方法,其特征在于,所述文档类型包括:DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF中的一种或多种。4.根据权利要求1至3中任一项所述的ShellCode检测方法,其特征在于,所述方法还包括:利用ShellCode检测结果对所述ShellCode指令序列特征库中的ShellCode特征序列进行更新。5.一种ShellCode检测装置,其特征在于,包括:特征库模块、调...
【专利技术属性】
技术研发人员:喻民,姜建国,李敏,刘超,仇新梁,黄超,王菲飞,王冉晴,赵双,刘坤颖,高翔,胡波,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。