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

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

【技术实现步骤摘要】

本专利技术涉及信息安全领域中网络安全的检测判断
,尤其涉及一种检测未 知恶意代码和二进制漏洞的方法。
技术介绍
传统方法检测未知恶意代码或者二进制漏洞,主要采用基于代码序列特征码(即 特征匹配)检测、启发式检测、基于异常行为检测、基于行为结果检测四种检测技术,这四 种方式主要工作原理是对程序进行特征匹配、通过大量样本分析程序调用的系统函数、监 视程序运行的异常行为、分析代码执行后的运行结果和系统状态等。 这四种方式有误报率高、漏报率高、占用资源多、效率低、有效期短、防攻击能力弱 等缺点。传统方法通常要对数据包进行解压、重组、分析等步骤的处理。在大流量、大规模 的检测情况下,会极大的占用网络和设备资源,甚至影响正常业务的运行。而且采用特征匹 配的方式无法检测最新式的未知恶意代码,只有恶意程序爆发并被采集分析,提取出特征 码之后才能够进行有效检测,这样无疑会落后于未知恶意代码的攻击行动,造成了很大的 安全隐患。随着互联网业务的快速发展,这些传统方式已经不适应现在的web环境。 上述可知,有必要对现有技术进一步完善。
技术实现思路
本专利技术是为了解决现有检测未知恶意代码或者二进制漏洞的方法误报率高、漏报 率高、占用资源多、效率低、有效期短、防攻击能力弱等问题而提出一种不仅能准确检测并 判断未知病毒木马及未知恶意代码,而且检出率高、延迟低且防攻击能力强的检测未知恶 意代码和二进制漏洞的方法。 本专利技术是通过以下技术方案实现的: 上述的检测未知恶意代码和二进制漏洞的方法,其包括以下步骤: (S100)基础搭建 依次包括(SlOl)设置动态沙箱还原点;(S102)将代码载入动态沙箱; (S200)检测 依次包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径; (S202)动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作; (S204)分析系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警; (S300)系统还原,S卩重置沙箱,还原虚拟机。 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S201)即指将恶意 程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测每一个拆分的分支程 序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为混淆程序则舍弃子进 程,同时加强程序为恶意代码程序的可能性;将检测结果与路径树和拆分索引比对,快速、 准确定位恶意代码在程序中的位置,以便人工核实。 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S203)即指将计算 机操作系统在运行的过程中内容是完全一样的一部分空间,作为虚拟机使用。 所述检测未知恶意代码和二进制漏洞的方法,其中:所述步骤(S300)即指在计算 机中构造一个独立密闭的虚拟空间,空间中有真实计算机所有的全部环境,即可完整模拟 一个计算机系统,使所有代码和程序的操作都在沙箱中运行,以避免真实机器受到损害;在 真实环境中的计算机操作系统仍然正常运行的情况下,将所有运行在沙箱中的代码和程序 对机器所做的所有操作都重定向到一部分特定的文件夹,模拟注册表、端口等的修改;当检 测完成后,虚拟的沙箱根据设置的还原点,快速还原。 有益效果: 本专利技术检测未知恶意代码和二进制漏洞的方法改进了传统方法特征码匹配、分析 代码调用系统API函数列表和函数关系,监控系统进程指令,分析系统注册表、进程、端口 等的状态变化等四种传统手段。通过动态强制执行所有代码路径,能有效地检测未知病毒 木马的免杀手段,从而提高检出能力。同时内存监控单元可以有效判断未知恶意代码行为。 分析判断过程完成,记录未知恶意代码和二进制漏洞路径之后,对外输出报警,并快速还 原沙箱。该方法不仅能准确检测并判断未知病毒木马及未知恶意代码,而且检出率高、延迟 低且防攻击能力强,适于推广与应用。 【附图说明】 图1为本专利技术检测未知恶意代码和二进制漏洞的方法的流程图。 【具体实施方式】 本专利技术检测未知恶意代码和二进制漏洞的方法,包括以下步骤: 1、基础搭建 依次包括(1)设置动态沙箱还原点; (2)将代码载入动态沙箱; 2、检测 依次包括(1)利用路径执行技术在可疑代码中寻找所有的可执行路径;即将恶意 程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测每一个拆分的分支程 序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为混淆程序则舍弃子进 程,同时加强程序为恶意代码程序的可能性;将检测结果与路径树和拆分索引比对,快速、 准确定位恶意代码在程序中的位置,以便人工核实。 (2)动态强制执行所有代码路径; (3)内存监控单元介入,监控代码执行动作;即将计算机操作系统在运行的过程 中内容是完全一样的一部分空间,作为虚拟机使用; (4)分析系统状态,记录未知恶意代码和漏洞路径; (5)输出报警; 3、系统还原 重置沙箱,还原虚拟机;即在计算机中构造一个独立密闭的虚拟空间,空间中有真 实计算机所有的全部环境,即可完整模拟一个计算机系统,使所有代码和程序的操作都在 沙箱中运行,以避免真实机器受到损害;在真实环境中的计算机操作系统仍然正常运行的 情况下,将所有运行在沙箱中的代码和程序对机器所做的所有操作都重定向到一部分特定 的文件夹,模拟注册表、端口等的修改;当检测完成后,虚拟的沙箱根据设置的还原点,快速 还原。 其中,第1步中的设置沙箱还原点是为了一个检测进程结束以后沙箱系统的重 置,之所以选择在沙箱中运行检测未知恶意代码,是因为在未知恶意代码运行的过程中,会 对系统造成很多不可挽回的损害和改变,使用沙箱可以有效的避免这点;同时,在一次检测 进程结束后,可以按照最开始设置的还原点快速重置沙箱。 实施例 以检测javascript代码为例:在代码载入沙箱中后,系统就完全托管了 Javascript虚拟机,从二进制代码中寻找所有的可执行路径,不放过任何的漏洞入口;本文档来自技高网...
一种检测未知恶意代码和二进制漏洞的方法

【技术保护点】
一种检测未知恶意代码和二进制漏洞的方法,其特征在于,包括以下步骤:(S100)基础搭建即依次包括(S101)设置动态沙箱还原点;(S102)将代码载入动态沙箱;(S200)检测即依次包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径;(S202)动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作;(S204)分析系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警;(S300)系统还原,即重置沙箱,还原虚拟机。

【技术特征摘要】
1. 一种检测未知恶意代码和二进制漏洞的方法,其特征在于,包括w下步骤: (S100)基础搭建 即依次包括(S101)设置动态沙箱还原点;(S102)将代码载入动态沙箱; (S200)检测 即依次包括(S201)利用路径执行技术在可疑代码中寻找所有的可执行路径;(S202) 动态强制执行所有代码路径;(S203)内存监控单元介入,监控代码执行动作;(S204)分析 系统状态,记录未知恶意代码和漏洞路径;(S205)输出报警; (S300)系统还原,即重置沙箱,还原虚拟机。2. 如权利要求1所述的检测未知恶意代码和二进制漏洞的方法,其特征在于;所述步 骤(S201)即指将恶意程序全部拆分为树形结构,检测时不受程序逻辑关系限制,独立检测 每一个拆分的分支程序,在遇到call指令生成子进程时,将子进程标记检测;如果判断为 混淆程序则舍弃子进程,同时加强...

【专利技术属性】
技术研发人员:林榆坚
申请(专利权)人:北京安赛创想科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1