CN101630325A - 一种基于脚本特征的网页聚类方法 - Google Patents

一种基于脚本特征的网页聚类方法 Download PDF

Info

Publication number
CN101630325A
CN101630325A CN200910091334A CN200910091334A CN101630325A CN 101630325 A CN101630325 A CN 101630325A CN 200910091334 A CN200910091334 A CN 200910091334A CN 200910091334 A CN200910091334 A CN 200910091334A CN 101630325 A CN101630325 A CN 101630325A
Authority
CN
China
Prior art keywords
script
webpage
clustering method
fragments
webpages
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.)
Granted
Application number
CN200910091334A
Other languages
English (en)
Other versions
CN101630325B (zh
Inventor
韦韬
梁知音
龚晓锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN2009100913343A priority Critical patent/CN101630325B/zh
Publication of CN101630325A publication Critical patent/CN101630325A/zh
Application granted granted Critical
Publication of CN101630325B publication Critical patent/CN101630325B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于脚本特征的网页聚类方法,属于计算机安全技术领域。本发明方法以多个网页作为聚类对象,包括:a)获得网页中的脚本片段及其各级内嵌链接页面中的脚本片段;b)对脚本片段作规格化处理后计算其特征值作为脚本片段标识;c)将各个脚本片段标识排序后计算该序列的特征值作为网页标识;d)将网页标识相同的网页聚为一类。本发明方法可用于挂马网页检测分析的预处理过程,用于将同一网站页面分类,对于同一集合的网页,只需选择一部分抽样进行检测,从而可以节省大量检测资源。

Description

一种基于脚本特征的网页聚类方法
技术领域
本发明涉及网页聚类,尤其涉及一种基于网页包含的脚本程序片段的特征进行相似页面聚类的方法,属于计算机安全技术领域。
技术背景
目前互联网已经成了传播恶意程序的重要途径。近两年来,木马病毒已经成为恶意代码发展的主要方向。通过在网页上挂马,利用浏览器及其插件的漏洞,获得执行权限,进而劫持浏览器,植入木马病毒,是当前木马病毒传播的主要途径。
目前检测网页挂马的检测方法很多,其中包括静态和动态的方法,但要准确的判断网页中是否存在挂马行为,需要针对网页进行大量的运算。但目前互联上网页数量呈爆炸性增长的趋势,根据中国互联网络信息中心(CNNIC)2008年1月发布的《中国互联网络发展状况统计报告》,我国互联网资源正在迅猛增长,域名、网站、网页的年增长率都超过60%,2008年统计的域名总数为1193万个,网站数量达150万个,网页数量达84.7亿个,其中大部分论坛的网页数量过万,部分大规模网站如新浪网等,其页面数量已超过千万帧。互联网上如此海量的页面,对网马检测工作来说,是个巨大的挑战。
在实际挂马场景中,攻击者常会劫持同一个网站的一大批网页,如果要分析一个网站的全部页面,分析量会很大,但如果随便选择某站点的部分URL分析,却又可能会造成遗漏。考虑到挂马网页主要利用系统或浏览器的漏洞,或下载可执行文件等,除了直接用object和xml漏洞攻击以外,大部分网页挂马,都需要利用到script脚本的功能来协助计算或运行,所以,网页中脚本语言片段的存在是网页挂马的关键。如果能找出这些脚本片段之间的相似性,则可以预先对大批网页进行相似性聚类,对聚类后的同一类网页部分抽样做详细的检测,可以节省大量检测资源。
发明内容
本发明的目的在于提出一种基于脚本特征的网页聚类方法。
本方法根据网页中的脚本片段进行标识,将相似的网页聚为一类。该方法可应用到挂马网页检测分析的预处理过程,用于将同一网站页面分类,对于同一集合的网页,只需选择一部分抽样进行检测,从而可以节省大量检测资源。
本发明的主要思想是将网页中script标签内的代码片断提取出来,将页面的控制部分与内容部分分离,对于具有相同控制部分的页面,可认为网页具有相同的动态行为,从而可以聚为一类。对于根据本发明方法所聚类到同一类的网页,只需抽样检测便可确定这一类网页的动态特性,如是否被挂马等。
为了便于说明,本发明定义如下概念:
1.脚本片段(script frag):网页代码中包含在同一对script标签内的脚本代码段,每个代码段定义为一个脚本片段;
2.脚本片段标识(script frag id):对脚本片段作规格化处理后,进行hash计算得到的值,用这个值来标识一个脚本片段;
3.网页标识(url id):对整个网页文件及其各级链接页面中所有的脚本片段标识进行排序处理后得到的序列进行hash计算得到的值,用这个值来标识网页。
具体来说,本发明方法以多个网页作为聚类对象,包括:
a)获得网页中的脚本片段及其各级链接页面中的脚本片段;
b)对脚本片段作规格化处理后计算其特征值作为脚本片段标识;
c)将各个脚本片段标识排序后计算该序列的特征值作为网页标识;
d)将网页标识相同的网页聚为一类。
在本发明方法中,所述多个网页可以是通过爬虫等技术获得的某个网站的所有页面。
在本发明方法中,步骤a具体可通过下述方法实现:
i.创建一URL队列,将当前页面的URL加入所述队列中;
ii.从所述队列POP出一个URL,获取该URL的页面内容并进行处理:
iii.当遇到<frame>或<iframe>标签时,如该标签存在src属性,则将属性值加入所述队列;
iv.当遇到<script>标签时,获取该标签内部的脚本片段;如该标签存在src属性,则获取src属性对象的script文件内容,并将该文件内容作为一个原始的脚本片段。
在本发明方法中,步骤b所述规格化处理的目的在于防止script中的参数被随机化从而产生大量形式不同但实质相同的脚本片段。针对不同的聚类策略,可以采用或松或严的规格化方案。常用的方式是:将脚本片段中所有的参数列表和变量赋值替换为设定的字符。
在本发明方法中,步骤b和步骤c所述特征值可以是hash值,两步骤中的hash值可通过相同或不同的hash算法(如MD5、SHA512等)计算得到。
在本发明方法中,当网页多次链接至某个url时,需要对该url指向的网页作多次分析,而这样的多次分析并不必要。因此,在步骤a中,当所述各级链接页面中的多个页面的链接地址相同时,仅获得其中一个链接页面中的脚本片段,以减少不必要的分析。
网页不仅可能多次引用同一网页,也有可能多次引用同一脚本代码,对于同一脚本代码,作一次分析就可以。因此,在步骤c中,优选按照各个脚本片段标识由小到大的顺序排列,当出现标识相同的脚本片段时,仅保留其中一个,用于后续计算。
和现有技术相比,本发明具有以下积极意义:
1.在面向从未分析检测过的网页时,相对于网页挂马检测的运算时间,计算网页中的脚本片断标识的运算量要少很多,在进行详细深入的检测之前,先使用脚本片断标识对网页进行预处理,可从大量的网页中聚类相似页面,提高检测效率;特别是对于论坛网站、新闻网站等含有大量类似网页的站点,该方法具有非常好的效果;
2.当需要为某个站点是否挂马提供实时监测时,通过本发明方法可以判断此站点的网页是否存在脚本更新,若该站点未修改其中的脚本片段,可以认为该站点的页面未添加新的动态内容,通过这种方法可有效的判断是否需要重新检测该站点的页面,从而极大的提高监测服务的能力。
具体实施方式
下面通过具体实施例对本发明作进一步说明。
本实施例通过下述方法实现网页聚类:
1.通过爬虫等技术获得一个站点需要检测的所有网页的URL并存储到数据库中;
2.针对该站点中的每个网页,进行如下步骤的处理:
i.创建一URL队列,将当前页面的URL加入所述队列中;
ii.从所述队列POP出一个URL,获取该URL的页面内容并进行处理:
iii.当遇到<frame>或<iframe>标签时,如该标签存在src属性,则将属性值加入所述队列;
iv.当遇到<script>标签时,获取该标签内部的脚本片段;如该标签存在src属性,则通过网络获取该script文件内容,并将该文件内容作为一个原始的脚本片段。
举例来说,假设当前页面的html代码为:
urlcurrent:
            <html>
...
<script...>content1</script>
...
<script src=”url1”...></script>
...
<frame src=“url2”...>
<iframe src=”url3”...></iframe>
</html>
当前页面中的各个链接页面分别为:
url1:
       content2
url2:
       <html>
       ...
       <frame src=”url3”...>
       <script...>content3</script>
       ...
       <script...>content4</script>
       </html>
url3:
       <html>
       ...
       <script...>content4</script>
       <script...>content5</script>
       ...
       ...
       </html>
则当前网页中的脚本片段及其各级链接页面中的脚本片段依次包括:content1;content2;content3;content4;content4;content5;content4;content5。
若在上述分析过程中考虑当前页面的各级链接中出现了两个指向url3的链接的情况,而对url3的第二次引用不作处理,则最终得到的脚本片段包括:content1;content2;content3;content4;content4;content5,以下例证内容以此为基础。
3.对上述脚本片段中的每个均作下列处理:
将所有的参数列表替换为“(_val_)”,同时将所有的赋值语句“=...”替换为“=_val_”。
例如,假设content1的内容包括:
function MM_jumpMenu(targ,selObj,restore){//v3.0
eval(targ+″.location=″′+selObj.options[selObj.selectedIndex].value+″″′);
if(restore)selObj.selectedIndex=0;
}
则经过上述规格化后,content1变成:
function_MM_jumpMenu(_val_){//v3.0;
eval(_val_);
if(_val_)selObj.selectedIndex=_val_;
};
对每个脚本片段作上述规格化后,计算每个规格化后的脚本片段的md5值作为脚本片段标识,假设id1,id2,id3,id4,id5,id6依次表示上述脚本片段的标识。
4.按照上述五个脚本片段标识的大小排序,排序过程中,由于id5=id4,则仅保留id4,假设排序得到的序列是id6,id1,id3,id4,id2,计算这一序列的md5值作为当前页面的标识。
5.得到所有网页的标识后将标识相同的网页聚为一类。
在上述聚类结果的基础上,从每一类中任选10个网页进行详细检测以确定该类网页是否被挂马,即可确定该网站是否被挂马。
本发明发明人将本发明方法用于北京大学信息安全工程中心挂马网页检测平台,取得了良好的效果,对于每个待检测站点,有效的将需要检测的网页规模缩小至1/30-1/50,实现了本发明的目的,并取得了很好的实用性和推广应用前景。

Claims (8)

1.一种基于脚本特征的网页聚类方法,以多个网页作为聚类对象,其步骤包括:
a)获得网页中的脚本片段及其各级内嵌链接页面中的脚本片段;
b)对脚本片段作规格化处理后计算其特征值作为脚本片段标识;
c)将各个脚本片段标识排序后计算该序列的特征值作为网页标识;
d)将网页标识相同的网页聚为一类。
2.如权利要求1所述的网页聚类方法,其特征在于,所述多个网页是一个网站的所有页面。
3.如权利要求1所述的网页聚类方法,其特征在于,步骤a通过下列方法实现:
i.创建一URL队列,将当前页面的URL加入所述队列中;
ii.从所述队列POP出一个URL,获取该URL的页面内容并进行处理;
iii.当遇到<frame>或<iframe>标签时,如该标签存在src属性,则将属性值加入所述队列;
iv.当遇到<script>标签时,获取该标签内部的脚本片段;如该标签存在src属性,则获取src属性对象的script文件内容,并将该文件内容作为一个原始的脚本片段。
4.如权利要求1所述的网页聚类方法,其特征在于,步骤b所述规格化处理是:
将脚本片段中所有的参数列表和变量赋值替换为设定的字符。
5.如权利要求1所述的网页聚类方法,其特征在于,步骤b和步骤c所述特征值均为hash值,hash值可通过相同或不同的hash算法计算得到。
6.如权利要求5所述的网页聚类方法,其特征在于,所述hash值通过MD5或SHA512算法计算得到。
7.如权利要求1所述的网页聚类方法,其特征在于,在步骤a中,当所述各级链接页面中的多个页面的链接地址相同时,仅获得其中一个链接页面中的脚本片段。
8.如权利要求1所述的网页聚类方法,其特征在于,步骤c按照各个脚本片段标识由小到大的顺序排列,当出现标识相同的脚本片段时,仅保留其中一个。
CN2009100913343A 2009-08-18 2009-08-18 一种基于脚本特征的网页聚类方法 Expired - Fee Related CN101630325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100913343A CN101630325B (zh) 2009-08-18 2009-08-18 一种基于脚本特征的网页聚类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100913343A CN101630325B (zh) 2009-08-18 2009-08-18 一种基于脚本特征的网页聚类方法

Publications (2)

Publication Number Publication Date
CN101630325A true CN101630325A (zh) 2010-01-20
CN101630325B CN101630325B (zh) 2012-05-30

Family

ID=41575433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100913343A Expired - Fee Related CN101630325B (zh) 2009-08-18 2009-08-18 一种基于脚本特征的网页聚类方法

Country Status (1)

Country Link
CN (1) CN101630325B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102063484A (zh) * 2010-12-29 2011-05-18 北京安天电子设备有限公司 第三方web应用程序发现的方法和装置
CN102253937A (zh) * 2010-05-18 2011-11-23 阿里巴巴集团控股有限公司 获取网页中的感兴趣信息的方法及相关装置
CN103279710A (zh) * 2013-04-12 2013-09-04 深圳市易聆科信息技术有限公司 Internet信息系统恶意代码的检测方法和系统
CN104008334A (zh) * 2013-02-21 2014-08-27 腾讯科技(深圳)有限公司 一种文件的聚类方法和设备
CN106909569A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种根据网站聚类结果进行分析的方法及装置
CN104407979B (zh) * 2014-12-15 2017-06-30 北京国双科技有限公司 脚本检测方法和装置
CN107231379A (zh) * 2017-08-01 2017-10-03 西安交大捷普网络科技有限公司 web挂马网页的识别方法
CN107438053A (zh) * 2016-05-25 2017-12-05 阿里巴巴集团控股有限公司 域名识别方法、装置及服务器
CN110008688A (zh) * 2019-03-07 2019-07-12 北京华安普特网络科技有限公司 一种网站防挂马检测方法
CN112148957A (zh) * 2019-06-26 2020-12-29 北京百度网讯科技有限公司 网页访问数据分析方法、装置、设备及可读存储介质
TWI738126B (zh) * 2019-11-25 2021-09-01 大數軟體有限公司 網頁內容篩選的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253937A (zh) * 2010-05-18 2011-11-23 阿里巴巴集团控股有限公司 获取网页中的感兴趣信息的方法及相关装置
CN102043919B (zh) * 2010-12-27 2012-11-21 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102043919A (zh) * 2010-12-27 2011-05-04 北京安天电子设备有限公司 基于脚本虚拟机的漏洞通用检测方法和系统
CN102063484A (zh) * 2010-12-29 2011-05-18 北京安天电子设备有限公司 第三方web应用程序发现的方法和装置
CN102063484B (zh) * 2010-12-29 2013-04-10 北京安天电子设备有限公司 第三方web应用程序发现的方法和装置
CN104008334A (zh) * 2013-02-21 2014-08-27 腾讯科技(深圳)有限公司 一种文件的聚类方法和设备
WO2014127655A1 (zh) * 2013-02-21 2014-08-28 腾讯科技(深圳)有限公司 一种文件的聚类方法和设备
CN103279710A (zh) * 2013-04-12 2013-09-04 深圳市易聆科信息技术有限公司 Internet信息系统恶意代码的检测方法和系统
CN104407979B (zh) * 2014-12-15 2017-06-30 北京国双科技有限公司 脚本检测方法和装置
CN106909569A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种根据网站聚类结果进行分析的方法及装置
CN107438053A (zh) * 2016-05-25 2017-12-05 阿里巴巴集团控股有限公司 域名识别方法、装置及服务器
CN107438053B (zh) * 2016-05-25 2020-08-25 阿里巴巴集团控股有限公司 域名识别方法、装置及服务器
CN107231379A (zh) * 2017-08-01 2017-10-03 西安交大捷普网络科技有限公司 web挂马网页的识别方法
CN110008688A (zh) * 2019-03-07 2019-07-12 北京华安普特网络科技有限公司 一种网站防挂马检测方法
CN112148957A (zh) * 2019-06-26 2020-12-29 北京百度网讯科技有限公司 网页访问数据分析方法、装置、设备及可读存储介质
TWI738126B (zh) * 2019-11-25 2021-09-01 大數軟體有限公司 網頁內容篩選的方法

Also Published As

Publication number Publication date
CN101630325B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN101630325B (zh) 一种基于脚本特征的网页聚类方法
CN103559235B (zh) 一种在线社交网络恶意网页检测识别方法
CN106557695B (zh) 一种恶意应用检测方法和系统
CN101923617B (zh) 一种基于云的样本数据库动态维护方法
CN102222187B (zh) 基于域名构造特征的挂马网页检测方法
CN102799814B (zh) 一种钓鱼网站查找系统及方法
US20190265970A1 (en) Automatic identification of relevant software projects for cross project learning
CN103279710B (zh) Internet信息系统恶意代码的检测方法和系统
CN103577755A (zh) 一种基于支持向量机的恶意脚本静态检测方法
CN111639337A (zh) 一种面向海量Windows软件的未知恶意代码检测方法及系统
CN101924761A (zh) 一种依据白名单进行恶意程序检测的方法
JP2014502753A (ja) ウェブページ情報の検出方法及びシステム
CN107346433A (zh) 一种文本数据分类方法及服务器
CN110765459A (zh) 一种恶意脚本检测方法、装置和存储介质
CN108416034B (zh) 基于金融异构大数据的信息采集系统及其控制方法
CN104268064A (zh) 产品日志的异常诊断方法和装置
CN104361092A (zh) 搜索方法及装置
CN103607381A (zh) 白名单生成及恶意程序检测方法、客户端和服务器
CN102298681B (zh) 一种基于数据流切片的软件识别方法
Jiang et al. A feature selection method for malware detection
CN112148305A (zh) 一种应用检测方法、装置、计算机设备和可读存储介质
CN103475671A (zh) 恶意程序检测方法
Vadrevu et al. Maxs: Scaling malware execution with sequential multi-hypothesis testing
CN108197465B (zh) 一种网址检测方法及装置
CN107526833B (zh) 一种url管理方法、系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530

Termination date: 20150818

EXPY Termination of patent right or utility model