本发明涉及网络安全技术领域,尤其涉及一种网页异常脚本检测方法及系统。
背景技术:目前,网络应用越来越丰富,网页的使用和视觉效果离不开网页中内嵌的脚本。然而,普通用户上网所使用的浏览器,由于各种原因,可能存在这样或者那样的漏洞。黑客常常通过在网页中内嵌恶意脚本利用这些漏洞,触发恶意脚本的执行,达到传播恶意代码的目的,谋取非法利益。恶意脚本编写者为了逃避反病毒软件的检测,利用脚本解释器的特点,对代码进行不同的编码转换,加塞各种无效字符等操作,即通常所说的代码加花,经过这个处理之后,并不影响实际的执行效果。比如,在脚本的起始标志或者结束标志中,添加空格、回车、换行、tab等字符,让以<script>为开始标志,以</script>为结束标志的脚本提取方法失效,这在一定程度上影响脚本病毒的检出率。
技术实现要素:针对上述技术问题,本发明提供了一种网页异常脚本检测方法及系统,本方法认为检测出异常编码的网页脚本是异常脚本,所以其解决了脚本提取方法失效,从而影响病毒检出率的问题。本发明采用如下方法来实现:一种网页异常脚本检测方法,包括:获取网络数据包,对网络数据包进行协议解码,提取出网页内容;其中,获取网络数据包的方法可以为:pcap捕包、零拷贝捕包或者专用网卡捕包;所述对网络数据包进行协议解码,提取出网页内容可以为:根据TCP协议的端口信息或者传输层负载的起始内容是否为HTTP的起始关键词(如:get、post、http等)来识别HTTP协议,并对HTTP连接的服务器应答内容进行协议解码,提取出网页内容。扫描所述网页内容,找出网页脚本的起始标志和结束标志,并判断所述起始标志和/或结束标志是否异常,若是,则所述网页脚本是异常脚本,否则提取网页脚本内容,并对网页脚本内容进行解码,对比解码前后的网页脚本的相似性,若相似度低于设定值,则所述网页脚本是异常脚本,否则所述网页脚本不是异常脚本。其中,所述扫描所述网页内容,找出网页脚本的起始标志和结束标志的方法为:在html网页中内嵌脚本的起始标志和结束标志分别为<script和</script>,在实际的网页代码中,浏览器的兼容性可以允许出现一些变形,比如中间夹杂空格等字符,使用有限自动机的搜索,忽略无效字符,还原变形后数据;其中,所述提取网页脚本内容包括:如果脚本的内容在多个包中,则需要缓存这些包,按顺序重组后,提取脚本内容其中,所述起始标志和/或结束标志异常包括:标志中夹杂大量的多余字符或者大小写混杂。其中,所述对网页脚本内容进行解码可以利用脚本解释器或者脚本解码模拟器来完成解码工作。例如,脚本使用了转义符来转变,使用%XX编码来转变ASCII码字符,使用%uXXXX编码来转变中文字符,或者使用URI等编码来转化字符,脚本解码模拟器就是执行反向编码转化。方法中,将判断为异常的起始标志和/或结束标志作为特征字符串加入病毒库。方法中,将判断为异常脚本的网页脚本内容中的异常编码作为特征字符串加入病毒库。上述方法中,将病毒库与待检测网页内容进行匹配,若匹配成功,则存在异常脚本,否则不存在异常脚本。对于已知的恶意脚本样本可以提取其异常的起始标志和/或结束标志,或者脚本内容中的异常编码作为特征字符串加入病毒库,用于检测新提取的网页内容是否存在异常脚本。本发明所述方法可以用在网页中内嵌脚本文件或者独立脚本文件的检测。一种网页异常脚本检测系统,包括:提取模块,用于获取网络数据包,对网络数据包进行协议解码,提取出网页内容;判定模块,用于扫描所述网页内容,找出网页脚本的起始标志和结束标志,并判断所述起始标志和/或结束标志是否异常,若是,则所述网页脚本是异常脚本,否则提取网页脚本内容,并对网页脚本内容进行解码,对比解码前后的网页脚本的相似性,若相似度低于设定值,则所述网页脚本是异常脚本,否则所述脚本不是异常脚本。系统中,将判断为异常的起始标志和/或结束标志作为特征字符串加入病毒库。系统中,将判断为异常脚本的网页脚本内容中的异常编码作为特征字符串加入病毒库。系统中,将病毒库与待检测网页内容进行匹配,若匹配成功,则存在异常脚本,否则不存在异常脚本。综上所述,本发明提供了一种网页异常脚本检测方法及系统,通过检测网业脚本的起始标志和/或结束标志是否存在异常,若是则所述网页脚本为异常脚本,否则解码网页脚本内容,判断解码前后网页脚本内容的相似性,若相似度低,则所述网页脚本为异常脚本。从而避免了由于恶意代码编写者修改了脚本的起始标志和/或结束标志,从而传统的提取脚本的方法失效,提高了异常脚本的检出率。附图说明为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种网页异常脚本检测方法流程图;图2为本发明提供的一种网页异常脚本检测系统结构图。具体实施方式本发明给出了一种网页异常脚本检测方法及系统,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明:本发明首先提供了一种网页异常脚本检测方法,如图1所示,包括:S101获取网络数据包,对网络数据包进行协议解码,提取出网页内容;S102扫描所述网页内容,找出网页脚本的起始标志和结束标志,并判断所述起始标志和/或结束标志是否异常,若是,则所述网页脚本是异常脚本,否则执行S103;S103提取网页脚本内容,并对网页脚本内容进行解码,对比解码前后的网页脚本的相似性,并判断相似度是否低于设定值,若是,则所述网页脚本是异常脚本,否则所述网页脚本不是异常脚本。优选地,将判断为异常的起始标志和/或结束标志作为特征字符串加入病毒库。优选地,将判断为异常脚本的网页脚本内容中的异常编码作为特征字符串加入病毒库。更为优选地,将病毒库与待检测网页内容进行匹配,若匹配成功,则存在异常脚本,否则不存在异常脚本。本发明还提供了一种网页异常脚本检测系统,如图2所示,包括:提取模块201,用于获取网络数据包,对网络数据包进行协议解码,提取出网页内容;判定模块202,用于扫描所述网页内容,找出网页脚本的起始标志和结束标志,并判断所述起始标志和/或结束标志是否异常,若是,则所述网页脚本是异常脚本,否则提取网页脚本内容,并对网页脚本内容进行解码,对比解码前后的网页脚本的相似性,若相似度低于设定值,则所述网页脚本是异常脚本,否则所述脚本不是异常脚本。优选地,将判断为异常的起始标志和/或结束标志作为特征字符串加入病毒库。优选地,将判断为异常脚本的网页脚本内容中的异常编码作为特征字符串加入病毒库。更为优选地,将病毒库与待检测网页内容进行匹配,若匹配成功,则存在异常脚本,否则不存在异常脚本。如上所述,本发明给出了一种网页异常脚本检测方法及系统,其与传统方法的区别在于,传统方法通过提取网页脚本,然后针对提取的网页脚本进行是否恶意的检测;本方案检测是否存在异常的脚本起始标志和/或结束标志,若存在则认为所述网页脚本为异常脚本,解决了传统检测方法有时无法成功提取网页脚本的问题。以上实施例用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。