一种检测未知恶意代码和二进制漏洞的方法

文档序号:6511366阅读:395来源:国知局
一种检测未知恶意代码和二进制漏洞的方法
【专利摘要】本发明涉及一种检测未知恶意代码和二进制漏洞的方法,其包括以下步骤:(S100)基础搭建,其包括(S101)设置动态沙箱还原点;(S102)将代码载入动态沙箱。(S200)检测,其包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径;(S202)动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作;(S204)分析系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警。(S300)系统还原,其包括重置沙箱,还原虚拟机。本发明步骤简单、合理,不仅能准确检测并判断未知病毒木马及未知恶意代码,而且检出率高、延迟低且防攻击能力强,适于推广与应用。
【专利说明】一种检测未知恶意代码和二进制漏洞的方法

【技术领域】
[0001] 本发明涉及信息安全领域中网络安全的检测判断【技术领域】,尤其涉及一种检测未 知恶意代码和二进制漏洞的方法。

【背景技术】
[0002] 传统方法检测未知恶意代码或者二进制漏洞,主要采用基于代码序列特征码(即 特征匹配)检测、启发式检测、基于异常行为检测、基于行为结果检测四种检测技术,这四 种方式主要工作原理是对程序进行特征匹配、通过大量样本分析程序调用的系统函数、监 视程序运行的异常行为、分析代码执行后的运行结果和系统状态等。
[0003] 这四种方式有误报率高、漏报率高、占用资源多、效率低、有效期短、防攻击能力弱 等缺点。传统方法通常要对数据包进行解压、重组、分析等步骤的处理。在大流量、大规模 的检测情况下,会极大的占用网络和设备资源,甚至影响正常业务的运行。而且采用特征匹 配的方式无法检测最新式的未知恶意代码,只有恶意程序爆发并被采集分析,提取出特征 码之后才能够进行有效检测,这样无疑会落后于未知恶意代码的攻击行动,造成了很大的 安全隐患。随着互联网业务的快速发展,这些传统方式已经不适应现在的web环境。
[0004] 上述可知,有必要对现有技术进一步完善。


【发明内容】

[0005] 本发明是为了解决现有检测未知恶意代码或者二进制漏洞的方法误报率高、漏报 率高、占用资源多、效率低、有效期短、防攻击能力弱等问题而提出一种不仅能准确检测并 判断未知病毒木马及未知恶意代码,而且检出率高、延迟低且防攻击能力强的检测未知恶 意代码和二进制漏洞的方法。
[0006] 本发明是通过以下技术方案实现的:
[0007] 上述的检测未知恶意代码和二进制漏洞的方法,其包括以下步骤:
[0008] (S100)基础搭建
[0009] 依次包括(SlOl)设置动态沙箱还原点;(S102)将代码载入动态沙箱;
[0010] (S200)检测
[0011] 依次包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径; (S202)动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作; (S204)分析系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警;
[0012] (S300)系统还原,S卩重置沙箱,还原虚拟机。
[0013] 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S201)即指将恶意 程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测每一个拆分的分支程 序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为混淆程序则舍弃子进 程,同时加强程序为恶意代码程序的可能性;将检测结果与路径树和拆分索引比对,快速、 准确定位恶意代码在程序中的位置,以便人工核实。
[0014] 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S203)即指将计算 机操作系统在运行的过程中内容是完全一样的一部分空间,作为虚拟机使用。
[0015] 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S300)即指在计算 机中构造一个独立密闭的虚拟空间,空间中有真实计算机所有的全部环境,即可完整模拟 一个计算机系统,使所有代码和程序的操作都在沙箱中运行,以避免真实机器受到损害;在 真实环境中的计算机操作系统仍然正常运行的情况下,将所有运行在沙箱中的代码和程序 对机器所做的所有操作都重定向到一部分特定的文件夹,模拟注册表、端口等的修改;当检 测完成后,虚拟的沙箱根据设置的还原点,快速还原。
[0016] 有益效果:
[0017] 本发明检测未知恶意代码和二进制漏洞的方法改进了传统方法特征码匹配、分析 代码调用系统API函数列表和函数关系,监控系统进程指令,分析系统注册表、进程、端口 等的状态变化等四种传统手段。通过动态强制执行所有代码路径,能有效地检测未知病毒 木马的免杀手段,从而提高检出能力。同时内存监控单元可以有效判断未知恶意代码行为。 分析判断过程完成,记录未知恶意代码和二进制漏洞路径之后,对外输出报警,并快速还 原沙箱。该方法不仅能准确检测并判断未知病毒木马及未知恶意代码,而且检出率高、延迟 低且防攻击能力强,适于推广与应用。

【专利附图】

【附图说明】
[0018] 图1为本发明检测未知恶意代码和二进制漏洞的方法的流程图。

【具体实施方式】
[0019] 本发明检测未知恶意代码和二进制漏洞的方法,包括以下步骤:
[0020] 1、基础搭建
[0021] 依次包括(1)设置动态沙箱还原点;
[0022] (2)将代码载入动态沙箱;
[0023] 2、检测
[0024] 依次包括(1)利用路径执行技术在可疑代码中寻找所有的可执行路径;即将恶意 程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测每一个拆分的分支程 序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为混淆程序则舍弃子进 程,同时加强程序为恶意代码程序的可能性;将检测结果与路径树和拆分索引比对,快速、 准确定位恶意代码在程序中的位置,以便人工核实。
[0025] (2)动态强制执行所有代码路径;
[0026] (3)内存监控单元介入,监控代码执行动作;即将计算机操作系统在运行的过程 中内容是完全一样的一部分空间,作为虚拟机使用;
[0027] (4)分析系统状态,记录未知恶意代码和漏洞路径;
[0028] (5)输出报警;
[0029] 3、系统还原
[0030] 重置沙箱,还原虚拟机;即在计算机中构造一个独立密闭的虚拟空间,空间中有真 实计算机所有的全部环境,即可完整模拟一个计算机系统,使所有代码和程序的操作都在 沙箱中运行,以避免真实机器受到损害;在真实环境中的计算机操作系统仍然正常运行的 情况下,将所有运行在沙箱中的代码和程序对机器所做的所有操作都重定向到一部分特定 的文件夹,模拟注册表、端口等的修改;当检测完成后,虚拟的沙箱根据设置的还原点,快速 还原。
[0031] 其中,第1步中的设置沙箱还原点是为了一个检测进程结束以后沙箱系统的重 置,之所以选择在沙箱中运行检测未知恶意代码,是因为在未知恶意代码运行的过程中,会 对系统造成很多不可挽回的损害和改变,使用沙箱可以有效的避免这点;同时,在一次检测 进程结束后,可以按照最开始设置的还原点快速重置沙箱。
[0032] 实施例
[0033] 以检测javascript代码为例:在代码载入沙箱中后,系统就完全托管了 Javascript虚拟机,从二进制代码中寻找所有的可执行路径,不放过任何的漏洞入口;

【权利要求】
1. 一种检测未知恶意代码和二进制漏洞的方法,其特征在于,包括w下步骤: (S100)基础搭建 即依次包括(S101)设置动态沙箱还原点;(S102)将代码载入动态沙箱; (S200)检测 即依次包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径;(S202) 动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作;(S204)分析 系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警; (S300)系统还原,即重置沙箱,还原虚拟机。
2. 如权利要求1所述的检测未知恶意代码和二进制漏洞的方法,其特征在于;所述步 骤(S201)即指将恶意程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测 每一个拆分的分支程序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为 混淆程序则舍弃子进程,同时加强程序为恶意代码程序的可能性;将检测结果与路径树和 拆分索引比对,快速、准确定位恶意代码在程序中的位置,W便人工核实。
3. 如权利要求1所述的检测未知恶意代码和二进制漏洞的方法,其特征在于;所述步 骤(S203)即指将计算机操作系统在运行的过程中内容是完全一样的一部分空间,作为虚 拟机使用。
4. 如权利要求1所述的检测未知恶意代码和二进制漏洞的方法,其特征在于;所述步 骤(S300)即指在计算机中构造一个独立密闭的虚拟空间,空间中有真实计算机所有的全 部环境,即可完整模拟一个计算机系统,使所有代码和程序的操作都在沙箱中运行,W避免 真实机器受到损害;在真实环境中的计算机操作系统仍然正常运行的情况下,将所有运行 在沙箱中的代码和程序对机器所做的所有操作都重定向到一部分特定的文件夹,模拟注册 表、端口等的修改;当检测完成后,虚拟的沙箱根据设置的还原点,快速还原。
【文档编号】G06F21/56GK104462962SQ201310415916
【公开日】2015年3月25日 申请日期:2013年9月13日 优先权日:2013年9月13日
【发明者】林榆坚 申请人:北京安赛创想科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1