一种网页挂马检测方法及系统技术方案

技术编号:8387269 阅读:146 留言:0更新日期:2013-03-07 07:56
本发明专利技术适用于计算机安全技术领域,提供了一种网页挂马检测方法及系统,所述方法包括下述步骤:A、获取网页内容;B、对所获取的网页内容进行解析,提取脚本对象;C、构造对象执行引擎来模拟执行所述脚本对象的对象内容;D、监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。本发明专利技术可有效提高网页挂马检测的效率,降低网页挂马检测的漏检率和误检率。

【技术实现步骤摘要】

本专利技术属于计算机安全
,尤其涉及一种网页挂马检测方法及系统
技术介绍
网页挂马是指攻击者利用诸如第三方控件或者浏览器等漏洞篡改网页,在网页上部署能够触发漏洞的危险数据。当用户使用浏览器浏览被挂马的网页时,如果系统中存在相应的漏洞,网页中包含的危险数据就会在用户系统下载和安装恶意软件,获取用户系统的控制权,窃取用户信息等,将严重威胁到用户系统的安全,因此对于网页挂马的检测显得十分必要。现有的网页挂马检测方法主要采用的是构建一个庞大的挂马网页特征数据库,通过对待检测网页进行逐个特征匹配来判断该网页是否为挂马网页。然而,由于网页脚本变形容易、加密方式又多种多样,通过特征匹配的方式进行网页挂马检测效率较低,而且漏检率和误检率较高。
技术实现思路
本专利技术实施例的目的在于提供一种网页挂马检测方法,旨在解决现有网页挂马检测效率较低,漏检率和误检率较高的问题。本专利技术实施例是这样实现的,一种网页挂马检测方法,所述方法包括以下步骤A、获取网页内容;B、对所获取的网页内容进行解析,提取脚本对象;C、构造对象执行引擎来模拟执行所述脚本对象的对象内容;D、监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。本专利技术实施例的另一目的在于提供一种网页挂马检测系统,所述系统包括第一获取单元,用于获取网页内容;信息提取单元,用于对所获取的网页内容进行解析,提取脚本对象;执行单元,用于构造对象执行弓I擎来模拟执行所述脚本对象的对象内容;确定单元,用于监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。从上述技术方案可以看出,本专利技术实施例不需要提供庞大的挂马网页特征数据库就可以进行挂马网页的检测,从而可避免大量的特征匹配,提高了网页挂马检测的效率。而且,通过构造多个对象执行引擎来动态模拟执行脚本对象的对象内容,在模拟执行的过程中出现异常行为时,就可以确定该网页为挂马网页,有效减低了挂马网页的漏检率和误检率。附图说明图I是本专利技术实施例一提供的网页挂马检测方法的实现流程图;图2是本专利技术实施例二提供的网页挂马检测方法的实现流程图;图3是本专利技术实施例三提供的网页挂马检测系统的组成结构图;图4是本专利技术实施例四提供的网页挂马检测系统的组成结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并 不用于限定本专利技术。本专利技术实施例通过获取网页内容,对所获取的网页内容进行解析,提取脚本对象,构造对象执行引擎来模拟执行所述脚本对象的对象内容,监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。本专利技术实施例不需要提供庞大的挂马网页特征数据库就可以进行挂马网页的检测,从而可避免大量的特征匹配,提高网页挂马检测的效率。而且,通过构造多个对象执行引擎来动态模拟执行脚本对象的对象内容,在模拟执行的过程中出现异常行为时,就可以确定该网页为挂马网页,有效减低了挂马网页的漏检率和误检率。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图I是本专利技术实施例一提供的网页挂马检测方法的实现流程,该方法过程详述如下在步骤SlOl中,获取网页内容。在本实施例中,可通过现有的网页爬虫获取网页内容。同时,为了提高网页内容获取的效率,在获取网页内容时,预先设置过滤条件,过滤网页内容中的非法数据类型和超过预定大小的文件。在步骤S102中,对所获取的网页内容进行解析,提取脚本对象。在本实施例中,通过现有的网页解析器对获取的网页内容进行解析,提取标签、文本以及脚本对象等信息。网页内容包括多个脚本对象,如table、title等。而危险数据通常出现在特定的脚本对象中,例如iframe、引用javascript脚本的URL地址、Active控件(object对象)以及javascript代码(script对象)等。作为本专利技术的一个优选实施例,提供了一个可能包含危险数据的脚本对象的对象特征的对象特征库,根据该对象特征库对获取的网页内容进行特征匹配,以提取可能包含危险数据的脚本对象。在步骤S103中,构造对象执行引擎来模拟执行所述脚本对象的对象内容。 在本实施例中,所述构造对象执行引擎是一个脚本执行的虚拟机,该虚拟机内定义了一些能够被挂马网页利用的脚本对象和方法,例如javascript对象、iframe对象等。其中,所述所述对象内容包括但不局限于javascript脚本、Active控件等,所述对象执行引擎包括但不局限于javascript脚本解释引擎、Active控件执行引擎等。优选的是,构造对象执行引擎来模拟执行所述脚本对象的对象内容包括a)初始化浏览器对象为了正确的模拟浏览器执行脚本的过程,需要定义基本的浏览器对象,如window,document, navigator, location, . . . javascript 初始化脚本。权利要求1.一种网页挂马检测方法,其特征在于,所述方法包括以下步骤 A、获取网页内容; B、对所获取的网页内容进行解析,提取脚本对象; C、构造对象执行弓I擎来模拟执行所述脚本对象的对象内容; D、监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。2.如权利要求I所述的方法,其特征在于,所述步骤B还包括 根据可能包含危险数据的脚本对象的对象特征对所获取的网页内容进行特征匹配,提取可能包含危险数据的脚本对象。3.如权利要求I所述的方法,其特征在于,所述对象内容包括javascript脚本、Active控件,所述对象执行引擎包括javascript脚本解释引擎、Active控件执行引擎,所述异常行为包括所述javascript脚本在执行时分配的内存是否超过预设阈值或者覆盖了特定地址、或者所述控件在执行时调用危险接口。4.如权利要求I所述的方法,其特征在于,所述方法还包括 获取所述脚本对象相关联的URL链接,通过递归执行权利要求I所述的方法来检测所述URL链接所述指向的网页内容是否包含危险数据。5.如权利要求I所述的方法,其特征在于,所述步骤C之后还包括 通过所述对象执行引擎枚举网页文本内容中的所有属性,并检测所述属性是否具有shellcode 特征。6.一种网页挂马检测系统,其特征在于,所述系统包括 第一获取单元,用于获取网页内容; 信息提取单元,用于对所获取的网页内容进行解析,提取脚本对象; 执行单元,用于构造对象执行弓I擎来模拟执行所述脚本对象的对象内容; 确定单元,用于监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。7.如权利要求6所述的系统,其特征在于,所述信息提取单元还包括 信息提取模块,用于根据可能包含危险数据的脚本对象的对象特征对所获取的网页内容进行特征匹配,提取可能包含危险数据的脚本对象。8.如权利要求5所述的系统,其特征在于,所述对象内容包括javascript脚本、Active控件,所述对象执行引擎包括javascript脚本解释引擎、Active控件执行引擎,所述异常行为包括所述javascript脚本在执行时分配的内存是否超过预设阈值或者覆盖了本文档来自技高网...

【技术保护点】
一种网页挂马检测方法,其特征在于,所述方法包括以下步骤:A、获取网页内容;B、对所获取的网页内容进行解析,提取脚本对象;C、构造对象执行引擎来模拟执行所述脚本对象的对象内容;D、监控所述对象内容的模拟执行,当出现异常行为时,确定所述对象内容包含危险数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘松
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1