[发明专利]检测脚本病毒的方法和装置在审
申请号: | 201410361072.9 | 申请日: | 2014-07-25 |
公开(公告)号: | CN104134019A | 公开(公告)日: | 2014-11-05 |
发明(设计)人: | 陈卓;唐海;杨康;邢超 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00;G06F9/46 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙) 11391 | 代理人: | 康正德;薛峰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 检测 脚本 病毒 方法 装置 | ||
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种检测脚本病毒的方法和装置。
背景技术
脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。脚本程序在执行时,是由系统的一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。
脚本通常可以由应用程序临时调用并执行。各类脚本被广泛地应用于网页设计等计算机应用程序中,可以减小程序的规模和提高程序运行速度。由于脚本的特点和使用广泛性,也成为一些人进行恶意攻击的手段,例如在脚本中加入一些破坏计算机系统的命令,这样当用户浏览网页时,一旦调用这类脚本,便会使用户的系统受到攻击,例如VBS脚本病毒、JS脚本病毒等都影响了大量计算机的安全。
因此,现有技术中也出现了针对脚本病毒的检测方法,主要包括静态特征匹配和动态检测,其中静态特征匹配是对脚本语句利用现有的恶意特征库进行特征匹配,而动态查杀是在沙箱等安全环境下对脚本的运行结果进行检测。然而随着恶意脚本的制作技术的提高,也出现了针对以上两种检测方法规避的设计,例如对脚本语句进行拆分和冗余设计使之与恶意特征库中特征不匹配,或者设置脚本的执行条件避开沙箱的动态运行。
因此现有技术中的脚本检测技术的检测结构有可能不准确,导致安全隐患。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的检测脚本病毒的装置和相应的检测脚本病毒的方法。
本发明一个进一步的目的是要提高脚本的检测准确程度。
依据本发明的一个方面,提供了一种基于检测脚本病毒的方法。该检测脚本病毒的方法,包括:使用预置的编译器对待检测脚本进行编译;在编译过程中对待检测脚本进行精简处理;调用预先设置的至少一个杀毒引擎对精简后的脚本进行扫描,得到脚本病毒检测结果。
可选地,在编译过程中对待检测脚本进行精简处理包括:清除待检测脚本的代码中包含的冗余变量;清除待检测脚本的代码中包含的冗余函数。
可选地,清除待检测脚本的代码中包含的冗余变量包括:扫描待检测脚本的代码中的变量;确定变量的赋值代码中包含常量运算,并执行常量运算;使用常量运算后的结果重新赋值变量。
可选地,清除待检测脚本的代码中包含的冗余函数包括:扫描待检测脚本的代码中的函数,确定待检测脚本中的函数调用关系;根据函数调用关系,确定出冗余函数并清除。
可选地,杀毒引擎为多个,调用预先设置的至少一个杀毒引擎对精简后的脚本进行扫描包括:调用多个杀毒引擎分别从精简后的脚本中提取出数据特征并对数据特征进行恶意特征识别。
可选地,对数据特征进行恶意特征识别包括:将数据特征中的静态特征与提取该特征的杀毒引擎的静态特征库中的已知静态特征进行匹配;和/或将数据特征中的动态行为特征与杀毒引擎的动态行为特征库中的已知动态行为特征进行匹配。
可选地,静态特征至少包括以下中的任意一种或多种:二进制文件、函数结构、字符串、数值、数组、函数、统一资源定位符。
可选地,动态行为特征至少包括以下中的任意一种或多种:虚拟行为启动时的行为特征、网络行为特征、沙箱中运行时的行为特征、系统请求权限。
根据本发明的另一个方面,还提供了一种检测脚本病毒的装置。该检测脚本病毒的装置包括:编译模块,配置为使用预置的编译器对待检测脚本进行编译,并在编译过程中对待检测脚本进行精简处理;病毒检测模块,配置为调用预先设置的至少一个杀毒引擎对精简后的脚本进行扫描,得到脚本病毒检测结果。
可选地,编译模块包括:变量处理子模块,配置为清除待检测脚本的代码中包含的冗余变量;函数处理子模块,配置为清除待检测脚本的代码中包含的冗余函数。
可选地,变量处理子模块还被配置为:扫描待检测脚本的代码中的变量;确定变量的赋值代码中包含常量运算,并执行常量运算;使用常量运算后的结果重新赋值变量。
可选地,函数处理子模块还被配置为:扫描待检测脚本的代码中的函数,确定待检测脚本中的函数调用关系;根据函数调用关系,确定出冗余函数并清除。
可选地,病毒检测模块使用的杀毒引擎为多个,病毒检测模块包括:特征提取子模块,配置为调用多个杀毒引擎分别从精简后的脚本中提取出数据特征;特征识别子模块,配置为调用多个杀毒引擎分别对数据特征进行恶意特征识别。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410361072.9/2.html,转载请声明来源钻瓜专利网。