CN108304584A - 非法页面检测方法、装置、入侵检测系统及存储介质 - Google Patents
非法页面检测方法、装置、入侵检测系统及存储介质 Download PDFInfo
- Publication number
- CN108304584A CN108304584A CN201810182169.1A CN201810182169A CN108304584A CN 108304584 A CN108304584 A CN 108304584A CN 201810182169 A CN201810182169 A CN 201810182169A CN 108304584 A CN108304584 A CN 108304584A
- Authority
- CN
- China
- Prior art keywords
- page
- page data
- rule base
- data
- diversity factor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出一种非法页面检测方法、装置、入侵检测系统及计算机可读存储介质,其中非法页面检测方法包括:从网络流量中提取页面数据;将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;根据计算出的所述差异度确定所述页面数据是否为非法页面。本发明实施例从结构和内容两个维度确定非法页面,极大地提高了检出率并降低误报率;基于模糊相似度检测非法页面,能够更好地检测变种页面及未知页面,有助于有效地防止攻击行为,打击非法网站。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种非法页面检测方法、装置、入侵检测系统及计算机可读存储介质。
背景技术
随着互联网的飞速发展,网站的安全风险问题日益严峻,一些不法分子利用钓鱼网站、Webshell等窃取私人资料或攻击服务器。例如黑客通过攻击Web服务器上传Webshell大马后,进而进行挂马、拖库等恶意操作,严重危害网站和用户的数据安全。如何在亿级流量中发现少量的非法页面流量是目前需要解决的问题。
在现有技术中,检测非法页面的方法主要有:(1)主机层面,即软件部署在服务器上,能够扫描Web目录下的文件或者hook住脚本执行函数;(2)流量层面,通过非法页面执行过程产生的数据(如执行命令、列目录、上传等操作)进行特征匹配;(3)日志层面,通过异常文件名、异常访问频率等进行检测。其中,现有流量层面方法的主要问题在于:(1)容易产生误报,如访问的是有关命令执行的技术文档等就会导致误报;(2)容易绕过,通过特征匹配的方式很容易被攻击者绕过,如执行命令返回base64加密的响应,更换或者隐藏敏感函数等,其中,base64加密是指在响应体中添加一些字符串,使base编码之后的数据变为乱码而无法识别,无法进行通常的正则匹配,从而绕过常规的检测;(3)检测能力弱,若非法页面没有执行上述易被检测的行为就很难被检测出。
发明内容
本发明实施例提供一种非法页面检测方法、装置、入侵检测系统及计算机可读存储介质,以至少解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种非法页面检测方法,包括:从网络流量中提取页面数据;将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;根据计算出的所述差异度确定所述页面数据是否为非法页面。
结合第一方面,本发明在第一方面的第一种实施方式中,在从网络流量中提取页面数据之后,还包括过滤提取出的所述页面数据;将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。
结合第一方面的第一种实施方式,本发明在第一方面的第二种实施方式中,所述页面数据包括响应页面的页面数据,所述响应页面的页面数据包括:响应状态、响应类型、响应长度和/或响应内容;所述过滤提取出的所述页面数据包括:根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据。
结合第一方面的二种实施方式,本发明在第一方面的第三种实施方式中,根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据,包括:选取响应状态为正常的所述页面数据;和/或,选取响应长度大于预设长度阈值的所述页面数据;和/或,过滤掉响应内容为空和/或响应内容重复的所述页面数据;和/或,在所述页面数据为html页面数据的情况下,选取响应类型为text/html的所述页面数据。
结合第一方面、第一方面的第一种实施方式、第一方面的二种实施方式、第一方面的三种实施方式,本发明在第一方面的第四种实施方式中,将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构差异度,包括:提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
结合第一方面的第四种实施方式,本发明在第一方面的第五种实施方式中,还包括:将提取的所述页面数据的结构标签根据所述结构标签的权重值按照由大到小的顺序进行排序;在排序后的所述页面数据的结构标签中,选取排序在前的预设项数的结构标签;将选取的所述结构标签以及所述结构标签的权重值与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
结合第一方面的第四种实施方式,本发明在第一方面的第六种实施方式中,所述计算提取的所述结构标签的权重值,包括:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。
结合第一方面的第六种实施方式,本发明在第一方面的第七种实施方式中,所述根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值,包括:结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,结构标签有属性的情况下,所述结构标签的权重值相应大。
结合第一方面的第七种实施方式,本发明在第一方面的第八种实施方式中,所述结构标签出现的次数多的情况下,所述结构标签的权重值相应大,包括:在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。
结合第一方面、第一方面的第一种实施方式、第一方面的二种实施方式、第一方面的三种实施方式,本发明在第一方面的第九种实施方式中,根据计算出的差异度确定所述页面数据是否为非法页面,包括:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
结合第一方面、第一方面的第一种实施方式、第一方面的二种实施方式、第一方面的三种实施方式,本发明在第一方面的第十种实施方式中,将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页内容差异度,包括:提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
结合第一方面的第十种实施方式,本发明在第一方面的第十一种实施方式中,提取所述页面数据与所述规则库中页面的文本内容,包括:在所述页面数据与所述规则库的页面中提取标签间以及input标签内的value属性的文本内容。
结合第一方面的第十一种实施方式,本发明在第一方面的第十二种实施方式中,还包括:若提取的所述value属性的文本内容为路径,则丢弃提取的所述value属性的文本内容。
结合第一方面的第十一种实施方式,本发明在第一方面的第十三种实施方式中,根据计算出的所述差异度确定所述页面数据是否为非法页面,包括:若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
结合第一方面的第十种实施方式,本发明在第一方面的第十四种实施方式中,还包括:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
结合第一方面的第十种实施方式,本发明在第一方面的第十五种实施方式中,还包括:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
第二方面,本发明实施例提供了一种非法页面检测装置,包括:提取模块,用于从网络流量中提取页面数据;差异度检测模块,用于:将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;确定模块,用于根据计算出的所述差异度确定所述页面数据是否为非法页面。
结合第二方面,本发明在第二方面的第一种实施方式中,还包括过滤模块,用于过滤提取出的所述页面数据;所述差异度检测模块还用于:将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。
结合第二方面、第二方面的第一种实施方式,本发明在第二方面的第二种实施方式中,所述差异度检测模块包括结构差异度检测子模块,所述结构差异度检测子模块包括:权重计算子模块,用于:提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;结构比对子模块,用于:根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
结合第二方面的第二种实施方式,本发明在第二方面的第三种实施方式中,所述权重计算子模块还用于:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。
结合第二方面的第三种实施方式,本发明在第二方面的第四种实施方式中,所述权重计算子模块还用于:结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,结构标签有属性的情况下,所述结构标签的权重值相应大。
结合第二方面的第四种实施方式,本发明在第二方面的第五种实施方式中,所述权重计算子模块还用于:在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。
结合第二方面、第二方面的第一种实施方式,本发明在第二方面的第六种实施方式中,所述确定模块还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
结合第二方面、第二方面的第一种实施方式,本发明在第二方面的第七种实施方式中,所述差异度检测模块还包括内容差异度检测子模块,所述内容差异度检测子模块包括:分词子模块,用于提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;内容比对子模块,用于:计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
结合第二方面的第七种实施方式,本发明在第二方面的第八种实施方式中,所述确定模块还用于:若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
结合第二方面的第七种实施方式,本发明在第二方面的第九种实施方式中,所述内容差异度检测子模块用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;所述确定模块还用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
结合第二方面的第七种实施方式,本发明在第二方面的第十种实施方式中,所述差异度检测模块还包括结构差异度检测子模块,所述结构差异度检测子模块用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;所述确定模块还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
在一个可能的设计中,非法页面检测装置的结构中包括处理器和存储器,所述存储器用于存储支持非法页面检测装置执行上述第一方面中非法页面检测方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
第三方面,本发明实施例提供了一种入侵检测系统,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述第一方面中任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:从结构和内容两个维度确定非法页面,极大地提高了检出率并降低误报率。
上述技术方案中的另一个技术方案具有如下优点或有益效果:基于模糊相似度检测非法页面,能够更好地检测变种页面及未知页面,有助于有效地防止攻击行为,打击非法网站。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为本发明实施例的非法页面检测方法的整体框架图;
图2为本发明提供的非法页面检测方法的一种优选实施例的步骤流程图;
图3为本发明提供的非法页面检测方法的计算网页结构差异度的一种优选实施例的步骤流程图;
图4为本发明提供的非法页面检测方法的计算网页结构差异度的另一优选实施例的步骤流程图;
图5为本发明提供的非法页面检测方法的另一优选实施例的步骤流程图;
图6为本发明提供的非法页面检测方法的计算网页内容差异度的一种优选实施例的步骤流程图;
图7为本发明实施例的非法页面检测装置的整体框架图;
图8为本发明提供的非法页面检测装置的一种优选实施例的结构示意图;
图9为本发明提供的非法页面检测装置的另一优选实施例的结构示意图;
图10为本发明提供的入侵检测系统的一种优选实施例的结构示意图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
本发明实施例提供了一种非法页面检测方法。图1为本发明实施例的非法页面检测方法的整体框架图。如图1所示,本发明实施例的非法页面检测方法包括:步骤S110,从网络流量中提取页面数据;步骤S120,将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;步骤S130,根据计算出的所述差异度确定所述页面数据是否为非法页面。
随着互联网的飞速发展,网站的安全风险问题日益严峻,一些不法分子还利用非法网站实施违法行为。例如一些不法分子利用钓鱼网站窃取私人资料、利用Webshell攻击服务器,或者创建赌博网站组织非法赌博活动等。其中,Webshell是以asp(Active ServerPages,动态服务器页面)、php(Hypertext Preprocessor,超文本预处理器)、jsp(JavaServer Pages,java服务器页面)或者cgi(Common Gateway Interface,通用网关接口)等网页文件形式存在的一种命令执行环境,也可以将其称作为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。Webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于Webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具。
Webshll根据功能也分为大马与小马。小马权限比较小、体积也比较小,容易上传,它的功能就是可以传大一点的文件,为大马做铺垫;大马的功能是很强大的,但是相应地,它的体积是很大的,所以不能直接上传,要通过小马来实现上传。在不能直接上传Webshell大马的情况下,黑客通常会上传一个小马以协助完成上传大马,并配合一个客户端实现控制服务器。本发明实施例的应用层面属于流量层面,是通过Webshell大马执行过程产生的数据进行特征匹配。具体地,用户访问产生的流量经过检测引擎时进行网页结构和/或网页内容的差异度检测,应用本发明的实施例能够很好地解决在亿级流量中发现少量的Webshell大马流量的技术问题。
非法页面与网站的正常页面有很大的不同,一是在页面结构上,有些非法页面使用的页面样式比较简单,不会使用与正常页面相同的页面模板;二是页面内容上,例如钓鱼页面、赌博页面等,这些非法页面在页面内容上与正常页面也会有一定程度的差异性。因此可通过页面结构相似度检测或页面内容相似度来检测区分开非法页面和正常页面;另外,也可以将页面结构相似度检测和页面内容相似度检测结合起来,从结构和内容两个维度上进行非法页面的检测,进一步提升检测准确率。具体地,把已知的非法页面的结构特征和/或页面内容特征提取出来,构建规则库;将网络流量中提取的页面与规则库中页面做一个页面结构和/或页面内容的相似度比较,就能判断出一个未知的页面和已知非法页面是否相似。
以Webshll大马页面的检测为例,Webshll大马的页面就与网站的正常页面有很大的不同。一是在页面结构上,Webshell使用的页面样式比较简单,不会使用与正常页面相同的页面模板;而且Webshell作为一个管理后台在功能上也与正常页面不同,这点也会体现在页面结构上;同时,不同Webshell之间也有很大不同,比如功能导航有的使用的是button按钮,有的使用的是a标签。二是页面内容上,Webshell页面用于管理,展示的是网站的一些系统信息、文件信息、命令信息等,如果能够理解这些信息代表的内容,那么就能够区分开Webshll和普通页面。
鉴于Webshll大马的页面与网站的正常页面在页面结构上和页面内容上有很大的不同,因此可通过页面结构相似度检测或页面内容相似度来检测区分开Webshll和普通页面;另外,也可以将页面结构相似度检测和页面内容相似度检测结合起来,从结构和内容两个维度上进行Webshell的检测,进一步提升检测准确率。
以下以html(HyperText Markup Language,超级文本标记语言)页面为例,由于Webshll大马的页面与网站的正常页面在页面结构上有很大的不同,把已知的Webshell大马的html页面结构特征提取出来,与网站流量中提取的html做一个页面结构的相似度比较,就能判断出一个未知的html在结构上和已知Webshell是否相似;但是单纯依靠结构的相似性检测会导致大量的误报,有的Webshell在结构上和管理后台、介绍文档等页面相似,但在内容上和上述页面差异较大;因此,在检测结构相似性的基础上,再辅以页面内容的相似性检测,从结构和内容两个维度上进行Webshell的检测,能够有效地降低误报,提升检测的准确率。
图2为本发明提供的非法页面检测方法的一种优选实施例的步骤流程图。如图2所示,根据本发明非法页面检测方法的一种实施方式,在步骤S110从网络流量中提取页面数据之后,还包括步骤S115,过滤提取出的所述页面数据;步骤S122,将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。在这种实施方式中,可将待监测的网站接入入侵检测系统,用户访问产生的流量经过检测引擎,从网站流量中提取页面数据之后,首先将一些重复、无效和类型不符的页面过滤掉,然后再将通过过滤的页面数据与预先设置的规则库中页面进行比对。
根据本发明非法页面检测方法的一种实施方式,所述页面数据包括响应页面的页面数据,所述响应页面的页面数据包括:响应状态、响应类型、响应长度和/或响应内容;所述过滤提取出的所述页面数据包括:根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据。在这种实施方式中,在页面数据中提取三部分:响应状态,响应头(包含类型和长度),响应内容。根据这三部分的内容过滤提取出的所述页面数据。
根据本发明非法页面检测方法的一种实施方式,根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据,包括:选取响应状态为正常的所述页面数据;和/或,选取响应长度大于预设长度阈值的所述页面数据;和/或,过滤掉响应内容为空和/或响应内容重复的所述页面数据;和/或,在所述页面数据为html页面数据的情况下,选取响应类型为text/html的所述页面数据。
过滤页面数据这一步骤的主要功能是过滤掉HTTP(HyperText TransferProtocol,超文本传输协议)响应近乎为空或者重复的流量。具体地,选取响应状态代码为200(请求正常成功)的数据;和/或,在所述页面数据为html页面数据的情况下,选取响应类型为text/html的数据;和/或,长度阈值可预设为200(响应的响应头header长度已经接近200),选取响应长度大于200的数据。
图3为本发明提供的非法页面检测方法的计算网页结构差异度的一种优选实施例的步骤流程图。如图3所示,根据本发明非法页面检测方法的一种实施方式,将提取出的或过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构差异度,包括:步骤S310,提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;步骤S320,根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。在一种实施方式中,可使用下文中的公式(1)计算网页结构的差异度。
以上网页结构差异度检测步骤通过计算网页的模板向量(Template FeatureVector,TFV)进行网页结构差异度检测,模板特征向量的具体内容是tag(标签)及相对应的权重。将提取出的所述页面数据与预先设置的规则库中页面进行比对,主要包含三个步骤:1.1)对响应内容提取描述页面结构的标签,计算这类标签的权重。1.2)根据1.1同样的算法对规则库的文件进行计算。1.3)遍历规则库,计算响应内容页面与规则库页面的差异度,如果差异度小于预设的结构差异度阈值,则认为该响应文件可能是非法页面。
以上三个步骤的具体实施方式如下:
1.1)对响应内容(字符串格式的html)解析,并进行特征提取和加权计算,得到一个key(键)为tag,value(值)为权重的字典。
数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的描述的集合。当每个数据对象都给出了一个描述性的名字之后,然后再描述数据的数值。这个集合被组织成书的形式用来参考,就叫做数据字典。上述步骤1.1从响应内容的页面中提取标签tag,计算每个标签的权重值,得到一个包含响应内容的页面的标签(key,键)及其对应的权重值(value,值)的数据字典。
图4为本发明提供的非法页面检测方法的计算网页结构差异度的另一优选实施例的步骤流程图。如图4所示,根据本发明非法页面检测方法的一种实施方式,还包括:步骤S410,将提取的所述页面数据的结构标签根据所述结构标签的权重值按照由大到小的顺序进行排序;步骤S420,在排序后的所述页面数据的结构标签中,选取排序在前的预设项数的结构标签;步骤S430,将选取的所述结构标签以及所述结构标签的权重值与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。在一种实施方式中,可使用下文中的公式(1)计算网页结构的差异度。
如前述,在对响应内容解析的过程中,得到一个key为tag,value为权重的字典。在这种实施方式中,预设项数可取值为80-150,优选地,预设项数可取值为100,即取该字典权重最大的前100项。根据响应页面前100项的数据将响应页面数据与所述规则库中页面进行比对。
根据本发明非法页面检测方法的一种实施方式,所述计算提取的所述结构标签的权重值,包括:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。网页结构差异度检测步骤中主要提取描述页面结构的标签,即结构标签,结构标签的权重与网页深度、标签出现的次数和有无属性等因素有关。
根据本发明非法页面检测方法的一种实施方式,所述根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值,包括:结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,结构标签有属性的情况下,所述结构标签的权重值相应大。
结构标签tag的权重与网页深度、标签出现的次数和有无属性等因素有关。网页的深度越深,对网页结构的影响越小,则该网页中的tag的权重越小;标签出现的次数越多,其对应的权重越大;有属性的标签比没属性的标签的权重大。
根据本发明非法页面检测方法的一种实施方式,所述结构标签出现的次数多的情况下,所述结构标签的权重值相应大,包括:在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。标签出现的次数越多,其对应的权重越大,但标签每多出现一次的权重累加值会逐渐减小。合理设置算法中的权重累加值使计算出的结构标签的权重值更加准确地表示出结构标签对网页结构的影响程度。
1.2)根据步骤1.1同样的算法对规则库的文件进行计算。优选地,可得到一个json(JavaScript Object Notation,JS对象标记)格式的规则库。json规则包含该文件的大小和文件的特征。json是一种轻量级的数据交换格式。它采用完全独立于编程语言的文本格式来存储和表示数据,简洁和清晰的层次结构使得json成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
其中,可预先设置规则库,也可预先根据步骤1.1同样的算法对规则库的文件进行计算,并存储计算结果,以便将其与从网站中提取出的响应内容进行比对。
在一种实施方式中,对规则库的文件进行计算时可以尝试取全部,而不限于前100项。比对时选取的项数多可提高检测的准确率,但同时选取的项数多会增加计算量,因此适当选取进行比对的数据量,在保证检测的准确率的前提下,尽量提高检测效率。
1.3)遍历规则库,并计算差异度,如果遇到差异度小于预设的结构差异度阈值的结果,则认为该响应文件可能是非法页面。如果全部遍历完成,不存在任何一个差异度小于预设的结构差异度阈值,则认为该响应文件为正常文件。网页结构差异度检测步骤返回一个key为规则库文件名,value为差异度的字典。
图5为本发明提供的非法页面检测方法的另一优选实施例的步骤流程图。如图5所示,根据本发明非法页面检测方法的一种实施方式,根据计算出的差异度确定所述页面数据是否为非法页面,包括:步骤S150,若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
在这种实施方式中,可使用下面的公式(1)进行页面结构差异度的计算:
其中,d表示网页结构的差异度;Ui和Vi分别表示从网站流量中提取出的所述页面数据与所述规则库中页面的模板特征向量,模板特征向量的具体内容是页面的结构标签及相对应的权重;公式中的分子部分将上述两个向量做差值,体现两个向量的差异部分;公式中的分母部分取上述两个向量的最小值,即两个向量相同的部分,体现两个向量的共同部分。以webshell检测为例,可设置结构差异度阈值的取值为8-12,优选地,结构差异度阈值可取值为10。遍历规则库,计算网页结构的差异度,如果遇到差异度小于10的结果,则认为该响应文件可能是webshell。如果全部遍历完成,不存在任何一个差异度小于10,则认为该响应文件为正常文件。
如图5所示,根据本发明非法页面检测方法的一种实施方式,还包括:步骤S160,若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;步骤S170,根据计算出的所述网页内容差异度确定所述页面数据是否为非法页面。
如图5所示,在步骤S115过滤提取出的所述页面数据之后,执行步骤S140,将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构的差异度;然后执行步骤S150,若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面,也就是说,如果网站流量中提取出来的页面数据与规则库中页面的网页结构差异度较大,就认为该页面数据不是非法页面,这时不再进行后续的网页内容差异性检测;若在步骤S150不能确定所述页面数据不是非法页面,则该页面数据为疑似非法页面,则接下来执行步骤S160和步骤S170,进行网页内容差异度检测。
图6为本发明提供的非法页面检测方法的计算网页内容差异度的一种优选实施例的步骤流程图。如图6所示,根据本发明非法页面检测方法的一种实施方式,将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页内容差异度,包括:步骤S610,提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;步骤S620,计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
以上网页内容差异度检测步骤主要是为了比对待检测样本与恶意样本间的内容差异度,以Webshell为例,由于Webshell页面显示的内容通常不连续,本步骤采用了NLP分词法。本步骤包含如下几步:
2.1)对网页结构差异度检测步骤传递的可疑响应,解析其html页面,并提取所述页面数据的文本内容,进行中英文分词,并去掉中英文标点;对分词结果进行统计,合并重合词,得到一个key为词语,value为词数的字典。
2.2)根据步骤2.1同样的算法对规则库的文件进行计算,得到一个json格式的分词库。json规则包含文件的分词情况和分词的数目。
2.3)遍历网页结构差异度检测步骤的得到的可疑字典,则将响应内容进行分词后与规则库对应webshell的分词内容进行重合度、分词比的计算,其中,重合度=重合词数/webshell分词数,分词比=响应内容分词数/webshell分词数,满足重合度、分词比在一定的阈值范围内的,则认为该响应内容为webshell。
其中,重合度的计算中,如出现重复的词则不计算在内,也就是重复的词只计算一次;分词比的计算中,如出现重复的词则计算在内,也就是重复的词多次出现则计其出现的次数为词数。
根据本发明非法页面检测方法的一种实施方式,提取所述页面数据与所述规则库中页面的文本内容,包括:在所述页面数据与所述规则库的页面中提取标签间以及input标签内的value属性的文本内容。其中,input标签常用于用户输入,大马中的input标签的value属性通常会有一些默认值,如“编辑、上传”等,这些默认值对内容相似的检测有用,可利用这些默认值对页面内容的相似性进行检测。
根据本发明非法页面检测方法的一种实施方式,还包括:若提取的所述value属性的文本内容为路径,则丢弃提取的所述value属性的文本内容。若所述value属性的文本内容为路径,则为干扰内容,其对于页面内容的相似性检测不起作用,将其丢弃。
根据本发明非法页面检测方法的一种实施方式,根据计算出的所述差异度确定所述页面数据是否为非法页面,包括:若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
重合度的数值可以在一定程度上体现两个页面内容的相似性,但如果页面中包含的词的数量很多,则出现重合词数的几率就会变大。另一方面,通常情况下,Webshell等非法页面所包含的词的数量一般不会太大。因此结合重合度和分词比的数据综合考虑,在分词比较大,也就是页面所包含的词的数量较大,或者重合度较小的情况下,可确定所述页面数据不是非法页面;在分词比较小,也就是页面所包含的词的数量较小,且重合度较大的情况下,确定所述页面数据为疑似非法页面,可在后续过程中根据页面结构的相似度检测做进一步地判断。
以Webshell检测为例,重合度阈值可设置为0.35-0.45,优选地,重合度阈值可取值为0.4;分词比阈值可设置为5-10,优选地,分词比阈值可取值8。若计算出的重合度小于0.4,或者计算出的分词比大于8,则确定所述页面数据不是Webshell页面。若计算出的重合度大于等于0.4,并且计算出的分词比小于等于8,则确定所述页面数据为疑似Webshell页面,可在后续过程中根据页面结构的相似度检测做进一步地判断。
根据本发明非法页面检测方法的一种实施方式,还包括:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
参见图5,这种实施方式中,在步骤S170中,根据计算出的所述网页内容差异度确定所述页面数据是否为非法页面,具体包括:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。以Webshell检测为例,首先进行网页结构差异度检测,如果网站流量中提取出来的页面数据与所述规则库中页面的网页结构的差异度较大,则可确定页面数据不是Webshell页面;若二者网页结构差异度较小,则认为是疑似Webshell页面,进一步进行网页内容差异度检测,若二者网页内容差异度也较小,则确定所述页面数据为Webshell页面。
根据本发明非法页面检测方法的一种实施方式,还包括:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
仍以Webshell检测为例,与前一种实施方式不同的是,在这种实施方式中,首先进行网页内容差异度检测,如果网站流量中提取出来的页面数据与所述规则库中页面的网页内容的差异度较大,则可确定页面数据不是Webshell页面;若二者网页内容差异度较小,则认为是疑似Webshell页面,进一步进行网页结构差异度检测,若二者网页结构差异度也较小,则确定所述页面数据为Webshell页面。
另一方面,本发明实施例提供了一种非法页面检测装置。图7为本发明实施例的非法页面检测装置的整体框架图。如图7所示,本发明实施例的非法页面检测装置包括:提取模块100,用于从网络流量中提取页面数据;差异度检测模块200,用于:将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;确定模块300,用于根据计算出的所述差异度确定所述页面数据是否为非法页面。
图8为本发明提供的非法页面检测装置的一种优选实施例的结构示意图。图8所示的非法页面检测装置用于Webshell页面检测。如图8所示,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,通过Kafka可获取网站产生的流量数据。通过Decode得到Message,表示从网站流量中提取html页面。接下来通过过滤模块过滤掉HTTP响应近乎为空或者重复的流量。Return表示若流量内容被过滤掉则不再进行下面的流程,比如对于响应码不是200的响应页面被过滤掉,则不再继续下面的流程。接下来,结构差异度检测子模块通过与规则库中页面进行对比,若从网站流量中提取的html响应页面与规则库中页面的页面结构差异度较大,则将响应页面确定不是Webshell页面,否则若二者的页面结构差异度较小,则认为是疑似Webshell页面;若通过结构差异度检测子模块的检测确定是疑似Webshell页面,则将其传递给内容差异度检测子模块;内容差异度检测子模块通过分词库对疑似Webshell页面进行页面内容差异度检测,将重合度大且分词比小的页面确定为Webshell页面。
图9为本发明提供的非法页面检测装置的另一优选实施例的结构示意图。如图9所示,根据本发明非法页面检测装置的一种实施方式,还包括过滤模块105,用于过滤提取出的所述页面数据;所述差异度检测模块200还用于:将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。过滤模块的主要功能是过滤掉HTTP响应近乎为空或者重复的流量。
根据本发明非法页面检测装置的一种实施方式,所述页面数据包括响应页面的页面数据,所述响应页面的页面数据包括:响应状态、响应类型、响应长度和/或响应内容;所述过滤模块105还用于:根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据。
根据本发明非法页面检测装置的一种实施方式,所述过滤模块105还用于:选取响应状态为正常的所述页面数据;和/或,选取响应长度大于预设长度阈值的所述页面数据;和/或,过滤掉响应内容为空和/或响应内容重复的所述页面数据;和/或,在所述页面数据为html页面数据的情况下,选取响应类型为text/html的所述页面数据。
根据本发明非法页面检测装置的一种实施方式,所述差异度检测模块200包括结构差异度检测子模块210,所述结构差异度检测子模块210包括:权重计算子模块212,用于:提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;结构比对子模块214,用于:根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
结构差异度检测子模块通过计算网页的模板向量进行页面的结构差异度检测,该模块返回一个key为规则库文件名,value为差异度的字典。
根据本发明非法页面检测装置的一种实施方式,还包括:所述结构差异度检测子模块210用于:将提取的所述页面数据的结构标签根据所述结构标签的权重值按照由大到小的顺序进行排序;在排序后的所述页面数据的结构标签中,选取排序在前的预设项数的结构标签;将选取的所述结构标签以及所述结构标签的权重值与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
根据本发明非法页面检测装置的一种实施方式,所述权重计算子模块212还用于:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。
根据本发明非法页面检测装置的一种实施方式,所述权重计算子模块212还用于:结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,结构标签有属性的情况下,所述结构标签的权重值相应大。
根据本发明非法页面检测装置的一种实施方式,所述权重计算子模块212还用于:在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。
根据本发明非法页面检测装置的一种实施方式,所述确定模块300还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
根据本发明非法页面检测装置的一种实施方式,所述差异度检测模块200还包括内容差异度检测子模块220,所述内容差异度检测子模块220包括:分词子模块222,用于提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;内容比对子模块224,用于:计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
内容差异度检测子模块主要是为了比对待检测样本与恶意样本间的内容差异度,以Webshell为例,由于Webshell页面显示的内容通常不连续,本模块采用了NLP分词法。
根据本发明非法页面检测装置的一种实施方式,所述分词子模块222还用于:在使用自然语言处理分词法进行分词处理之前,在所述页面数据与所述规则库的页面中提取标签间以及input标签内的value属性的文本内容。
根据本发明非法页面检测装置的一种实施方式,所述分词子模块222还用于:在提取value属性的文本内容时,若提取的所述value属性的文本内容为路径,则丢弃提取的所述value属性的文本内容。
根据本发明非法页面检测装置的一种实施方式,所述确定模块300还用于:若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
根据本发明非法页面检测装置的一种实施方式,所述内容差异度检测子模块220用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;所述确定模块300还用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
根据本发明非法页面检测装置的一种实施方式,所述差异度检测模块200还包括结构差异度检测子模块210,所述结构差异度检测子模块210用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;所述确定模块300还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
在一个可能的设计中,非法页面检测装置的结构中包括处理器和存储器,所述存储器用于存储支持非法页面检测装置执行上述非法页面检测方法中的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
又一方面,本发明实施例提供了一种入侵检测系统。图10为本发明提供的入侵检测系统的一种优选实施例的结构示意图。如图10所示,本发明实施例的入侵检测系统包括:一个或多个处理器320;存储装置310,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述非法页面检测方法中任一所述的方法。所述存储装置310的数量可以为一个或多个。
该设备还包括:通信接口330,用于与外界设备进行通信,进行数据交互传输。
存储装置310可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储装置310、处理器320和通信接口330独立实现,则存储装置310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储装置310、处理器320及通信接口330集成在一块芯片上,则存储装置310、处理器320及通信接口330可以通过内部接口完成相互间的通信。
再一方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述非法页面检测方法中任一所述的方法。
上述技术方案中的一个技术方案具有如下优点或有益效果:从结构和内容两个维度确定非法页面,极大地提高了检出率并降低误报率。
上述技术方案中的另一个技术方案具有如下优点或有益效果:基于模糊相似度检测非法页面,能够更好地检测变种页面及未知页面,有助于有效地防止攻击行为,打击非法网站。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。其中装置实施方式与方法的实施方式相对应,因此装置的实施方式描述比较简略,相关描述可参照方法的实施方式的描述即可。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (29)
1.一种非法页面检测方法,其特征在于,包括:
从网络流量中提取页面数据;
将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;
根据计算出的所述差异度确定所述页面数据是否为非法页面。
2.根据权利要求1所述的方法,其特征在于,
在从网络流量中提取页面数据之后,还包括过滤提取出的所述页面数据;
将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。
3.根据权利要求2所述的方法,其特征在于,所述页面数据包括响应页面的页面数据,所述响应页面的页面数据包括:响应状态、响应类型、响应长度和/或响应内容;
所述过滤提取出的所述页面数据包括:根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据。
4.根据权利要求3所述的方法,其特征在于,根据响应状态、响应类型、响应长度和/或响应内容过滤提取出的所述页面数据,包括:
选取响应状态为正常的所述页面数据;和/或,
选取响应长度大于预设长度阈值的所述页面数据;和/或,
过滤掉响应内容为空和/或响应内容重复的所述页面数据;和/或,
在所述页面数据为html页面数据的情况下,选取响应类型为text/html的所述页面数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构差异度,包括:
提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;
根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
6.根据权利要求5所述的方法,其特征在于,还包括:
将提取的所述页面数据的结构标签根据所述结构标签的权重值按照由大到小的顺序进行排序;
在排序后的所述页面数据的结构标签中,选取排序在前的预设项数的结构标签;
将选取的所述结构标签以及所述结构标签的权重值与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
7.根据权利要求5所述的方法,其特征在于,所述计算提取的所述结构标签的权重值,包括:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。
8.根据权利要求7所述的方法,其特征在于,所述根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值,包括:
结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,
结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,
结构标签有属性的情况下,所述结构标签的权重值相应大。
9.根据权利要求8所述的方法,其特征在于,所述结构标签出现的次数多的情况下,所述结构标签的权重值相应大,包括:
在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;
在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。
10.根据权利要求1-4中任一项所述的方法,其特征在于,根据计算出的差异度确定所述页面数据是否为非法页面,包括:
若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
11.根据权利要求1-4中任一项所述的方法,其特征在于,
将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页内容差异度,包括:
提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;
计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
12.根据权利要求11所述的方法,其特征在于,提取所述页面数据与所述规则库中页面的文本内容,包括:在所述页面数据与所述规则库的页面中提取标签间以及input标签内的value属性的文本内容。
13.根据权利要求12所述的方法,其特征在于,还包括:若提取的所述value属性的文本内容为路径,则丢弃提取的所述value属性的文本内容。
14.根据权利要求11所述的方法,其特征在于,根据计算出的所述差异度确定所述页面数据是否为非法页面,包括:
若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
15.根据权利要求11所述的方法,其特征在于,还包括:
若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;
若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
16.根据权利要求11所述的方法,其特征在于,还包括:
若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;
若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
17.一种非法页面检测装置,其特征在于,包括:
提取模块,用于从网络流量中提取页面数据;
差异度检测模块,用于:将提取出的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度;
确定模块,用于根据计算出的所述差异度确定所述页面数据是否为非法页面。
18.根据权利要求17所述的装置,其特征在于,还包括过滤模块,用于过滤提取出的所述页面数据;所述差异度检测模块还用于:将过滤后的所述页面数据与预先设置的规则库中页面进行比对,计算提取出的所述页面数据与所述规则库中页面的网页结构和/或网页内容的差异度。
19.根据权利要求17或18所述的装置,其特征在于,所述差异度检测模块包括结构差异度检测子模块,所述结构差异度检测子模块包括:
权重计算子模块,用于:提取所述页面数据与所述规则库中页面的结构标签,计算提取的所述结构标签的权重值;
结构比对子模块,用于:根据所述结构标签以及所述结构标签的权重值将所述页面数据与所述规则库中页面进行比对,计算所述页面数据与所述规则库中页面的网页结构的差异度。
20.根据权利要求19所述的装置,其特征在于,所述权重计算子模块还用于:根据结构标签所在的网页深度、结构标签出现的次数和/或结构标签有无属性计算所述结构标签的权重值。
21.根据权利要求20所述的装置,其特征在于,所述权重计算子模块还用于:
结构标签所在的网页深度大的情况下,所述结构标签的权重值相应小;和/或,
结构标签出现的次数多的情况下,所述结构标签的权重值相应大;和/或,
结构标签有属性的情况下,所述结构标签的权重值相应大。
22.根据权利要求21所述的装置,其特征在于,所述权重计算子模块还用于:
在提取所述页面数据的结构标签时,累计所述结构标签出现的次数;
在所述结构标签的累计次数增加时,将所述结构标签的权重值增加相应的权重累加值,其中,累计次数大的情况下增加的所述权重累加值相应小。
23.根据权利要求17或18所述的装置,其特征在于,所述确定模块还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度大于等于预设的结构差异度阈值,则确定所述页面数据不是非法页面。
24.根据权利要求17或18所述的装置,其特征在于,所述差异度检测模块包括内容差异度检测子模块,所述内容差异度检测子模块包括:
分词子模块,用于提取所述页面数据与所述规则库中页面的文本内容,使用自然语言处理分词法进行分词处理,得到分词结果,所述分词结果包括所述文本内容中出现的词语以及每个所述词语的分词数,所述词语的分词数是所述词语在所述文本内容中出现的个数;
内容比对子模块,用于:计算所述页面数据与所述规则库中页面的网页内容差异度,所述网页内容差异度包括重合度和分词比;所述重合度是重合词数与所述规则库中页面的文本内容中出现的词语的总的个数的比,所述重合词数是所述页面数据与所述规则库中页面的文本内容中出现的重合的词语的个数;所述分词比是所述页面数据的文本内容中的所有所述词语的分词数的总和与所述规则库中页面的文本内容中的所有所述词语的分词数的总和之比。
25.根据权利要求24所述的装置,其特征在于,所述确定模块还用于:
若计算出的所述重合度小于预设的重合度阈值,或者计算出的所述分词比大于预设的分词比阈值,则确定所述页面数据不是非法页面。
26.根据权利要求24所述的装置,其特征在于,
所述内容差异度检测子模块用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则计算提取出的所述页面数据与所述规则库中页面的网页内容差异度;
所述确定模块还用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则确定所述页面数据为非法页面。
27.根据权利要求24所述的装置,其特征在于,
所述差异度检测模块还包括结构差异度检测子模块,所述结构差异度检测子模块用于:若计算出的所述重合度大于等于预设的重合度阈值,并且计算出的所述分词比小于等于预设的分词比阈值,则计算提取出的所述页面数据与所述规则库中页面的网页结构差异度;
所述确定模块还用于:若计算出的所述页面数据与所述规则库中页面的网页结构的差异度小于预设的结构差异度阈值,则确定所述页面数据为非法页面。
28.一种入侵检测系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-16中任一所述的方法。
29.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-16中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182169.1A CN108304584A (zh) | 2018-03-06 | 2018-03-06 | 非法页面检测方法、装置、入侵检测系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810182169.1A CN108304584A (zh) | 2018-03-06 | 2018-03-06 | 非法页面检测方法、装置、入侵检测系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108304584A true CN108304584A (zh) | 2018-07-20 |
Family
ID=62849167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810182169.1A Pending CN108304584A (zh) | 2018-03-06 | 2018-03-06 | 非法页面检测方法、装置、入侵检测系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304584A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409091A (zh) * | 2018-09-28 | 2019-03-01 | 深信服科技股份有限公司 | 检测Web页面的方法、装置、设备以及计算机存储介质 |
CN109753790A (zh) * | 2018-11-29 | 2019-05-14 | 武汉极意网络科技有限公司 | 一种落地页监控方法及系统 |
CN109815150A (zh) * | 2019-01-29 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 应用测试方法、装置、电子设备及存储介质 |
CN109992737A (zh) * | 2019-04-03 | 2019-07-09 | 北京字节跳动网络技术有限公司 | 第三方网页内容审核方法、装置及电子设备 |
CN110390044A (zh) * | 2019-06-11 | 2019-10-29 | 平安科技(深圳)有限公司 | 一种相似网络页面的搜索方法及设备 |
CN111382430A (zh) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | 用于对计算机系统的对象进行分类的系统和方法 |
CN111614599A (zh) * | 2019-02-25 | 2020-09-01 | 北京金睛云华科技有限公司 | 基于人工智能的webshell检测方法和装置 |
CN111984891A (zh) * | 2020-08-07 | 2020-11-24 | 游艺星际(北京)科技有限公司 | 页面展示方法、装置、电子设备和存储介质 |
CN112733057A (zh) * | 2020-11-27 | 2021-04-30 | 杭州安恒信息安全技术有限公司 | 网络内容安全检测方法、电子装置和存储介质 |
CN112866279A (zh) * | 2021-02-03 | 2021-05-28 | 恒安嘉新(北京)科技股份公司 | 网页安全检测方法、装置、设备及介质 |
CN113239256A (zh) * | 2021-05-14 | 2021-08-10 | 北京百度网讯科技有限公司 | 生成网站签名的方法、识别网站的方法及装置 |
CN113779481B (zh) * | 2021-09-26 | 2024-04-09 | 恒安嘉新(北京)科技股份公司 | 诈骗网站的识别方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534306A (zh) * | 2009-04-14 | 2009-09-16 | 深圳市腾讯计算机系统有限公司 | 一种钓鱼网站的检测方法及装置 |
CN102082792A (zh) * | 2010-12-31 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 钓鱼网页检测方法及设备 |
CN102938041A (zh) * | 2012-10-30 | 2013-02-20 | 北京神州绿盟信息安全科技股份有限公司 | 一种页面篡改的综合检测方法及系统 |
US20170286544A1 (en) * | 2015-09-16 | 2017-10-05 | RiskIQ, Inc. | Using hash signatures of dom objects to identify website similarity |
-
2018
- 2018-03-06 CN CN201810182169.1A patent/CN108304584A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534306A (zh) * | 2009-04-14 | 2009-09-16 | 深圳市腾讯计算机系统有限公司 | 一种钓鱼网站的检测方法及装置 |
CN102082792A (zh) * | 2010-12-31 | 2011-06-01 | 成都市华为赛门铁克科技有限公司 | 钓鱼网页检测方法及设备 |
CN102938041A (zh) * | 2012-10-30 | 2013-02-20 | 北京神州绿盟信息安全科技股份有限公司 | 一种页面篡改的综合检测方法及系统 |
US20170286544A1 (en) * | 2015-09-16 | 2017-10-05 | RiskIQ, Inc. | Using hash signatures of dom objects to identify website similarity |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109409091B (zh) * | 2018-09-28 | 2021-11-19 | 深信服科技股份有限公司 | 检测Web页面的方法、装置、设备以及计算机存储介质 |
CN109409091A (zh) * | 2018-09-28 | 2019-03-01 | 深信服科技股份有限公司 | 检测Web页面的方法、装置、设备以及计算机存储介质 |
CN109753790A (zh) * | 2018-11-29 | 2019-05-14 | 武汉极意网络科技有限公司 | 一种落地页监控方法及系统 |
CN111382430A (zh) * | 2018-12-28 | 2020-07-07 | 卡巴斯基实验室股份制公司 | 用于对计算机系统的对象进行分类的系统和方法 |
CN109815150A (zh) * | 2019-01-29 | 2019-05-28 | 腾讯科技(深圳)有限公司 | 应用测试方法、装置、电子设备及存储介质 |
CN111614599A (zh) * | 2019-02-25 | 2020-09-01 | 北京金睛云华科技有限公司 | 基于人工智能的webshell检测方法和装置 |
CN111614599B (zh) * | 2019-02-25 | 2022-06-14 | 北京金睛云华科技有限公司 | 基于人工智能的webshell检测方法和装置 |
CN109992737A (zh) * | 2019-04-03 | 2019-07-09 | 北京字节跳动网络技术有限公司 | 第三方网页内容审核方法、装置及电子设备 |
CN110390044A (zh) * | 2019-06-11 | 2019-10-29 | 平安科技(深圳)有限公司 | 一种相似网络页面的搜索方法及设备 |
CN110390044B (zh) * | 2019-06-11 | 2024-03-19 | 平安科技(深圳)有限公司 | 一种相似网络页面的搜索方法及设备 |
CN111984891A (zh) * | 2020-08-07 | 2020-11-24 | 游艺星际(北京)科技有限公司 | 页面展示方法、装置、电子设备和存储介质 |
CN112733057A (zh) * | 2020-11-27 | 2021-04-30 | 杭州安恒信息安全技术有限公司 | 网络内容安全检测方法、电子装置和存储介质 |
CN112866279A (zh) * | 2021-02-03 | 2021-05-28 | 恒安嘉新(北京)科技股份公司 | 网页安全检测方法、装置、设备及介质 |
CN112866279B (zh) * | 2021-02-03 | 2022-12-09 | 恒安嘉新(北京)科技股份公司 | 网页安全检测方法、装置、设备及介质 |
CN113239256A (zh) * | 2021-05-14 | 2021-08-10 | 北京百度网讯科技有限公司 | 生成网站签名的方法、识别网站的方法及装置 |
CN113239256B (zh) * | 2021-05-14 | 2024-02-23 | 北京百度网讯科技有限公司 | 生成网站签名的方法、识别网站的方法及装置 |
CN113779481B (zh) * | 2021-09-26 | 2024-04-09 | 恒安嘉新(北京)科技股份公司 | 诈骗网站的识别方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304584A (zh) | 非法页面检测方法、装置、入侵检测系统及存储介质 | |
CN106789888B (zh) | 一种多特征融合的钓鱼网页检测方法 | |
CN108259494B (zh) | 一种网络攻击检测方法及装置 | |
Zhang et al. | A deep learning method to detect web attacks using a specially designed CNN | |
US9621570B2 (en) | System and method for selectively evolving phishing detection rules | |
CN105072089B (zh) | 一种web恶意扫描行为异常检测方法与系统 | |
CN104899508B (zh) | 一种多阶段钓鱼网站检测方法与系统 | |
CN107659570A (zh) | 基于机器学习与动静态分析的Webshell检测方法及系统 | |
CN109598124A (zh) | 一种webshell检测方法以及装置 | |
CN102592067A (zh) | 一种网页识别方法、装置及系统 | |
CN107368856A (zh) | 恶意软件的聚类方法及装置、计算机装置及可读存储介质 | |
CN108334758A (zh) | 一种用户越权行为的检测方法、装置及设备 | |
CN107256357A (zh) | 基于深度学习的安卓恶意应用的检测和分析方法 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN113098887A (zh) | 一种基于网站联合特征的钓鱼网站检测方法 | |
CN110519276A (zh) | 一种检测内网横向移动攻击的方法 | |
CN109922065A (zh) | 恶意网站快速识别方法 | |
Liu et al. | Multi-scale semantic deep fusion models for phishing website detection | |
CN113901465A (zh) | 一种基于异质网络的Android恶意软件检测方法 | |
Jin et al. | Payload-based web attack detection using deep neural network | |
CN106528805B (zh) | 基于用户的移动互联网恶意程序url智能分析挖掘方法 | |
CN107180194A (zh) | 基于视觉分析系统进行漏洞检测的方法及装置 | |
CN105653941A (zh) | 一种启发式检测钓鱼网站的方法及系统 | |
Chen et al. | A Malicious URL detection method based on CNN | |
Zaimi et al. | A deep learning approach to detect phishing websites using CNN for privacy protection |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180720 |