首页> 中国专利> 基于域名构造特征的挂马网页检测方法

基于域名构造特征的挂马网页检测方法

摘要

本发明公开了一种基于域名构造特征的挂马网页检测方法。该方法是通过已捕获的少量已知或可疑挂马网页URL,通过样本聚类获得构造规则,再通过构造规则进行衍生,最后通过对衍生出的可疑URL进行验证来发现未知挂马网站,从而可以在投入较少的情况下获得比较好的检测效果和明显提高检测效率,而且还可以得到大量的线索和数据。另外,由于本方法对检测目标范围进行了优化,因此可以优先检测可疑度高的目标,所以能够明显提高检测效率。此外,本方法还可以与传统的挂马网页检测方法相结合,并且在应用中可以前置,从而为传统的挂马网页检测方法缩小检测范围,并且仍能保持较好的召回率。

著录项

  • 公开/公告号CN102222187A

    专利类型发明专利

  • 公开/公告日2011-10-19

    原文格式PDF

  • 申请/专利权人 国家计算机病毒应急处理中心;

    申请/专利号CN201110146967.7

  • 申请日2011-06-02

  • 分类号G06F21/00(20060101);G06F17/30(20060101);H04L29/06(20060101);

  • 代理机构12108 天津才智专利商标代理有限公司;

  • 代理人庞学欣

  • 地址 300457 天津市塘沽区经济技术开发区第四大街80号C6座

  • 入库时间 2023-12-18 03:34:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-12-05

    授权

    授权

  • 2011-11-30

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20110602

    实质审查的生效

  • 2011-10-19

    公开

    公开

说明书

技术领域

本发明属于计算机技术领域,特别是涉及一种基于域名构造特征的挂马网页检测方法。

背景技术

挂马攻击是指攻击者在已经获得控制权的网站网页中嵌入恶意代码(通常是通过IFrame、Script引用来实现),当用户访问该网页时,嵌入的恶意代码将利用浏览器本身的漏洞、第三方ActiveX漏洞或者其它插件(如Flash、PDF插件等)漏洞,在用户不知情的情况下下载并执行恶意木马。

目前,在广域网上主动检测挂马网页的方法主要基于网络爬行技术,即:设置若干入口点,使用网络爬虫程序获取大量相关链接,再逐一进行后续判断。虽然该方法的检测范围较大,全面性好,但由于检测目标过于发散,所以需要消耗大量的服务器资源和网络资源,并且发现挂马网页的效率不高。

发明内容

为了解决上述问题,本发明的目的在于提供一种能够明显提高检测效率的基于域名构造特征的挂马网页检测方法。

为了达到上述目的,本发明提供的基于域名构造特征的挂马网页检测方法包括按顺序进行的下列步骤:

1)对已知恶意网页URL样本进行分析并提取特征的S1阶段:在此阶段中,从已知的恶意网页URL库中提取出已知恶意网页地址和域名,然后对其进行分析,并提取其特征,从而生成已知样本特征池;

2)根据特征对样本进行聚类的S2阶段:在此阶段中,对从S1阶段获得的已知样本特征池中的已知恶意网页URL样本进行聚类,从而求得各样本之间的匹配率;

3)获得每一类样本的构造规则的S3阶段:在此阶段中,先应用相同构造判断规则对经过聚类的已知样本逐一进行分类,然后分别确定能代表该类样本的构造规则,从而生成构造规则池;

4)通过构造规则生成衍生集合的S4阶段:在此阶段中,通过对构造规则池中的规则进行衍生,由此获得衍生集合;

5)用衍生集合样本判别恶意网页的S5阶段:在此阶段中,针对衍生集合中的URL样本,使用挂马网页主动检测系统逐一进行验证,如果从中发现恶意网页,达到预期目标;如果未能发现,则返回到S1阶段的入口处。

在S2阶段中,所述的对已知样本特征池中的样本进行聚类的方法包括按顺序进行的下列步骤:

a)从已知样本特征池中任意取两个挂马网页地址,截取其域名字符串domain1,domain2,然后分别计算两域名字符串长度差d;

b)计算上述两个域名的相似度序列Q1,Q2,Q3...;

c)获得两个域名字符串的匹配率;

d)重复上述步骤a)-c),直至完成对已知样本特征池中所有样本的聚类。

在步骤a)中,所述的计算两域名字符串长度差d所采用的具体做法是:对于任意2个挂马网页地址addr1,addr2∈Ui,截取其域名字符串分别domain1,domain2∈Ai,然后计算两域名字符串的长度差d=|Len(domain1)-Len(domain2)|。

在步骤b)中,所述的计算上述两个域名的相似度序列Q1,Q2,Q3...所采用的具体做法是:将domain2相对于domain1做从左至右的移动匹配计算,长度不足部分用空格补齐,每移动匹配一次,就计算一次匹配率M、重叠率L,进而得到相似度Q,其中,将字符串的长度记为n,相同字母的个数记为m,两字符串重叠的个数记为r,则有:

重叠率L:重叠字符串的个数与字符串的长度之比率,即:

匹配率M:对应位置字符相同或视觉相似的个数与字符串长度之比率,即:M=mn;

相似度Q:域名相似度Q=M2L=(m2n2)·(rn);

最后得到相似度序列Q1,Q2,Q3...Q2n-1

在步骤c)中,所述的获得两个域名字符串的匹配率所采用的具体做法是:在步骤b)所得到的相似度序列Q1,Q2,Q3...Q2n-1中取最大值,作为最终两个域名字符串的匹配率,即:(Qdomain1,domain2)=Max{Q1,Q2,Q3...Q2n-1}.

在S3阶段中,所述的相同构造判断规则所采用的具体判断方法是:

当domain1,domain2的相似度满足如下条件时,

Q(domain1,domain2)>0.5Len(domain1)<11,d<30.7Len(domain1)11,d<3

则认为domain1,domain2具有相同的构造规则p:

p=P(domain1,domain2)。

在S3阶段中,所述的构造规则p使用PERL正则表达式形式进行描述,如:

domain1=’baidu-opop1.cn’

domain2=’baidu-opop2.cn’

则有p=baidu-opop[d+].[Dtype+],其中[Dtype+]是自定义的变量,主要代表常见的域名类型,如“.cn”,“.com”,“.org”。

在S4阶段中,所述的对构造规则池中的规则进行衍生的方法包括按顺序进行的下列步骤:

e)从构造规则池中取一规则,分析其通配符数量,即统计[d+]、[w+]、[Dtype+]的数量;

f)根据通配符类型,对通配符进行赋值,[d+]的取值为[0,20]范围内的正整数;[w+]的取值为字母{a,b,c,…,z};[Dtype+]取值范围为常见域名{.cn,.com,.org,…,.net};

g)通过步骤f)获得与规则对应的衍生URL;

h)重复上述步骤e)-g),直至完成对构造规则池中所有规则的衍生,获得衍生集合。

本发明提供的基于域名构造特征的挂马网页检测方法是通过已捕获的少量已知或可疑挂马网页URL,通过样本聚类获得构造规则,再通过构造规则进行衍生,最后通过对衍生出的可疑URL进行验证来发现未知挂马网站,从而可以在投入较少的情况下获得比较好的检测效果和明显提高检测效率,而且还可以得到大量的线索和数据。另外,由于本方法对检测目标范围进行了优化,因此可以优先检测可疑度高的目标,所以能够明显提高检测效率。此外,本方法还可以与传统的挂马网页检测方法相结合,并且在应用中可以前置,从而为传统的挂马网页检测方法缩小检测范围,并且仍能保持较好的召回率。

附图说明

图1为本发明提供的基于域名构造特征的挂马网页检测方法流程图。

具体实施方式

本发明人通过对大量捕获的网页挂马数据进行统计分析,发现黑客的挂马活动具有工具化和批量化的特点。黑客在挂马前会申请一批域名,这些域名的构成具有一定规律和相似度。

如下列挂马网页地址:

http://baidu-opop1.cn/Bfyy.htm

http://baidu-opop1.cn/ce.htm

http://baidu-opop2.cn/ce.htm

http://baidu-opop2.cn/Bfyy.htm

http://baidu-opop3.cn/Bfyy.htm

http://baidu-opop3.cn/real10.htm

http://baidu-opop3.cn/ce.htm

http://baidu-opop4.cn/Bfyy.htm

http://baidu-opop4.cn/ie7.htm

http://baidu-opop6.cn/ce.htm

http://baidu-opop7.cn/Bfyy.htm

http://baidu-opop7.cn/ie7.htm

在这些网站地址中,域名部分:

baidu-opop.cn

baidu-opop1.cn

baidu-opop2.cn

baidu-opop3.cn

baidu-opop4.cn

baidu-opop6.cn

baidu-opop7.cn

以及路径部分:

/Bfyy.htm

/ce.htm

/ie7.htm

/real10.htm

均具有较强的相似性。

经过调研和分析,本发明人认为这种相似度产生的原因主要有:

(1)便于管理

目前网页挂马活动日益规模化、集团化,环节和复杂度也呈上升趋势,一个黑客团伙往往掌握成百上千个可用于挂马的网站域名,为了降低管理、维护难度,而逐渐形成了一种规范化的挂马网页管理和运作方式。

(2)提高域名申请的成功率

目前黑客在申请用于挂马的网站域名时,往往采用批量注册的方式,采用相似的构造方式往往可以在较短时间内注册一大批可用域名。而且目前自动域名注册程序已经出现,其功能同样是通过相应的构造规则进行批量注册。

(3)提高配置木马效率

黑客在挂马时,需要将挂马网页的URL写入木马程序或者写入被入侵的正常网页中,而且通过分析捕获的挂马网页,黑客建立的一个放马网站中同时储存20~40个不同功能的木马。因此采用相同的路径,可以仅变换提前申请的放马网站域名,即可生成挂马URL,然后对木马进行配置,这个过程一般采用工具实现。这样,黑客可以根据需要快速批量配置木马。

在分析挂马URL中域名、网页路径的组成特点后,本发明人提出了一种基于域名构造特征的挂马网页检测方法,通过已捕获的挂马网页地址,由本方法直接生成可能存在的未知挂马网页地址,然后再由挂马网页主动检测系统进行验证,从而快速发现未知的挂马网页。

下面结合附图和具体实施例对本发明提供的基于域名构造特征的挂马网页检测方法进行详细说明。

如图1所示,本发明提供的基于域名构造特征的挂马网页检测方法包括按顺序进行的下列步骤:

1)对已知恶意网页URL样本进行分析并提取特征的S1阶段:在此阶段中,从已知的恶意网页URL库D1中提取出已知恶意网页地址和域名,然后对其进行分析,并提取其特征,从而生成已知样本特征池D2;

2)根据特征对样本进行聚类的S2阶段:在此阶段中,对从S1阶段获得的已知样本特征池D2中的已知恶意网页URL样本进行聚类,从而求得各样本之间的匹配率;

3)获得每一类样本的构造规则的S3阶段:在此阶段中,先应用相同构造判断规则对经过聚类的已知样本逐一进行分类,然后分别确定能代表该类样本的构造规则,从而生成构造规则池D3;

4)通过构造规则生成衍生集合的S4阶段:在此阶段中,通过对构造规则池D3中的规则进行衍生,由此获得衍生集合D4;

5)用衍生集合样本判别恶意网页的S5阶段:在此阶段中,针对衍生集合D4中的URL样本,使用挂马网页主动检测系统逐一进行验证,如果从中发现恶意网页,达到预期目标;如果未能发现,则返回到S1阶段的入口处。

在S2阶段中,所述的对已知样本特征池D2中的样本进行聚类的方法包括按顺序进行的下列步骤:

a)从已知样本特征池D2中任意取两个挂马网页地址,截取其域名字符串domain1,domain2,然后分别计算两域名字符串长度差d;

b)计算上述两个域名的相似度序列Q1,Q2,Q3...;

d)获得两个域名字符串的匹配率;

d)重复上述步骤a)-c),直至完成对已知样本特征池D2中所有样本的聚类。

在步骤a)中,所述的计算两域名字符串长度差d所采用的具体做法是:对于任意2个挂马网页地址addr1,addr2∈Ui,截取其域名字符串分别domain1,domain2∈Ai,然后计算两域名字符串的长度差d=|Len(domain1)-Len(domain2)|。

在步骤b)中,所述的计算上述两个域名的相似度序列Q1,Q2,Q3...所采用的具体做法是:将domain2相对于domain1做从左至右的移动匹配计算,长度不足部分用空格补齐,每移动匹配一次,就计算一次匹配率M、重叠率L,进而得到相似度Q,其中,将字符串的长度记为n,相同字母的个数记为m,两字符串重叠的个数记为r,则有:

重叠率L:重叠字符串的个数与字符串的长度之比率,即:

匹配率M:对应位置字符相同或视觉相似的个数与字符串长度之比率,即:M=mn;

相似度Q:域名相似度Q=M2L=(m2n2)·(rn);

最后得到相似度序列Q1,Q2,Q3...Q2n-1

在步骤c)中,所述的获得两个域名字符串的匹配率所采用的具体做法是:在步骤b)所得到的相似度序列Q1,Q2,Q3...Q2n-1中取最大值,作为最终两个域名字符串的匹配率即:(Qdomain1,domain2)=Max{Q1,Q2,Q3...Q2n-1}.

在步骤b)计算匹配率M时,所述的视觉相似的具体判定依据是:

对于具有较强的视觉相似度的字符,即判定为视觉相似,本发明人经过统计拟定出了一个目前黑客常用的视觉相似度对应表(见表1),以用于匹配率M的计算。

表1视觉相似字符对照表

    说明    说明    0    字母0    0    数字0

    1    字母1    1    数字1    6    数字6    b    字母b    l    字母l    I字母i的大写    B    字母B    8    数字8

在S3阶段中,所述的相同构造判断规则所采用的具体判断方法是:

当domain1,domain2的相似度满足如下条件时,

Q(domain1,domain2)>0.5Len(domain1)<11,d<30.7Len(domain1)11,d<3

则可认为domain1,domain2具有相同的构造规则p:

p=P(domain1,domain2)。

在S3阶段中,所述的构造规则p使用PERL正则表达式形式进行描述,如:

domain1=’baidu-opop1.cn’

domain2=’baidu-opop2.cn’

则有p=baidu-opop[d+].[Dtype+],其中[Dtype+]是自定义的变量,主要代表常见的域名类型,如“.cn”,  “.com”,“.org”等。

下面通过具体实例说明在步骤c)中获得两个域名字符串的匹配率的具体过程:

例如:有域名domain1=‘justcctv6.cn’和domain2=’justcctvbb.cn’,为了提高效率,将域名进行简化,并将域名类型去除,即:domain1=‘justcctv6’,domain2=’justcctvbb’。

将domain2相对于domain1做从左至右的移动匹配计算,长度不足部分用空格补齐,每移动匹配一次,就计算一次匹配率M、重叠率L,进而得到相似度Q,如下所示。

又如:

domain1=’wm.sllbqsb.cn’

domain2=’wm.slldqsb.cn’

则有p=wm.sll[w+]qsb.[Dtype+]。

由此得到相似度序列Q1,Q2,Q3...Q19,而最终两个域名字符串的匹配率则取其中的最大值Max{Q1,Q2,Q3...Q19}。

在S4阶段中,所述的对构造规则池D3中的规则进行衍生的方法包括按顺序进行的下列步骤:

e)从构造规则池D3中取一规则,分析其通配符数量,即统计[d+]、[w+]、[Dtype+]的数量;

f)根据通配符类型,对通配符进行赋值,[d+]的取值为[0,20]范围内的正整数;[w+]的取值为字母{a,b,c,…,z};[Dtype+]取值范围为常见域名{.cn,.com,.org,…,.net};

g)通过步骤f)获得与规则对应的衍生URL;

h)重复上述步骤e)-g),直至完成对构造规则池D3中所有规则的衍生,获得衍生集合D4。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号