CN109684845B - 一种检测方法和装置 - Google Patents
一种检测方法和装置 Download PDFInfo
- Publication number
- CN109684845B CN109684845B CN201811614491.3A CN201811614491A CN109684845B CN 109684845 B CN109684845 B CN 109684845B CN 201811614491 A CN201811614491 A CN 201811614491A CN 109684845 B CN109684845 B CN 109684845B
- Authority
- CN
- China
- Prior art keywords
- detection
- sample
- submodule
- sandbox
- detected
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种检测方法和装置,所述方法包括:获取第一待检测样本;将所述第一待检测样本输入塔式沙箱组获取第一检测结果。本申请利用所述塔式沙箱组对样本进行检测,比仅依靠静态代码分析,或者依靠浏览器内核动态执行等检测手段检出率高,误报率小。同时,提出的审查机制和审查模块能够最大程度保证检出率,降低误报率,且可以大幅度提高检测效率,满足大流量下在线实时监控和检测的需要。
Description
技术领域
本申请涉及计算机安全领域,具体涉及检测方法,以及检测装置。
背景技术
近年来随着互联网规模的快速扩大,恶意脚本类病毒在恶意软件传播中所占的比例逐年升高,对网络环境和用户的危害也持续增加。脚本类恶意软件一般分为VBscirpt,javascript,PHPscript等,其中javascript类恶意脚本因为其在html网页文件中的广泛使用而传播最广,威胁最大。
脚本类恶意软件与一般便携式执行器(Portable Executive,简称PE)类恶意软件有如下区别:
1、脚本类恶意软件一般使用的是解释型脚本语言,编写较PE类软件简单,病毒体积小,易于藏匿传播。
2、脚本类恶意软件由于病毒本身呈现为脚本语言代码,因此比PE类经过编译链接后的二进制程序更容易加以混淆和加密,并且混淆门槛低,可用混淆工具和加密软件很多。
3、通常脚本类恶意软件较PE类型恶意软件而言功能简单,单一,但往往是高危害型PE程序的下载渠道和桥梁,例如,“Drive by download”型强制下载类恶意脚本。
通常检测脚本类恶意软件分为静态检测方法和动态检测方法两类。静态检测方法扫描脚本的程序代码,但不执行代码,仅仅搜索和匹配恶意特征。例如当脚本代码显式未加混淆的试图链接至其他网站进行下载活动时,检测相应的URL链接,与URL黑名单库进行比对,判断是否存在匹配。
动态检测方法则将疑似恶意脚本运行于沙箱中,对于VBscript和javascript一般存在浏览器内置沙箱和虚拟机沙箱两种。通过脚本在沙箱中的运行来发现恶意行为和特征,进而判断是否为恶意脚本。
现有技术中,利用动态行为对恶意软件进行检测,但由于需要提取特定底层函数的启用情况,一般需通过手动配置相应环境的虚拟机来实现,检测速度较慢,无法在高速网络流量中应对大量脚本代码的实时检测问题。
而基于机器学习训练的检测方式对零日威胁(包括零日病毒和漏洞利用)应对乏力且误报率高。
发明内容
本申请提供一种检测方法,一种检测装置;以解决检测速度慢及误报率高的问题。
为了解决上述技术问题,本申请实施例提供了如下的技术方案:
本申请提供了一种检测方法,包括:
获取第一待检测样本;
将所述第一待检测样本输入塔式沙箱组获取第一检测结果;
优选的,所述塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数;
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;
所述第二检测模块,包括第二检测沙箱子模块;
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;
所述第二检测结果,包括恶意样本或待定样本;
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;
所述第三检测结果,包括异常样本或正常样本;
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;
所述第一检测结果,包括恶意样本或正常样本。
优选的,所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量。
优选的,所述机器学习模型,包括:单分类支持向量机算法。
进一步的,所述单分类支持向量机算法,包括:最小化的目标函数;
约束条件为:
(wφ(xi))≥ρ-ξi,ξi≥0,i=1,2,...,n;
其中,w,ξ,ρ为待优化参数,(φ(xi))为支持向量机核函数,v为可手动调节的超参数,n为样本数量,x样本数值。
进一步的,所述第三检测结果,即异常样本和正常样本通过下述算法得出:
sgn(wφ(xi))-ρ)。
本申请提供了一种检测装置,包括:
获取样本模块,用于获取第一待检测样本;
取得结果模块,用于将所述第一待检测样本输入塔式沙箱组获取第一检测结果;
优选的,在所述取得结果模块中包括塔式沙箱组;所述塔式沙箱组,包括第二检测模块和N层第一检测模块,N为正整数;
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;
所述第二检测模块,包括第二检测沙箱子模块;
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;
所述第二检测结果,包括恶意样本或待定样本;
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;
所述第三检测结果,包括异常样本或正常样本;
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;
所述第一检测结果,包括恶意样本或正常样本。
优选的,所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量。
优选的,所述机器学习模型,包括:
单分类支持向量机算法单元,用于单分类支持向量机算法。
进一步的,所述单分类支持向量机算法单元,包括:
最小化的目标函数子单元,用于最小化的目标函数:
约束条件为:
(wφ(xi))≥ρ-ξi,ξi≥0,i=1,2,...,n;
其中,w,ξ,ρ为待优化参数,(φ(xi))为支持向量机核函数,v为可手动调节的超参数,n为样本数量,x样本数值。
进一步的,所述单分类支持向量机算法单元,还包括:
异常判定子单元,用于判定结果并通过下述算法得出:
sgn(wφ(xi))-ρ)。
基于上述实施例的公开可以获知,本申请实施例具备如下的有益效果:
本申请提供了一种检测方法和装置,所述方法包括:获取第一待检测样本;将所述第一待检测样本输入塔式沙箱组获取第一检测结果;其中,所述塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数;所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;所述第二检测模块,包括第二检测沙箱子模块;所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;所述第二检测结果,包括恶意样本或待定样本;所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;所述第三检测结果,包括异常样本或正常样本;所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;所述第一检测结果,包括恶意样本或正常样本。本申请利用所述塔式沙箱组对样本进行检测,比仅依靠静态代码分析,或者依靠浏览器内核动态执行等检测手段检出率高,误报率小。同时,提出的审查机制和审查模块能够最大程度保证检出率,降低误报率,且可以大幅度提高检测效率,满足大流量下在线实时监控和检测的需要。
附图说明
图1为本申请实施例提供的一种检测方法的流程图;
图2为本申请实施例提供的一种检测装置的单元框图;
图3为本申请实施例提供的塔式沙箱组的示意图。
具体实施方式
下面,结合附图对本申请的具体实施例进行详细的描述,但不作为本申请的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所公开的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
现有技术中,利用动态行为对恶意软件进行检测,但由于需要提取特定底层函数的启用情况,一般需通过配置相应环境的虚拟机来实现,检测速度较慢,无法在高速网络流量中应对大量脚本代码的实时检测问题。
而基于机器学习训练的检测方式对零日威胁(包括零日病毒和漏洞利用)应对乏力且误报率高。
本申请提供一种检测方法;本申请还提供一种检测装置。在下面的实施例中逐一进行详细说明。
对本申请提供的第一实施例,即一种检测方法的实施例。
下面结合图1和图3对本实施例进行详细说明。
请参见图3所示,本实施例提供了一个塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数。
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块。
所述第二检测模块,包括第二检测沙箱子模块。
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果。
所述第二检测结果,包括恶意样本或待定样本。
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果。
所述第三检测结果,包括异常样本或正常样本。
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果。
所述第一检测结果,包括恶意样本或正常样本。
优选的,所述塔式沙箱组中,N层所述第一检测沙箱子模块及所述第二检测沙箱子模块按照每个子模块的平均检测时间由低到高顺序处理。例如,平均检测时间最短的所述第一检测沙箱子模块最先检测待检测样本,依平均检测时间顺序执行各所述第一检测沙箱子模块,直到平均检测时间最长的所述第二检测沙箱子模块执行完毕。
优选的,所述塔式沙箱组中,N层所述第一检测沙箱子模块及所述第二检测沙箱子模块按照每个子模块的技术复杂程度顺序处理。例如,技术最简单的所述第一检测沙箱子模块最先检测待检测样本,依技术复杂程度顺序执行各所述第一检测沙箱子模块,直到执行技术复杂程度最高的所述第二检测沙箱子模块执行完毕。理论上技术复杂度和耗费时间与恶意样本检出率成正比。
上述先易后难的塔式检测结构,可以在保证恶意样本检出率的前提下有效的提高检测效率。
优选的,所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量。
优选的,所述机器学习模型,采用无监督学习方法。
优选的,所述机器学习模型,包括:单分类支持向量机算法。
所述单分类支持向量机算法,通过训练能获得一个包裹现有训练集的超平面,而在检测中把所有异于训练集的样本均作为异常样本。而非异常样本则不再进入下方沙箱进行进一步检测,将节省大量正常样本检测时间,有利于在线应用和实时应用。
优选的,所述单分类支持向量机算法,包括:最小化的目标函数;
约束条件为:
(wφ(xi))≥ρ-ξi,ξi≥0,i=1,2,...,n;
其中,w,ξ,ρ为待优化参数,(φ(xi))为支持向量机核函数,v为可手动调节的超参数,n为样本数量,x样本数值。
优选的,第三检测结果,即异常样本和正常样本通过下述算法得出:
sgn(wφ(xi))-ρ)。
本实施例提出了一种可应用于所述单分类支持向量机算法的特征信息提取方法,具体包括如下所述特征信息,但不限于这些特征。
1、文件信息,包括:长度、自定义变量数量及自定义函数数量;
2、是否出现浏览器重定向的代码和统一资源标志符(URI),例如使用document.location=http://XXX,若存在,记录其次数;
3、字符串定义和使用数量,以及其占自定义变量数量比例,所使用字符串总长度占整体代码长度的比例;
4、是否使用动态执行函数,例如eval(),setTimeout()等,如有,则记录其次数;
5、是否使用文档对象模型DOM更改函数(比如document.write(),document.createElement()等),若有,则记录其次数;
6、代码中出现的最长字符串长度,字符串作为函数输入参数时的最大长度,以及所有字符串总长度占全部代码长度的比例;
7、是否使用插件(plug-in)或者ActiveX控件,若有,则记录其使用次数,例如,调用newActivaXObject()和createXMLHTTPRequest()函数;
8、是否存在网络下载行为或者内存操作行为,存储写入行为;
9、恶意脚本程序训练集在沙箱动态分析后,获取其调用最频繁的100个浏览器解释引擎核心函数,再对这100个函数做one-hot编码,形成特征向量。
以上特征信息可组成所述特征向量,经过所述单分类支持向量机算法对大量样本进行训练,可以得出各层机器学习模型。利用训练出的机器学习模型可以在线对经过所述第一检测沙箱子模块检测的待定样本进行审查,只将所述异常样本传递给下一层所述第一检测沙箱子模块或所述第二检测沙箱子模块检测的。
通过上述所述塔式沙箱组的处理机制,提高样本的检测速度及提高恶意样本检出率,降低误报率。
请参见图1所示,所述塔式沙箱组的应用步骤包括:
步骤S1,获取第一待检测样本。
所述第一待检测样本,包括存在于智能电子设备或网络中被怀疑可能存在恶意信息的所有样本。例如:可执行程序文件、命令文件、动态链接库文件、脚本文件。
步骤S2,将所述第一待检测样本输入塔式沙箱组获取所述第一检测结果。
下面列举一个具体实例对所述方法进行详细描述。
所述塔式沙箱组是一个三层沙箱组的检测结构,所述第一检测沙箱子模块包括微型沙箱子模块和轻量级沙箱子模块,所述第二检测沙箱子模块为全功能沙箱子模块。其中,三层沙箱组逐层的检测功能越来越强大,所耗费的时间也越来越长。同时,对所述微型沙箱子模块和轻量级沙箱子模块的检测结果分别由相对应的所述第一审查子模块(比如,微型审查子模块和轻量级审查子模块)进行审查。
步骤S101,获取第一待检测样本。
步骤S102,将所述第一待检测样本输入所述微型沙箱子模块中获取第一结果。
所述微型沙箱子模块,用于对利用加混淆方法或加密方法躲避检测的样本进行查杀。
例如:一般恶意的脚本文件均采用加混淆和加密来躲避检测软件的查杀,由于其解释型语言的特性,加混淆方法或加密方法的制作难度远低于需要编译的PE型恶意文件。静态去混淆操作一般只能处理字符替换,字符串拼接,数组选取,随机变量和函数名,添加无用注释和空格等较简单的混淆手段,对于使用编程逻辑和函数进行加混淆方法或加密方法不能或很难进行去混淆处理或解密处理;所述微型沙箱子模块利用解释型脚本语言的特点调用脚本解释器还原原始代码;并限制样本中的一些危险行为的执行(比如:远程下载,写入文件且执行,调用关键系统进程);还原后的原始代码将进行恶意代码特征匹配和恶意URL匹配,检测是否含有恶意代码和恶意URL。
例如,恶意代码示例1:
function xViewState()
{var a=0;
Var m,v,t,z,x=new Array('9091968376','8887918192818786347374918
784939277359287883421333333338896','877886888787','94999079391794
7998942577939317'),l=x.length;while(++a<=l){m=x[l-a];
t=z=”;
for(v=0;v<m.length;){t+=m.charAt(v++);
if(t.length==2){z+=String.fromCharCode(parseInt(t)+25-l+a);
t=”;}}x[l-a]=z;}document.write('<'+x[0]+''+x[4]+'>.'+x[2]+'{'+x[1]+'}</'+x[0]+'>');}xViewState();
经过微型沙箱去混淆处理后得到如下代码:
示例1中的恶意代码采用while循环,for循环,数字-字符转换,数组拼接等方式掩盖其原始代码,经过微型沙箱脚本解释器的运行,获取其document.write()函数内实际期望运行的代码。此时很容易检测出该恶意脚本期望在网页页面中添加隐形暗链,达到搜索引擎毒化攻击(Search Engine Poisoning Attack)的目的。
本实施例中的所述微型沙箱子模块利用node.js的核心vm子库,主要拦截以下javascript函数和对象以进行去混淆处理,包括:eval(),window.setTimeout(),location.replace(),location.assig(),document.cookie,document.write(),element.innerHTML(),element.appendChild(),String.charAt(),String.charCodeAt(),createXMLHTTPRequest()以及unescape()。但不限于如上所述的函数和对象。
由于所述微型沙箱子模块并不进行网络行为及复杂系统调用,因此执行速度快。
步骤S103,判断所述第一结果是否满足预设第一正常样本条件。
步骤S104,若是,则将所述第一待检测样本输入所述微型审查子模块获取第一审查结果。
当第一待检测样本经过所述微型沙箱子模块检测后,若未检测出恶意特征,则进入所述微型审查子模块进行判别是否需要继续进入下层沙箱检测。
步骤S105,判断所述第一审查结果是否满足预设第一异常条件。
步骤S106,若是,则将所述第一待检测样本输入所述轻量级沙箱子模块中获取第二结果。
所述轻量级沙箱子模块,是一种动态检测模块,用于获取函数调用序列并监控提取样本的网络行为和存储操作行为。所述轻量级沙箱子模块对一个样本的检测时间比所述微型沙箱子模块长。
例如:利用浏览器核心脚本引擎运行待测脚本样本,获取脚本代码执行时的引擎回调函数,系统底层函数序列等;将所获取的函数序列与恶意代码特征库中的恶意行为序列进行匹配,以检测脚本代码执行时是否存在恶意行为;所述轻量级沙箱子模块中的脚本引擎可以采用基于Mozilla火狐浏览器的spidermonkey脚本引擎,或者使用google的V8脚本引擎,或者使用基于V8引擎封装的node.js服务器端JS运行库;本实施例以spidermonkey为例阐述如何提取恶意脚本的回调函数序列;
恶意代码示例2:
<a href=‘javascript:
var file=Components.classes[“@mozilla.org/file/local;1”].createInstance(Components.interfaces.nsILocalFile);
var path=“/usr/bin/gnome-calculator”;
file.initWithPath(path);
var proc=Components.classes[“@mozilla.org/process/util;1”].createInstance(Components.interfaces.nsIProcess);
proc.init(file);
proc.run(true,[path],1);‘></a>
以上恶意脚本代码是利用火狐浏览器coolpreview插件一个漏洞的web攻击代码;
经过所述轻量级沙箱子模块执行后的spidermonkey内核函数调用序列为:
1.nsIIOService2.newURI()标记为a;
2.nsIURI.scheme()标记为b;
3.nsIPrefBranch.getComplexValue()标记为c;
4.nsIPrefLocalizedString.data()标记为d;
5.nsIPrefBranch.getBoolPref()标记为e;
6.nsIPrefBranch.getCharPref()标记为f;
7.nsIIOService2.newURI()标记为a;
8.nsIURI.scheme()标记为b;
9.nsILocalFile.initWithPath()标记为g;
10.nsIProcess.init()标记为h;
11.nsIProcess.run()标记为I;
12.nsISecureBrowserUI.init()标记为j;
经过标记后函数调用序列如下:
a-b-c-d-e-f-a-b-g-h-i-j,此例仅包含核心函数库中的一小部分,其余可进行类似序列号编码和操作;
获取浏览器脚本引擎的内核函数调用序列可以较好的体现该脚本程序的动态行为。之后可以将此序列与恶意脚本特征库进行匹配,从而获取第二结果。
步骤S107,判断所述第二结果是否满足预设第二正常样本条件。
步骤S108,若是,则将所述第一待检测样本输入所述轻量级审查子模块获取第二审查结果。
例如:继续上述例子,利用所述轻量级审查子模块对所述待测脚本样本及提取的内核函数序列进行审查。
步骤S109,判断所述第二审查结果是否满足预设第二异常条件。
步骤S110,若是,则将所述第一待检测样本输入所述全功能沙箱子模块中获取第三结果。
所述全功能沙箱子模块,对样本进行详尽的检测,以检测所述微型沙箱子模块、轻量级沙箱子模块、微型审查子模块和轻量级审查子模块无法检测出的样本,尤其针对未知样本和利用零日漏洞的样本。
本实施例中所述全功能沙箱子模块具有以下功能:
1、能够利用虚拟机等技术完整模拟样本运行所需的操作系统和其他软硬件环境,并对恶意样本探测虚拟机、沙箱规避等技术具有反制措施;
2、能够模拟实现并实时监控样本的联网下载行为、内存操作行为、存储器写入和获得执行权限等行为,但对会产生危害的行为限制其危害程度和范围;
3、能够对多操作系统,多浏览器版本等进行多环境模拟,尤其模拟重要版本节点和展示流行的可利用漏洞;
4、能够避免虚拟机穿透,沙箱泄露和渗透,并具有反制措施;
5、能对未知威胁,未知恶意行为做出监控,记录和判断。
步骤S111,判断所述第三结果是否满足预设第三正常样本条件。
步骤S112,若是,则所述第一待检测样本是正常样本。
在所述判断所述第一结果是否满足预设第一正常样本条件后,还包括:
若否,则所述第一待检测样本是恶意样本。
在判断所述第一审查结果是否满足预设第一异常条件后,还包括:
若否,则所述第一待检测样本是正常样本。
在判断所述第二结果是否满足预设第二正常样本条件后,还包括:
若否,则所述第一待检测样本是恶意样本。
在判断所述第二审查结果是否满足预设第二异常条件后,还包括:
若否,则所述第一待检测样本是正常样本。
在所述判断所述第三结果是否满足预设第三正常样本条件后,还包括:
若否,则所述第一待检测样本是恶意样本。
本实施例结合微型沙箱子模块反混淆加密,轻量级沙箱子模块提取内核函数调用序列,全功能沙箱子模块做多环境模拟执行等特点,比仅依靠静态代码分析,或者依靠浏览器内核动态执行等检测手段检出率高,误报率小。同时,提出的审查机制和审查模块能够最大程度保证检出率,降低误报率,且可以大幅度提高检测效率,满足大流量下在线实时监控和检测的需要。
与本申请提供的第一实施例相对应,本申请还提供了第二实施例,即一种检测装置。由于第二实施例基本相似于第一实施例,所以描述得比较简单,相关的部分请参见第一实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
图2示出了本申请提供的一种检测装置的实施例。图2为本申请实施例提供的一种检测装置的单元框图。
请参考图2,本申请提供一种检测装置,包括:获取样本模块201,取得结果模块202。
获取样本模块201,用于获取第一待检测样本;
取得结果模块202,用于将所述第一待检测样本输入塔式沙箱组获取第一检测结果。
优选的,在所述取得结果模块中包括塔式沙箱组;所述塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数;
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;
所述第二检测模块,包括第二检测沙箱子模块;
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;
所述第二检测结果,包括恶意样本或待定样本;
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;
所述第三检测结果,包括异常样本或正常样本;
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;
所述第一检测结果,包括恶意样本或正常样本。
所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量。
优选的,所述机器学习模型,包括:单分类支持向量机算法单元,用于单分类支持向量机算法。
所述单分类支持向量机算法单元,包括:最小化的目标函数子单元,用于最小化的目标函数:
约束条件为:
(wφ(xi))≥ρ-ξi,ξi≥0,i=1,2,...,n;
其中,w,ξ,ρ为待优化参数,(φ(xi))为支持向量机核函数,v为可手动调节的超参数,n为样本数量,x样本数值。
所述单分类支持向量机算法单元,还包括:
异常判定子单元,用于判定结果并通过下述算法得出:sgn(wφ(xi))-ρ)。
本申请利用所述塔式沙箱组对样本进行检测,比仅依靠静态代码分析,或者依靠浏览器内核动态执行等检测手段检出率高,误报率小。同时,提出的审查机制和审查模块能够最大程度保证检出率,降低误报率,且可以大幅度提高检测效率,满足大流量下在线实时监控和检测的需要。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (8)
1.一种检测方法,其特征在于,包括:
获取第一待检测样本;
将所述第一待检测样本输入塔式沙箱组获取第一检测结果;其中,所述塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数;其中,
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;
所述第二检测模块,包括第二检测沙箱子模块;
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;
所述第二检测结果,包括恶意样本或待定样本;
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;
所述第三检测结果,包括异常样本或正常样本;
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;
所述第一检测结果,包括恶意样本或正常样本。
2.根据权利要求1所述的方法,其特征在于,所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量;
所述机器学习模型,包括:单分类支持向量机算法。
4.根据权利要求3所述的方法,其特征在于,所述第三检测结果,即异常样本和正常样本通过下述算法得出:
sgn((wφ(xi))-ρ)。
5.一种检测装置,其特征在于,包括:
获取样本模块,用于获取第一待检测样本;
取得结果模块,用于将所述第一待检测样本输入塔式沙箱组获取第一检测结果;其中,所述塔式沙箱组,包括N层第一检测模块及在最后一个所述第一检测模块后的第二检测模块,N为正整数;
其中,在所述取得结果模块中包括塔式沙箱组;
所述第一检测模块,包括第一检测沙箱子模块及与所述第一检测沙箱子模块相关联的第一审查子模块;
所述第二检测模块,包括第二检测沙箱子模块;
所述第一检测沙箱子模块,用于检测待检测样本或上层第一审查子模块输出的异常样本,并获取第二检测结果;
所述第二检测结果,包括恶意样本或待定样本;
所述第一审查子模块,用于审查所述待定样本并获取第三检测结果;
所述第三检测结果,包括异常样本或正常样本;
所述第二检测沙箱子模块,用于检测上层所述第一审查子模块输出的所述异常样本,并获取待检测样本的所述第一检测结果;
所述第一检测结果,包括恶意样本或正常样本。
6.根据权利要求5所述的装置,其特征在于,所述第一审查子模块,是机器学习模型,其中,每层所述机器学习模型包括多个特征向量;
所述机器学习模型,包括:
单分类支持向量机算法单元,用于单分类支持向量机算法。
8.根据权利要求7所述的装置,其特征在于,所述单分类支持向量机算法单元,还包括:
异常判定子单元,用于判定结果并通过下述算法得出:
sgn((wφ(xi))-ρ)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614491.3A CN109684845B (zh) | 2018-12-27 | 2018-12-27 | 一种检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614491.3A CN109684845B (zh) | 2018-12-27 | 2018-12-27 | 一种检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684845A CN109684845A (zh) | 2019-04-26 |
CN109684845B true CN109684845B (zh) | 2021-04-06 |
Family
ID=66190661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614491.3A Active CN109684845B (zh) | 2018-12-27 | 2018-12-27 | 一种检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684845B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
CN108376220A (zh) * | 2018-02-01 | 2018-08-07 | 东巽科技(北京)有限公司 | 一种基于深度学习的恶意样本程序分类方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930203B (zh) * | 2012-10-12 | 2015-08-26 | 浙江大学城市学院 | 一种轻量级JavaScript沙箱的实现方法 |
CN105320883B (zh) * | 2015-11-11 | 2018-05-15 | 北京奇虎科技有限公司 | 文件安全加载实现方法及装置 |
US10055579B2 (en) * | 2015-12-31 | 2018-08-21 | Cybereason, Inc. | System resources for sandboxing |
CN107979581B (zh) * | 2016-10-25 | 2020-10-27 | 华为技术有限公司 | 僵尸特征的检测方法和装置 |
CN108363919B (zh) * | 2017-10-19 | 2021-04-20 | 北京安天网络安全技术有限公司 | 一种病毒专杀工具生成方法及系统 |
-
2018
- 2018-12-27 CN CN201811614491.3A patent/CN109684845B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
CN108376220A (zh) * | 2018-02-01 | 2018-08-07 | 东巽科技(北京)有限公司 | 一种基于深度学习的恶意样本程序分类方法及系统 |
Non-Patent Citations (1)
Title |
---|
"一种基于主机特征的未知恶意程序动态识别系统";刘志永,王红凯,李高磊 等;《计算机与现代化》;20160331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109684845A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Skolka et al. | Anything to hide? studying minified and obfuscated code in the web | |
Shibahara et al. | Efficient dynamic malware analysis based on network behavior using deep learning | |
Nissim et al. | Detection of malicious PDF files and directions for enhancements: A state-of-the art survey | |
Kamtuo et al. | Machine Learning for SQL injection prevention on server-side scripting | |
Tien et al. | Machine learning framework to analyze iot malware using elf and opcode features | |
Wang et al. | Jsdc: A hybrid approach for javascript malware detection and classification | |
Van Overveldt et al. | FlashDetect: ActionScript 3 malware detection | |
Schlumberger et al. | Jarhead analysis and detection of malicious java applets | |
Mimura et al. | Filtering malicious javascript code with doc2vec on an imbalanced dataset | |
KR102362516B1 (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
Patil et al. | Detection of malicious javascript code in web pages | |
Zhang et al. | A php and jsp web shell detection system with text processing based on machine learning | |
Zhang et al. | Detecting malicious activities with user‐agent‐based profiles | |
Dib et al. | EVOLIoT: A self-supervised contrastive learning framework for detecting and characterizing evolving IoT malware variants | |
Tajiri et al. | Detection of malicious powershell using word-level language models | |
Si et al. | Malware detection using automated generation of yara rules on dynamic features | |
Cabrera-Arteaga et al. | WebAssembly diversification for malware evasion | |
Cosovan et al. | A practical guide for detecting the java script-based malware using hidden markov models and linear classifiers | |
Qi et al. | An end-to-end detection method for webshell with deep learning | |
US20240054210A1 (en) | Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
Khan et al. | A dynamic method of detecting malicious scripts using classifiers | |
CN109684845B (zh) | 一种检测方法和装置 | |
Kong et al. | Semantic aware attribution analysis of remote exploits | |
CN113761533A (zh) | Webshell检测方法及系统 | |
Takata et al. | Fine-grained analysis of compromised websites with redirection graphs and javascript traces |
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 |