首页 / 专利库 / 人工智能 / 置信度 / 基于统计特征的网页恶意脚本检测方法

基于统计特征的网页恶意脚本检测方法

阅读:180发布:2024-01-17

专利汇可以提供基于统计特征的网页恶意脚本检测方法专利检索,专利查询,专利分析的服务。并且本 发明 属于计算机安全领域,主要利用恶意脚本中的统计特征快速、准确地检测网页中是否含有恶意脚本。本发明的基本原理是利用恶意网页代码必定经过处理,而处理后的网页中的正常字符和非正常字符的比例有着明显的差异,所以利用网页的字符统计特征(包括字符 频率 统计、相邻字符跨度值统计、与字典匹配度统计)来检测恶意脚本。本发明用于检测网页中的恶意脚本,从而实现对网络中的有害网页进行快速检测,并预先阻拦恶意脚本的运行,为上网用户提供安全的网络环境。,下面是基于统计特征的网页恶意脚本检测方法专利的具体信息内容。

1.一种基于统计特征的网页恶意脚本检测方法,其特征在于:利用恶意脚本中的统计 特征快速、准确地检测网页中是否含有恶意脚本,从而实现对网络中的有害网页进 行快速检测,并预先阻拦恶意脚本的运行,为上网用户提供安全的网络环境。其处 理的具体方法是:
a.清除网页中的干扰语句以便于统计;
b.统计网页中的非正常字符的出现概率;
c.对相邻字符间的跨度进行统计;
d.创建脚本字典并统计网页与脚本字典的匹配结果;
e.为以上三种统计方法设置单个方法的权重;
f.得出待检测网页是否含有恶意脚本的总置信度
g.置信度之和等于或超出5时,就可以确定该网页为含有恶意脚本的网页。
2.如权利要求1所述的一种统计特征的网页恶意脚本检测方法,其特征在于:包括清 除网页中的00码,清除网页中的注释语句,清除网页中多余的空格和横向跳格 (Tab)以及多余的回车和换行。
3.如权利要求1所述的一种基于统计特征的网页恶意脚本检测方法,其特征在于:统 计网页中的非正常字符的出现概率中,第一步需要获取网页中的javascript脚本 文件;第二步是对网页中的非正常字符进行统计;根据对大量网页的分析,总结出 的异常字符大致有:%(%所占比例会占到脚本文件的20%左右,该比例适用于 Unescape加密)、#、$、%、&、*、+、,、(、)、^、~(适用于encode加密, 所占比例为10%左右);对统计结果进行分析,当异常字符所占比例大于特定比 例(例如%所占比例大于20%,即可判断该脚本经过Unescape加密),就可以判定 该脚本经过加密处理,可能为恶意脚本。
4.如权利要求1所述的一种基于统计特征的网页恶意脚本检测方法,其特征在于:对 相邻字符间的跨度进行统计,所谓字符间跨度是指相邻字符的ASCII值之差的绝对 值与字符权重的乘积,第一步需要设定符合语法词法习惯的正常字符跨度为26; 第二步需要判断网页中是否包含脚本文件;如果网页中包含脚本文件的话,就需要 对脚本进行提取,并对脚本进行统计;如果不包含脚本文件的话,则需要对整个网 页内容进行统计;第三步为不同的字符设置不同的权重,将英文字母的权重设为1, 非英文字母的权重设为2;第四步开始对字符间跨度进行统计,在得到每两个字符 间的跨度之后,就可以统计出字符间的平均跨度;第五步将求出的字符间平均跨度 与所设定的正常字符间跨度26相比较,若超出了正常跨度,就可以判断该网页经 过加密处理,可能为恶意脚本。
5.如权利要求1所述的一种基于统计特征的网页恶意脚本检测方法,其特征在于:创 建脚本字典并统计网页与脚本字典的匹配结果通过收集大量正常script脚本创建字 典,再与新的网页进行匹配统计;脚本字典匹配方法是通过收集大量正常javasript 脚本,然后对这些正常脚本进行分析,将正常脚本中所使用到的单词放入脚本字典 中;脚本字典创建完成后,如需要检测某一未知网页时,只需要将该网页脚本的单 词与脚本字典对照匹配即可,如果与脚本字典中所收集的单词不相符的词语的出现 比例达到或超过10%,则可以判断所检测的网页可能为恶意脚本加密网页。
6.如权利要求1所述的一种基于统计特征的网页恶意脚本检测方法,其特征在于:为 权利要求1中的b,c,d三种方法设置权重并得出待检测网页是否含有恶意脚本的 总置信度,将统计网页中的非正常字符的权重设为3,统计字符间跨度的权重设为 5,匹配脚本字典的权重设为2;首先设定置信度5为判断网页为正常网页或恶意 网页的临界值;若统计非正常字符的结果判断网页可能为恶意网页,则置信度为3, 统计字符间跨度判断网页可能为恶意网页的置信度为5,匹配脚本字典判断网页可 能为恶意网页的置信度为2,只有当这个置信度之和等于或超出5时,即总置信度 超出或等于5时,就可以确定该网页为恶意网页。

说明书全文

所属技术领域

发明专利属于计算机安全领域,主要利用恶意脚本中的统计特征快速、准确地检测网 页中是否含有恶意脚本,从而实现对网络中的有害网页进行快速检测,并预先阻拦恶意脚本 的运行,为上网用户提供安全的网络环境。

背景技术

计算机病毒、木、间谍软件和恶意代码是近几年来计算机网络最主要的安全威胁。在 计算机病毒、木马、间谍软件和恶意代码的传播途径中除垃圾邮件外,还有一条重要的途径 就是利用构造特殊的网页将病毒、木马传播到访问该网页的用户计算机中。这种网页主要利 用操作系统、浏览器、插件等的各种漏洞将可执行代码传播到用户计算机上进行执行,或利 用系统中的解析器、控件的执行权限将网页中的恶意代码运行。由于这些特殊网页的配置和 编码较为复杂,并且为了能够躲避杀毒软件查杀,大多由人工配置并且采用第三方软件进行 加密变形处理,因而成为黑客用来传播木马程序最为有效的方法。
网页木马即利用网页代码来传播的木马,本质在于网页,而非木马本身。这些特殊网页 通常是将木马程序的执行代码编码成为网页的组成部分,并配合特殊网页代码来激活木马程 序执行,因此在黑客群体和杀毒软件公司、网络安全防御单位将其称为网页木马。
2004年6月末,杀毒软件公司从病毒的发作数量、危害程度综合考虑,总结并发布了2004 年十大病毒及病毒发展趋势报告。报告结果显示间谍软件、QQ木马和网络游戏木马等网页木 马成为热点。虽然木马类病毒在传播数量上还不及网络蠕虫,但其越来越明显的盗窃特性, 会给受害用户造成更大更直接的损失。
2005年8月3日中国专业反病毒厂商之一日月光华软件公司官方网站(中国杀毒网 http://www.viruschina.com/)遭到黑客袭击,网站被篡改,并携带病毒,经过反病毒厂商 测试该网站共有三个病毒:Exploit.HTML.mht.bb、Backdoor.PcShare.5.r和 trojan.PSW.LMIR.U,网民浏览后电脑可能被植入木马,而被黑客控制。这些病毒和木马程 序的传播靠的就是网页木马。
在对网页木马的检测中杀毒软件公司积累了大量的经验和特征码,然而系统漏洞、浏览 器漏洞和第三方插件的漏洞层出不穷,而且入侵者也在不断地对网页木马进行更新升级,并 且采用加密和插入干扰字符的方法来躲避检测。用户要躲避网页木马的攻击,必须不断的安 装补丁程序或者升级系统。但是每年每月甚至每一天都会有新的漏洞出现,就在2005年7月, 国际报道美国微软称:黑客正在疯狂地试图利用Windows中的两处严重安全缺陷。其中的一 个缺陷影响″色彩管理模″—处理颜色的一个Windows组件;另一个缺陷与微软″Java虚拟机 ″的JView Profiler部分有关。微软称,该缺陷可以被用于控制用户的个人电脑。在对漏洞信 息的获取上用户和黑客是不对等的,黑客会最先知道和利用漏洞,而用户不可能得到及时升 级,这些用户的计算机将长期受到黑客的控制。因此切断网络木马的传播途径是防范木马最 有效的方法,网页木马检测最主要的是要能检测出隐藏在网页代码中的漏洞利用代码。随着 新的漏洞的出现就会有新的网页木马产生,所以检测、查杀网页木马将是个长期、艰巨的任 务。
传统的杀毒技术对病毒、木马和恶意网页的检测主要靠特征码匹配检测的方法,这种方 法对特征固定不变传播的病毒程序十分有效但对经过加密、插入干扰处理的网页脚本则没有 效果,对于新出的漏洞利用网页脚本和新出的病毒、木马程序的检测就更是无能为。本发 明针对网页木马的构造原理和本质特征来进行检测,能有效地检测网页木马。

发明内容

本发明的目的是查找出隐藏的恶意网页代码、净化网络环境、保护网络用户而提出的一 种统计特征的网页恶意脚本的检测方法,从而可快速判断恶意脚本的存在,对其进行预先阻 拦。
本发明的基本原理是利用恶意网页代码必定经过加密处理,而加密处理后的网页中的正 常字符和非正常字符的比例有着明显的差异,所以利用网页的字符统计特征来检测恶意脚本。 本发明提出的基于统计特征的网页恶意脚本检测方法,包括以下几个步骤:
(1).清除网页中的干扰语句。第一步是清除网页中的00码。所谓00码是指ASCII值 为00的字符,在网页中加入00码并不影响网页的运行,但会影响对恶意脚本的检测,所以 在统计工作进行之前,需要将网页中的00码清除掉。第二步是清除网页中的注释语句。网页 中的注释语句是以′*/′开头以′*/′结尾,或以′//′开头的语句,它是对网页中某段代码的说明,在 网页运行时不起任何作用,但会影响对非正常字符的统计,所以需要将网页中的注释语句清 除掉。第三步是清除网页中多余的空格和横向跳格(Tab)以及多余的回车和换行。
(2).统计网页中的非正常字符。未经过加密处理的正常网页中的字符除了正常的断句 的标点符号以及空格外,多数字符都是英文字母,而经过加密处理的恶意脚本中的字符多为 一些难以识别的乱码,因此,可以通过统计网页中的非正常字符来判断网页中是否有恶意脚 本。第一步需要获取网页中的javascript脚本文件。第二步是对网页中的非正常字符进行统 计。根据对大量网页的分析,总结出的异常字符大致有:%(%所占比例会占到脚本文件的 20%左右,该比例适用于Unescape加密。)、#、$、%、&、*、+、,、(、)、^、~(适 用于encode加密,所占比例为10%左右。)。对统计结果进行分析,当异常字符所占比例大 于特定比例(例如%所占比例大于20%,即可判断该脚本经过Unescape加密),就可以判定 该脚本经过加密处理,可能为恶意脚本。
(3).统计字符间跨度。所谓字符间跨度是指相邻字符的ASCII值之差的绝对值与字符 权重的乘积。未经过加密处理的正常网页内容是可以理解的有正常语法、词法的语言,而经 过加密处理后的恶意网页却是无法正常理解的语言,因此可以对字符间的跨度进行统计,该 方法正是利用了正常语法、词法的特点对网页内容进行分析。第一步需要设定符合语法词法 习惯的正常字符跨度。第二步需要判断网页中是否包含脚本文件。如果网页中包含脚本文件 的话,就需要对脚本进行提取,并对脚本进行统计;如果不包含脚本文件的话,则需要对整 个网页内容进行统计。第三步为不同的字符设置不同的权重。将英文字母的权重设为1,非 英文字母的权重设为2。第四步开始对字符间跨度进行统计。在得到每两个字符间的跨度之 后,就可以统计出字符间的平均跨度。第五步将求出的字符间平均跨度与所设定的正常字符 间跨度26相比较,若超出了正常跨度,就可以判断该网页经过加密处理,可能为恶意脚本。
(4).创建脚本字典并匹配网页,通过收集大量正常script脚本创建字典,再与新的网 页进行匹配统计。
(5).设置单个方法权重,将统计网页中的非正常字符的权重设为3,统计字符间跨度 的权重设为5,匹配脚本字典的权重设为2。
(6).得出是否为恶意网页的总置信度。首先设定置信度5为判断网页为正常网页或恶 意网页的临界值。若统计非正常字符的结果判断网页可能为恶意网页,则置信度为3,统计 字符间跨度判断网页可能为恶意网页的置信度为5,匹配脚本字典判断网页可能为恶意网页 的置信度为2,只有当这个置信度之和等于或超出5时,即总置信度超出或等于5时,就可 以确定该网页为恶意网页。
本发明提出的利用网页的字符统计特征来检测恶意脚本的方法,具有以下优点:
(1)本发明提出的基于统计特征的网页恶意脚本检测方法,可以检测出杀毒软件不能 检测出的经过加密处理的恶意脚本。
(2)本发明提出的基于统计特征的网页恶意脚本检测方法,具有简单、易行的特点, 非常适合用于网络安全机构对网络服务器上的网页木马进行检测。
附图说明
图1是基于统计特征的网页恶意脚本检测方法的总体流程图
图2是清除网页中的干扰语句流程图。
图3是获取脚本流程图。
图4是统计非正常字符流程图。
图5是字符跨度统计流程图。
图6是创建脚本字典及匹配流程图。

具体实施方式

本发明提出的基于统计特征的网页恶意脚本检测方法,其总体流程如图1所示。首先需要 清除网页中的干扰语句。第一步是清除网页中的00码。所谓00码是指ASCII值为00的字符,在 网页中加入00码并不影响网页的运行,但会影响对恶意脚本的检测,所以在统计工作进行之 前,需要将网页中的00码清除掉。第二步是清除网页中的注释语句。网页中的注释语句是以 ’*/’开头以’*/’结尾,或以’//’开头的语句,它是对网页中某段代码的说明,在网页运行时 不起任何作用,但会影响对非正常字符的统计,所以需要将网页中的注释语句清除掉。第三 步是清除网页中多余的空格和横向跳格(Tab)以及多余的回车和换行。清除网页中的干扰语 句的流程如图2所示。
在清除掉网页中的干扰语句后就可以对网页中的非正常字符进行统计了。未经过加密处 理的正常网页中的字符除了正常的断句的标点符号以及空格外,多数字符都是英文字母,而 经过加密处理的恶意脚本中的字符多为一些难以识别的乱码,因此,可以通过统计网页中的 非正常字符来判断网页中是否有恶意脚本。第一步需要获取网页中的javascript脚本文件。 为什么要取得网页中的脚本文件呢?这是因为网页加密方法绝大多数是作用于网页中的脚本 文件的,所以要将网页中的脚本截取出来进行处理。先在网页中找到script开始标志 ″″,然后取得script开始标志和结束标志之间的 内容,即javascript脚本内容。取得网页中的javascript脚本文件的流程如图3所示。第二步 是对网页中的非正常字符进行统计。根据对大量网页的分析,总结出的异常字符大致有:% (%所占比例会占到脚本文件的20%左右,该比例适用于Unescape加密。)、#、$、%、&、 *、+、,、(、)、^、~(适用于encode加密,所占比例为10%左右。)。对统计结果进行 分析,当异常字符所占比例大于特定比例(例如%所占比例大于20%,即可判断该脚本经过 Unescape加密),就可以判定该脚本经过加密处理,可能为恶意脚本。对网页中的非正常字符 进行统计的流程如图4所示。
对网页中的字符间跨度进行统计。。所谓字符间跨度是指相邻字符的ASCII值之差的绝对 值与字符权重的乘积。未经过加密处理的正常网页内容是可以理解的有正常语法、词法的语 言,而经过加密处理后的恶意网页却是无法正常理解的语言,因此可以对字符间的跨度进行 统计,该方法正是利用了正常语法、词法的特点对网页内容进行分析。第一步需要设定符合 语法词法习惯的正常字符跨度。根据对正常未加密网页的分析,首先正常字符的ASCII值是在 65-90以及97-122之间,因此正常字符间的跨度应该设为26。在确定了正常字符间跨度之后, 第二步需要判断网页中是否包含脚本文件。如果网页中包含脚本文件的话,就需要对脚本进 行提取,并对脚本进行统计;如果不包含脚本文件的话,则需要对整个网页内容进行统计。 第三步为不同的字符设置不同的权重。将英文字母的权重设为1,非英文字母的权重设为2。 第四步开始对字符间跨度进行统计。首先得到所统计网页或脚本的字符总数。然后判断每个 字符是否为英文字母,并求出字符间的ASCII差值,如果相邻两字符中至少有一个为非英文字 母,则这两个字符间的跨度为字符间ASCII差值乘以非英文字母的权重2;如果相邻两字符均 为英文字母,则这两个字符间的跨度为字符间ASCII差值乘以英文字母的权重1。在得到每两 个字符间的跨度之后,就可以统计出字符间的平均跨度,即相邻两字符间跨度之和与总字符 数相除。第五步将求出的字符间平均跨度与所设定的正常字符间跨度26相比较,若超出了正 常跨度,就可以判断该网页经过加密处理,可能为恶意脚本。对字符间跨度进行统计的流程 如图5所示。
创建脚本字典并匹配网页。通过收集大量正常script脚本创建字典,再与新的网页进行 匹配统计。脚本字典匹配方法是通过收集大量正常javascript脚本,然后对这些正常脚本进 行分析,将正常脚本中所使用到的单词放入脚本字典中。脚本字典创建完成后,如需要检测 某一未知网页时,只需要将该网页脚本的单词与脚本字典对照匹配即可,如果与脚本字典中 所收集的单词不相符的词语的出现比例达到或超过10%,则可以判断所检测的网页可能为恶 意脚本加密网页。创建脚本字典及匹配流程如图6所示。
接下来需要对以上三种方法设置单个方法的权重。因为在统计网页中的非正常字符、统 计字符间跨度以及匹配脚本字典这三中方法中,每种方法对恶意脚本的检测成功率有所不同, 因此需要为这三种方法设置权重。将统计网页中的非正常字符的权重设为3,统计字符间跨度 的权重设为5,匹配脚本字典的权重设为2。
最后就可以得出被检测网页是否为恶意网页的总置信度。首先设定置信度5为判断网页为 正常网页或恶意网页的临界值。若统计非正常字符的结果判断网页可能为恶意网页,则置信 度为3,统计字符间跨度判断网页可能为恶意网页的置信度为5,匹配脚本字典判断网页可能 为恶意网页的置信度为2,只有当这个置信度之和等于或超出5时,即总置信度超出或等于5 时,就可以确定该网页为恶意网页。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈