CN110851828A - 基于多维度特征的恶意url监测方法、装置和电子设备 - Google Patents

基于多维度特征的恶意url监测方法、装置和电子设备 Download PDF

Info

Publication number
CN110851828A
CN110851828A CN201910938573.1A CN201910938573A CN110851828A CN 110851828 A CN110851828 A CN 110851828A CN 201910938573 A CN201910938573 A CN 201910938573A CN 110851828 A CN110851828 A CN 110851828A
Authority
CN
China
Prior art keywords
url
detected
classifier
setting
features
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
Application number
CN201910938573.1A
Other languages
English (en)
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.)
Guangtong World Network Technology Co Ltd
Original Assignee
Guangtong World Network Technology Co Ltd
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 Guangtong World Network Technology Co Ltd filed Critical Guangtong World Network Technology Co Ltd
Priority to CN201910938573.1A priority Critical patent/CN110851828A/zh
Publication of CN110851828A publication Critical patent/CN110851828A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了基于多维度特征的恶意URL监测方法、装置和电子设备,其中,所述方法包括:查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问,否则,对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。

Description

基于多维度特征的恶意URL监测方法、装置和电子设备
技术领域
本发明涉及网络安全领域,尤其涉及基于多维度特征的恶意URL监测方法、装置和电子设备。
背景技术
URL:URL是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。URL以字符串的抽象形式来描述一个资源在万维网上的地址。一个URL唯一标识一个Web资源,通过与之对应的URL即可获得该资源。URL一般形式如下:
<scheme>:<scheme-specificpart>
具体来说,常用的URL格式如下:
协议类型://服务器地址[:端口号]/路径/文件名[参数=值]
上述结构中[]部分是可选的。如果端口号与相关协议默认值不同,则需包含端口号。其中协议类型包括HTTP,MAILTO,FILE,FTP等。利用HTTP协议访问万维网上的一个资源的URL形如:
http://website.com/goods/search.phpterm-apple
其中website.com表示服务器,search.php是服务器端的一个脚本文件,之后紧跟脚本执行所需要的参数term,而apple为用户输入的对应term的参数值。
除上述的绝对形式外,还可以相对某一特殊主机或主机上的一个特殊路径指定URL,如:
/goods/search.phpterm-apple
/search.phpterm-apple
Web页面常常用上述相对形式描述Web站点或者应用程序中的导航。如图1所示。
恶意URL:恶意URL在广义上是指用户非自愿访问的网站地址,这些网站内通常被植入了木马、病毒、广告等恶意代码,这些恶意代码通过伪装成正常服务来诱导用户进行访问。一旦进入这些恶意URL,用户通常会遭受广告弹窗、强制安装软件或信息被盗等危害。
现有的恶意url识别技术一般采用调用第三方如Google提供的恶意url数据库接口中的数据进行判断一个url是否恶意,这样一个恶意url是否被检测就局限于数据库的丰富程度,即使恶意url数据库很大,但对于新增的恶意url也无法识别。
min-max标准化(Min-maxnormalization):也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:
对序列x1,x2,…,xn进行变换:
Figure BDA0002222257100000021
其中max为样本数据的最大值,min为样本数据的最小值。则新序列y1,y2,…,yn∈[0,1]且无量纲。一般的数据需要时都可以考虑先进行规范化处理。
首先min-max标准化是为了使数据落在一个固定的区间(即0到1)内方便数据处理,假设有一组数据x1,x2,…,xn进行minmax标准化处理,xn表示第n个数据,处理的结果是yi,那么yi应等于对应的xi减去序列中的最小值后除以序列中最大值减最小值。即为上述公式所示。
这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
发明内容
针对现有技术的不足,本发明提供了基于多维度特征的恶意URL监测方法、装置和电子设备,其中,基于多维度特征的恶意URL监测方法,包括:查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问,否则,对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;
基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。
所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,包括:设置协议特征Protocol、域名级数特征NUMURL、端口特征Port、路径级数特征path、长度特征URLLen、大小写特征URLA、特殊字符特征URLS、注册时间特征URLT、Alexa排名特征URLP、页面等级特征PageRank、ip地址特征URLIP、域名解析所在地特征URLLO、备案特征URLPO;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,还包括:
设置协议特征Protocol:
Figure BDA0002222257100000031
设置域名级数特征NUMURL:
Figure BDA0002222257100000032
其中,numURL表示待检测的URL域名级数,numURL=dot(URL)+1,dot(URL)表示待检测的URL域名中点的个数;例如:www.baidu.com,中有两个点,判断为三级域名,pan.baidu.com也是三级域名。一般情况下四级域名很少见。(根据经验判断),其他的设定同理。在设定时,一般设置为0或1,一般符合正常情况设定为0,不符合一般情况设定为1
设置端口特征Port:
Figure BDA0002222257100000033
设置路径级数特征path:
Figure BDA0002222257100000034
其中,numG表示待检测的URL域名后面的符号/的个数;
设置长度特征URLLen:
Figure BDA0002222257100000041
其中,len(URL)表示待检测的URL的长度;
设置大小写特征URLA:
Figure BDA0002222257100000042
设置特殊字符特征URLS:
Figure BDA0002222257100000043
所述特殊字符包括:~!@#$%^&*()_+<>,|;
设置注册时间特征URLT:
Figure BDA0002222257100000044
设置Alexa排名特征URLP:
Figure BDA0002222257100000045
设置页面等级特征PageRank:
Figure BDA0002222257100000046
PR表示网页级别,PR值是Google用于标识网页的等级、重要性、网站的好坏的重要标准之一。级别从0到10级为满分。PR值越高说明该网页越受欢迎。而设置
Figure BDA0002222257100000047
则是为了PageRank在0-1范围内PR值越大,PageRank越小;
设置ip地址特征URLIP:
Figure BDA0002222257100000048
设置域名解析所在地特征URLLO:
Figure BDA0002222257100000049
设置备案特征URLPO:
Figure BDA0002222257100000051
进行初步判断:如果URLIP=1,或者满足URLLO=0且URLPO=1,直接判断待检测的URL为恶意URL;
所述基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,包括:
基于结构特征和情报特征构建决策树分类器和贝叶斯分类器,基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL。
所述基于结构特征和情报特征构建决策树分类器,包括:
所述决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果,设D为数据类别的划分,则D的熵Info(D)表示为:
Figure BDA0002222257100000052
其中,pi表示第i个类别在整个数据中的概率;
设定对数据中属性A进行划分,则期望信息Infoa(D)为:
Figure BDA0002222257100000053
Info(Dj)代表的是属性A中单独一种可能的熵值,比如属性A为域名级数NUMURL,那么NUMURL分为0和1两种情况,j=1就是第一种情况,j=2就是第二种情况,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数,D代表的是总共的域名个数;
属性A的信息增益Gain(A)计算公式如下:
Gain(A)=Info(D)-Infoa(D) (3)
将信息增益规范化:
Figure BDA0002222257100000054
Split_InfoA(D)为分裂信息度量,其实就是对属性A通过算法得到的熵值;
属性A的信息增益率Gain_Ratio(A)为:
Figure BDA0002222257100000055
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
由于特征过多,所以选取域名级数一个特征举例说明:
假如有10个域名样本,其中四个恶意域名,6个非恶意域名,域名级数特征如下表1所示:
表1
Figure BDA0002222257100000061
所以根据公式1
Figure BDA0002222257100000062
可以求得分裂前信息熵即D的熵Info(D)=-(4/10)*log2(4/10)-(6/10)*log2(6/10)=0.970951
对域名级数进行划分,可得到如下表2所示:
表2
域名级数 恶意 非恶意
0 3 4
1 1 2
根据公式(2)
Figure BDA0002222257100000063
可求得域名级数的信息期望Infoa(D),首先求Info(Di)即域名级数为0或1情况下的信息熵,根据公式(1)可得:
域名级数为0时:Info(0)=-(3/7)*log2(3/7)-(4/7)*log2(4/7)=0.985228
域名级数为1时:Info(1)=-(1/3)*log2(1/3)-(2/3)*log2(2/3)=0.918296
Infoa(D)=(7/10)*Info(0)+(3/10)*Info(1)=0.965148
根据公式(3)Gain(A)=Info(D)-Infoa(D)即可求出信息增益率为:
Gain(A)=0.970951-0.965148=0.005802
将信息增益规范化,根据公式(4)
Figure BDA0002222257100000071
求得域名级数的分裂信息度量Split_InfoA(D)=-(7/10)*log2(7/10)-(3/10)*log2(3/10)=0.881290899
根据公式(5)求得信息增益率为:
Figure BDA0002222257100000073
然后根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
所述基于结构特征和情报特征构建贝叶斯分类器,包括:
所述贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别,具体包括如下步骤:
步骤a1,设数据样本(本发明中使用的数据样本均可以通过站长之家,Google、Alexa等网站提供的大量黑或白的url)有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure BDA0002222257100000074
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
所述样本URL包括善意URL数据和恶意URL数据。
所述基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL,包括:
设f(x)为待检测的URL最后的检测值,ai为分类器的分类值,i=1,2,wi为分类器的权重,w1表示分类器的第一组权重,w2表示分类器的第二组权重,则f(x)表示为:
Figure BDA0002222257100000081
将分类器的权重设计为两组值:
w1={wj48=0.6,wsvm=0.4},
w2={wj48=0.5,wsvm=0.5},
wj48表示决策树分类器的权重,wsvm表示贝叶斯分类器的权重;
对于从待检测的URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1等于∑待检测的URL的结构特征值,
令attr2等于∑待检测的URL的情报特征值,
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2。
当f(x)>=0.6时,判定待检测的URL为恶意URL,禁止访问,否则判定其为善意的URL。
本发明还提供了基于多维度特征的恶意URL监测装置,包括初步比对模块、特征提取模块和恶意URL检测模块;
其中,所述初步比对模块,用于,查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问;
所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;
所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。
本发明所述装置中,进一步地,所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,包括:设置协议特征Protocol、域名级数特征NUMURL、端口特征Port、路径级数特征path、长度特征URLLen、大小写特征URLA、特殊字符特征URLS、注册时间特征URLT、Alexa排名特征URLP、页面等级特征PageRank、ip地址特征URLIP、域名解析所在地特征URLLO、备案特征URLPO;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,还包括:设置协议特征Protocol:
Figure BDA0002222257100000091
设置域名级数特征NUMURL:
其中,numURL表示待检测的URL域名级数,numURL=dot(URL)+1,dot(URL)表示待检测的URL域名中点的个数;
设置端口特征Port:
Figure BDA0002222257100000093
设置路径级数特征path:
Figure BDA0002222257100000094
其中,numG表示待检测的URL域名后面的符号/的个数;
设置长度特征URLLen:
Figure BDA0002222257100000101
其中,len(URL)表示待检测的URL的长度;设置大小写特征URLA:
设置特殊字符特征URLS:
Figure BDA0002222257100000103
所述特殊字符包括:~!@#$%^&*()_+<>,|;设置注册时间特征URLT:
Figure BDA0002222257100000104
设置Alexa排名特征URLP:
Figure BDA0002222257100000105
设置页面等级特征PageRank:
Figure BDA0002222257100000106
PR表示网页级别;
设置ip地址特征URLIP:
Figure BDA0002222257100000107
设置域名解析所在地特征URLLO:
Figure BDA0002222257100000108
设置备案特征URLPO:
Figure BDA0002222257100000109
进行初步判断:如果URLIP=1,或者满足URLLO=0且URLPO=1,直接判断待检测的URL为恶意URL;
本发明所述装置中,进一步地,所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,包括:
基于结构特征和情报特征构建决策树分类器和贝叶斯分类器,基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL。
本发明所述装置中,进一步地,所述基于结构特征和情报特征构建决策树分类器,包括:
所述决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果,设D为数据类别的划分,则D的熵Info(D)表示为:
Figure BDA0002222257100000111
其中,pi表示第i个类别在整个数据中的概率;
设定对数据中属性A进行划分,则期望信息Infoa(D)为:
Info(Dj)代表的是属性A中单独一种可能的熵值,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数;D代表的是总共的域名个数;
属性A的信息增益Gain(A)计算公式如下:
Gain(A)=Info(D)-Infoa(D) (3)
将信息增益规范化:
Figure BDA0002222257100000113
Split_InfoA(D)为分裂信息度量;
属性A的信息增益率Gain_Ratio(A)为:
Figure BDA0002222257100000114
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
本发明所述装置中,进一步地,所述基于结构特征和情报特征构建贝叶斯分类器,包括:
所述贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别,具体包括如下步骤:
步骤a1,设数据样本有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure BDA0002222257100000121
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
本发明所述装置中,进一步地,所述样本URL包括善意URL数据和恶意URL数据。
本发明所述装置中,进一步地,,所述基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL,包括:
设f(x)为待检测的URL最后的检测值,ai为分类器的分类值,i=1,2,wi为分类器的权重,w1表示分类器的第一组权重,w2表示分类器的第二组权重,则f(x)表示为:
Figure BDA0002222257100000131
将分类器的权重设计为两组值:
w1={wj48=0.6,wsvm=0.4},
w2={wj48=0.5,wsvm=0.5},
wj48表示决策树分类器的权重,wsvm表示贝叶斯分类器的权重;
对于从待检测的URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1等于∑待检测的URL的结构特征值,
令attr2等于∑待检测的URL的情报特征值,
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2。
当f(x)>=0.6时,判定待检测的URL为恶意URL,禁止访问,否则判定其为善意的URL。
本发明还提供了一种电子设备,包括:处理器和存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的基于多维度特征的恶意URL监测方法。
有益效果:本发明通过对大量url的特征进行提取通过算法进行计算从而判断出这些url特征是否为恶意url的阈值,这样可以有效的避免因恶意url数据库不够大而识别不出恶意url的情况,也可以有效的识别出公网上新增加的恶意url,在及时性方面有了显著的提高。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是Web页面导航示意图。
图2是基于多维度特征的恶意URL监测装置架构示意图。
图3是本发明提供的电子设备架构图。
具体实施方式
随着恶意URL的增多,普通的URL检测无法做到实时更新恶意URL库,所以就需要对每个URL进行判断来保护用户的访问。一个URL本身就携带了一定的判断信息,并且URL是需要进行注册的,这样URL本身就携带了一些公共信息,通过这些信息就可以有效的判断一个URL是否恶意。
步骤一:查询现有的威胁情报库中的URL信息做对比,如果存在则禁止访问,如果不存在则跳往步骤二。恶意URL现有的库采用Google浏览器公开的URL黑名单库,只需要通过调用Google的公共API接口即可实现。
步骤二:对待检测的URL提取结构特征、情报特征。
步骤三:进行判断。
具体步骤实现如下:
一:查询现有的威胁情报库中的URL信息做对比,如果存在则禁止访问,如果不存在则跳往步骤二。恶意URL现有的威胁情报库采用Google浏览器公开的URL黑名单库,只需要通过调用Google的公共API接口即可实现。
二:特征提取
1:协议特征:http、https、其他
对于一般的用户来说,访问一个URL的协议都是http或https协议,其他的协议基本用不到,所以设置协议特征Protocol如下:
Figure BDA0002222257100000141
2:域名级数特征:提取待检测的URL域名中点的个数dot(URL),设定个数为n,dot(URL)=n,域名级数numURL=dot(URL)+1;
URL中的域名级数可以反映二级域名、三级域名的情况,一般情况下,由于恶意URL通常依靠高仿域名主体诱导用户点击,因此点的个数越多,URL就越危险。设置域名级数特征NUMURL如下:
Figure BDA0002222257100000142
3:端口特征:提取域名中“:”后面的数字,无“:”,则默认;
一般情况下客户访问的URL都是默认不显示端口的,不显示端口代表使用的标准端口,后没有数字代表使用的标准端口,“:80”和“:443”,也是标准端口,其他端口都是不标准的。所以设置端口特征Port如下:
4:路径级数特征:通过域名后符号“/”的个数判断,符号“/”的个数记为numG;
域名后面的符号“/”为路径数,一般情况下,恶意URL的路径数都很多,所以设置路径级数特征path如下:
Figure BDA0002222257100000152
5:URL长度:一个字符一个长度,URL的长度记为len(URL);
URL的长度,它从一定程度反映出了URL的危险性,通常URL越长其危险性越高,设置URL长度特征如下:
Figure BDA0002222257100000153
6:URL大小写:是否存在大写字母:
在正常的URL中很少出现大小写混合的情况,因此存在大写字母的URL也存在一定的威胁,设置URL大小写特征URLA如下:
7:URL是否存在特殊字符:
恶意URL通常包含一些特殊字符来迷惑用户。设置特殊字符特征URLS:
Figure BDA0002222257100000155
特殊字符包括:“~!@#$%^&*()_+<>,|”;
8:URL域名注册时间:查询方式:站长api;
通过在DNS信息库中查询该URL的域名基础信息,可以获取对应域名的注册时间。恶意URL的域名由于受到检测而经常被封杀,因此恶意URL的域名更换十分频繁,其注册时间也往往很短。这里设置1年为其阈值,则URL的注册时间特征URLT如下:
Figure BDA0002222257100000156
9:Alexa排名:查询方站长api;
URL的Alexa排名,通过在DNS信息库中查询该URL的域名基础信息,可以获取对应域名的Alexa排名。正常的URL排名通常靠前,恶意URL的Alexa排名靠后,因此可以将Alexa排名作为URL的一个特征。先对恶意URL数据集的Alexa排名情况进行统计,将其阈值设置为1000万,则URL的Alexa排名特征URLP如下:
10:PageRank值:查询方式:站长api;
URL的页面等级值,通过在URL信息库中查询该URL的基础信息,可以获取该URL的页面等级值。PageRank通过网络的链接关系来确定一个页面的等级,评分在0~10之间。恶意URL的页面链接关系很小,其页面等级评分往往接近于0。因此,将PageRank作为URL的一个重要情报特征。采用min-max标准化方法归一化处理,URL的页面等级特征PageRank如下:
Figure BDA0002222257100000162
11:域名是否为ip地址:xxx.xxx.xxx.xxx;设置ip地址特征URLIP:
Figure BDA0002222257100000163
12:域名解析所在地(国内国外),设置域名解析所在地特征URLLO:
13:如果URLLO=0,则读取域名是否备案(查询方式:站长api),从而得到备案特征URLPO:
Figure BDA0002222257100000165
三:恶意URL判断
(一):初步判断
1、目前都是通过域名绑定ip,之后通过域名的形式访问,如果使用ip会混淆用户对URL的认知,如使用www.baidu.com,用户可以一眼看出URL的用途,但使用111.111.111.11,则不行,风险度极高,所以URLIP=1,直接判断为恶意URL。URLIP=0,到下一步。
2、注册在国内的域名,由于国家严格的监管,都要进行域名备案,如为备案则说明是非法的,所以当URLLO=0且URLPO=1,直接判断为恶意URL,其他情况到步骤三。
(二):基于特征的判断
特征提取剩下的字段如下:
{Protocol,NUMURL,Port,path,URLLen,URLA,URLS,URLT,URLP,PageRank}
上述十个特征分为两类,结构特征和情报特征:
结构特征如下:{Protocol,NUMURL,Port,path,URLLen,URLA,URLS}
情报特征:{URLT,URLP,PageRank}
能够从威胁情报平台中获取大量的URL样本信息,并对这些样本信息提取结构特征、情报特征;采用机器学习分类算法训练分类器,将未知类型的样本映射到给定类型中的某一个,进而实现对恶意URL的检测。
一:决策树分类器
决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果。该算法的关键是构造决策树模型,这里选择信息增益率作为属性选择度量的方法。根据信息论,信息增益越大,不确定性越小,从而纯度越高。设D为数据类别的划分,则D的熵Info(D)表示为:
其中,pi表示第i个类别在整个数据中的概率。设定对数据中属性A进行划分,则其期望信息Infoa(D)为:
Figure BDA0002222257100000172
Info(Dj)代表的是属性A中单独一种可能的熵值,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数;D代表的是总共的域名个数;
属性A的信息增益Gain(A)是两者的差值:
Gain(A)=Info(D)-Infoa(D) (3)
使用信息增益作为属性选择的度量会偏向于选择拥有大量不同值的属性。为了解决该问题,这里使用了分裂信息,将信息增益规范化:
Figure BDA0002222257100000181
Split_InfoA(D)为分裂信息度量;
最后,属性A的信息增益率Gain_Ratio(A)为:
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
二:贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别。朴素贝叶斯分类的思想如下:
步骤a1,设数据样本有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure BDA0002222257100000183
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
对于分类器需要的URL样本,恶意URL数据主要来源于PhishTank、MESD和守望者等外部共享情报,善意URL数据主要来源于DMOZ和Alexa网站提供的数据。通过这些样本进行分类器的训练。
每一种分类算法都有各自的适用性,对于相同的数据,选择不同的算法可能会产生不同的分类效果。本文针对URL的检测特征,分别构建了决策树分类器、贝叶斯分类器,根据待检测URL特征值的特点对2个分类器选择不同的权重。针对URL最终的检测结果采取投票机制,其由2个分类器共同判定。
设f(x)为待检测的URL最后的检测值,ai(i=1,2)为分类器的分类值,wi(i=1,2)为分类器的权重,则f(x)表示为:
Figure BDA0002222257100000191
根据各个分类器对样本数据的分类结果,发现j48的分类效果优于svm。为了得到最优分类效果,将分类器的权重设计为两组值:
W1={wj48=0.6,wsvm=0.4},
W2={wj48=0.5,wsvm=0.5},
对于从每一个URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1=∑URL的结构特征值;
令attr2=∑URL的情报特征值;
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2。
根据分类器权重的划分和分类器训练的结果,将检测结果的阈值设置为0.6较为合理。当f(x)>=0.6时,判定该URL为恶意URL,否则判定其为善意的URL。
本发明还提供了基于多维度特征的恶意URL监测装置100,如图2所示,包括初步比对模块101、特征提取模块102和恶意URL检测模块103;
其中,所述初步比对模块,用于,查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问;
所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;
所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。
本发明所述装置中,进一步地,所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,包括:设置协议特征Protocol、域名级数特征NUMURL、端口特征Port、路径级数特征path、长度特征URLLen、大小写特征URLA、特殊字符特征URLS、注册时间特征URLT、Alexa排名特征URLP、页面等级特征PageRank、ip地址特征URLIP、域名解析所在地特征URLLO、备案特征URLPO;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,还包括:设置协议特征Protocol:
设置域名级数特征NUMURL:
Figure BDA0002222257100000202
其中,numURL表示待检测的URL域名级数,numURL=dot(URL)+1,dot(URL)表示待检测的URL域名中点的个数;
设置端口特征Port:
Figure BDA0002222257100000203
设置路径级数特征path:
Figure BDA0002222257100000211
其中,numG表示待检测的URL域名后面的符号/的个数;
设置长度特征URLLen:
Figure BDA0002222257100000212
其中,len(URL)表示待检测的URL的长度;
设置大小写特征URLA:
Figure BDA0002222257100000213
设置特殊字符特征URLS:
Figure BDA0002222257100000214
所述特殊字符包括:~!@#$%^&*()_+<>,|;
设置注册时间特征URLT:
Figure BDA0002222257100000215
设置Alexa排名特征URLP:
Figure BDA0002222257100000216
设置页面等级特征PageRank:
Figure BDA0002222257100000217
设置ip地址特征URLIP:
Figure BDA0002222257100000218
设置域名解析所在地特征URLLO:
设置备案特征URLPO:
进行初步判断:如果URLIP=1,或者满足URLLO=0且URLPO=1,直接判断待检测的URL为恶意URL;
本发明所述装置中,进一步地,所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,包括:
基于结构特征和情报特征构建决策树分类器和贝叶斯分类器,基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL。
本发明所述装置中,进一步地,所述基于结构特征和情报特征构建决策树分类器,包括:
所述决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果,设D为数据类别的划分,则D的熵Info(D)表示为:
Figure BDA0002222257100000222
其中,pi表示第i个类别在整个数据中的概率;
设定对数据中属性A进行划分,则期望信息Infoa(D)为:
Figure BDA0002222257100000223
Info(Dj)代表的是属性A中单独一种可能的熵值,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数;D代表的是总共的域名个数;
属性A的信息增益Gain(A)计算公式如下:
Gain(A)=Info(D)-Infoa(D) (3)
将信息增益规范化:
Figure BDA0002222257100000224
Split_InfoA(D)为分裂信息度量;
属性A的信息增益率Gain_Ratio(A)为:
Figure BDA0002222257100000231
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
本发明所述装置中,进一步地,所述基于结构特征和情报特征构建贝叶斯分类器,包括:
所述贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别,具体包括如下步骤:
步骤a1,设数据样本有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure BDA0002222257100000232
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
本发明所述装置中,进一步地,所述样本URL包括善意URL数据和恶意URL数据。
本发明所述装置中,进一步地,,所述基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL,包括:
设f(x)为待检测的URL最后的检测值,ai为分类器的分类值,i=1,2,wi为分类器的权重,w1表示分类器的第一组权重,w2表示分类器的第二组权重,则f(x)表示为:
Figure BDA0002222257100000241
将分类器的权重设计为两组值:
w1={wj48=0.6,wsvm=0.4},
w2={wj48=0.5,wsvm=0.5},
wj48表示决策树分类器的权重,wsvm表示贝叶斯分类器的权重;
对于从待检测的URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1等于∑待检测的URL的结构特征值,
令attr2等于∑待检测的URL的情报特征值,
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2。
当f(x)>=0.6时,判定待检测的URL为恶意URL,禁止访问,否则判定其为善意的URL。
如上所述,根据本申请实施例的基于多维度特征的恶意URL监测装置,可以实现在各种终端设备中,例如分布式计算系统的服务器。在一个示例中,根据本申请实施例的基于多维度特征的恶意URL监测装置可以作为一个软件模块和/或硬件模块而集成到所述终端设备中。例如,该基于多维度特征的恶意URL监测装置可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该基于多维度特征的恶意URL监测装置同样可以是该终端设备的众多硬件模块之一。
替换地,在另一示例中,该基于多维度特征的恶意URL监测装置与终端设备也可以是分立的终端设备,并且该基于多维度特征的恶意URL监测装置可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。
如图3所示,本申请还提供一种电子设备10,包括:
一个或多个处理器11和存储器12,处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的基于多维度特征的恶意URL监测方法以及/或者其他期望的功能。
在一个示例中,电子设备10还可以包括输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是键盘、鼠标等。
该输出装置14可以向外部输出各种信息,包括基于多维度特征的恶意URL监测方法的结果等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等。
当然,为了简化,图3中仅示出了该电子设备10与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。
根据本申请的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的基于多维度特征的恶意URL监测方法。
本发明提供了基于多维度特征的恶意URL监测方法、装置和电子设备,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (17)

1.基于多维度特征的恶意URL监测方法,其特征在于,包括:
查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问,否则,对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;
基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。
2.根据权利要求1所述的方法,其特征在于,所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,包括:设置协议特征Protocol、域名级数特征NUMURL、端口特征Port、路径级数特征path、长度特征URLLen、大小写特征URLA、特殊字符特征URLS、注册时间特征URLT、Alexa排名特征URLP、页面等级特征PageRank、ip地址特征URLIP、域名解析所在地特征URLLO、备案特征URLPO;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
3.根据权利要求2所述的方法,其特征在于,所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,还包括:
设置协议特征Protocol:
Figure FDA0002222257090000011
设置域名级数特征NUMURL:
Figure FDA0002222257090000012
其中,numURL表示待检测的URL域名级数,numURL=dot(URL)+1,dot(URL)表示待检测的URL域名中点的个数;
设置端口特征Port:
设置路径级数特征path:
Figure FDA0002222257090000022
其中,numG表示待检测的URL域名后面的符号/的个数;
设置长度特征URLLen:
Figure FDA0002222257090000023
其中,len(URL)表示待检测的URL的长度;
设置大小写特征URLA:
Figure FDA0002222257090000024
设置特殊字符特征URLS:
Figure FDA0002222257090000025
所述特殊字符包括:~!@#$%^&*()_+<>,|;
设置注册时间特征URLT:
Figure FDA0002222257090000026
设置Alexa排名特征URLP:
Figure FDA0002222257090000027
设置页面等级特征PageRank:
Figure FDA0002222257090000028
PR表示网页级别;
设置ip地址特征URLIP:
Figure FDA0002222257090000031
设置域名解析所在地特征URLLO:
Figure FDA0002222257090000032
设置备案特征URLPO:
Figure FDA0002222257090000033
进行初步判断:如果URLIP=1,或者满足URLLO=0且URLPO=1,直接判断待检测的URL为恶意URL。
4.根据权利要求3所述的方法,其特征在于,所述基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,包括:
基于结构特征和情报特征构建决策树分类器和贝叶斯分类器,基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL。
5.根据权利要求4所述的方法,其特征在于,所述基于结构特征和情报特征构建决策树分类器,包括:
所述决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果,设D为数据类别的划分,则D的熵Info(D)表示为:
Figure FDA0002222257090000034
其中,pi表示第i个类别在整个数据中的概率;
设定对数据中属性A进行划分,则期望信息Infoa(D)为:
Figure FDA0002222257090000035
Info(Dj)代表的是属性A中单独一种可能的熵值,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数;D代表的是总共的域名个数;
属性A的信息增益Gain(A)计算公式如下:
Gain(A)=Info(D)-Infoa(D) (3)
将信息增益规范化:
Split_InfoA(D)为分裂信息度量;
属性A的信息增益率Gain_Ratio(A)为:
Figure FDA0002222257090000042
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
6.根据权利要求5所述的方法,其特征在于,所述基于结构特征和情报特征构建贝叶斯分类器,包括:
所述贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别,具体包括如下步骤:
步骤a1,设数据样本有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure FDA0002222257090000043
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
7.根据权利要求6所述的方法,其特征在于,所述样本URL包括善意URL数据和恶意URL数据。
8.根据权利要求7所述的方法,其特征在于,所述基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL,包括:
设f(x)为待检测的URL最后的检测值,ai为分类器的分类值,i=1,2,wi为分类器的权重,w1表示分类器的第一组权重,w2表示分类器的第二组权重,则f(x)表示为:
Figure FDA0002222257090000051
将分类器的权重设计为两组值:
w1={wj48=0.6,wsvm=0.4},
w2={wj48=0.5,wsvm=0.5},
wj48表示决策树分类器的权重,wsvm表示贝叶斯分类器的权重;
对于从待检测的URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1等于∑待检测的URL的结构特征值,
令attr2等于∑待检测的URL的情报特征值,
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2;
当f(x)>=0.6时,判定待检测的URL为恶意URL,禁止访问,否则判定其为善意的URL。
9.基于多维度特征的恶意URL监测装置,其特征在于,包括初步比对模块、特征提取模块和恶意URL检测模块;
其中,所述初步比对模块,用于,查询现有的威胁情报库中的URL信息,与待检测的URL进行比对,如果待检测的URL属于现有的威胁情报库中的恶意URL,则禁止访问;
所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征;
所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,如果属于,则禁止访问。
10.根据权利要求9所述的装置,其特征在于,所述特征提取模块,用于,如果待检测的URL不属于现有的威胁情报库中的恶意URL,则对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,包括:设置协议特征Protocol、域名级数特征NUMURL、端口特征Port、路径级数特征path、长度特征URLLen、大小写特征URLA、特殊字符特征URLS、注册时间特征URLT、Alexa排名特征URLP、页面等级特征PageRank、ip地址特征URLIP、域名解析所在地特征URLLO、备案特征URLPO;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
11.根据权利要求10所述的装置,其特征在于,所述对待检测的URL提取特征,进行初步判断,并根据提取的特征得到结构特征和情报特征,还包括:设置协议特征Protocol:
Figure FDA0002222257090000061
设置域名级数特征NUMURL:
Figure FDA0002222257090000062
其中,numURL表示待检测的URL域名级数,numURL=dot(URL)+1,dot(URL)表示待检测的URL域名中点的个数;
设置端口特征Port:
Figure FDA0002222257090000063
设置路径级数特征path:
Figure FDA0002222257090000064
其中,numG表示待检测的URL域名后面的符号/的个数;
设置长度特征URLLen:
Figure FDA0002222257090000071
其中,len(URL)表示待检测的URL的长度;
设置大小写特征URLA:
Figure FDA0002222257090000072
设置特殊字符特征URLS:
Figure FDA0002222257090000073
所述特殊字符包括:~!@#$%^&*()_+<>,|;
设置注册时间特征URLT:
Figure FDA0002222257090000074
设置Alexa排名特征URLP:
Figure FDA0002222257090000075
设置页面等级特征PageRank:
Figure FDA0002222257090000076
PR表示网页级别;
设置ip地址特征URLIP:
Figure FDA0002222257090000077
设置域名解析所在地特征URLLO:
Figure FDA0002222257090000078
设置备案特征URLPO:
进行初步判断:如果URLIP=1,或者满足URLLO=0且URLPO=1,直接判断待检测的URL为恶意URL;
其中,所述结构特征包括Protocol,NUMURL,Port,path,URLLen,URLA,URLS;
所述情报特征包括URLT,URLP,PageRank。
12.根据权利要求11所述的装置,其特征在于,所述恶意URL检测模块,用于,基于结构特征和情报特征,判定待检测的URL是否属于恶意URL,包括:
基于结构特征和情报特征构建决策树分类器和贝叶斯分类器,基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL。
13.根据权利要求12所述的装置,其特征在于,所述基于结构特征和情报特征构建决策树分类器,包括:
所述决策树分类器采用J48决策树算法,基于从上到下的递归策略,从根节点开始根据不同的特征属性选择输出分支,直到叶子节点,并将叶子节点存放的类别作为决策结果,设D为数据类别的划分,则D的熵Info(D)表示为:
Figure FDA0002222257090000082
其中,pi表示第i个类别在整个数据中的概率;
设定对数据中属性A进行划分,则期望信息Infoa(D)为:
Figure FDA0002222257090000083
Info(Dj)代表的是属性A中单独一种可能的熵值,m就是代表属性A可能出现类别的数量;Dj代表的是在A为j的情况下,所有的域名个数;D代表的是总共的域名个数;
属性A的信息增益Gain(A)计算公式如下:
Gain(A)=Info(D)-Infoa(D) (3)
将信息增益规范化:
Figure FDA0002222257090000084
Split_InfoA(D)为分裂信息度量;
属性A的信息增益率Gain_Ratio(A)为:
根据公式(5)依次计算样本URL的结构特征、情报特征中每个属性的增益率,然后选取最大增益率的属性作为当前的分裂属性,再用同样的方法计算子节点的分裂属性,构建整棵决策树,进而训练出决策树分类器。
14.根据权利要求13所述的装置,其特征在于,所述基于结构特征和情报特征构建贝叶斯分类器,包括:
所述贝叶斯分类器采用朴素贝叶斯算法,基于条件独立性假设,对于给出的待分类项,求解在该项出现的条件下各个类别出现的概率,并选取最大概率作为该项的类别,具体包括如下步骤:
步骤a1,设数据样本有m维特征向量X={x1,x2,…,xm},xi为特征向量X的第i维特征,i取值为1~m,类别集合C={y1,y2,…,yn},yn表示第n个类别;
步骤a2,计算该特征向量X下每个类别的条件概率:
Figure FDA0002222257090000092
其中,P(X|yi)为条件概率,即为在yi的情况下X发生的概率;P(yi)为先验概率,即yi这种情况出现的概率;P(X)为先验概率,即X这种情况出现的概率;P(xi|yi)为条件概率,即为在yi的情况下xi发生的概率;P(yi|X)表示特征向量X下第i个类别的条件概率;
对于一个待分类项X,若P(yK|X)=max{P(y1|X),P(y2|X),…,P(yn|X)},则X∈yK;P(yK|X)为条件概率,即为在X发生的情况下yK发生的概率;
步骤a3,对样本URL的结构特征、情报特征执行步骤a1和步骤a2,将样本URL的结构特征、情报特征组合为一个多维特征向量,按照式(6)分别计算两个类别的条件概率,即样本URL属于善意的条件概率和属于恶意的条件概率,从而训练出贝叶斯分类器。
15.根据权利要求14所述的装置,其特征在于,所述样本URL包括善意URL数据和恶意URL数据。
16.根据权利要求15所述的装置,其特征在于,所述基于决策树分类器和贝叶斯分类器判定待检测的URL是否属于恶意URL,包括:
设f(x)为待检测的URL最后的检测值,ai为分类器的分类值,i=1,2,wi为分类器的权重,w1表示分类器的第一组权重,w2表示分类器的第二组权重,则f(x)表示为:
Figure FDA0002222257090000101
将分类器的权重设计为两组值:
w1={wj48=0.6,wsvm=0.4},
w2={wj48=0.5,wsvm=0.5},
wj48表示决策树分类器的权重,wsvm表示贝叶斯分类器的权重;
对于从待检测的URL中提取的特征向量,其对应分类器权重的选择方法如下:
令attr1等于∑待检测的URL的结构特征值,
令attr2等于∑待检测的URL的情报特征值,
如果attr1>=0.8或者attr2>=3,则选择第一组权重w1;否则选择第二组权重w2;
当f(x)>=0.6时,判定待检测的URL为恶意URL,禁止访问,否则判定其为善意的URL。
17.一种电子设备,其特征在于,包括:处理器和存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-7任一项所述的基于多维度特征的恶意URL监测方法。
CN201910938573.1A 2019-09-30 2019-09-30 基于多维度特征的恶意url监测方法、装置和电子设备 Pending CN110851828A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910938573.1A CN110851828A (zh) 2019-09-30 2019-09-30 基于多维度特征的恶意url监测方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910938573.1A CN110851828A (zh) 2019-09-30 2019-09-30 基于多维度特征的恶意url监测方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN110851828A true CN110851828A (zh) 2020-02-28

Family

ID=69597348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910938573.1A Pending CN110851828A (zh) 2019-09-30 2019-09-30 基于多维度特征的恶意url监测方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN110851828A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556042A (zh) * 2020-04-23 2020-08-18 杭州安恒信息技术股份有限公司 恶意url的检测方法、装置、计算机设备和存储介质
CN114826688A (zh) * 2022-03-30 2022-07-29 中国建设银行股份有限公司 恶意访问地址的识别方法、装置、设备、介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735074A (zh) * 2015-03-31 2015-06-24 江苏通付盾信息科技有限公司 一种恶意url检测方法及其实现系统
CN109672674A (zh) * 2018-12-19 2019-04-23 中国科学院信息工程研究所 一种网络威胁情报可信度识别方法
CN109922052A (zh) * 2019-02-22 2019-06-21 中南大学 一种结合多重特征的恶意url检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735074A (zh) * 2015-03-31 2015-06-24 江苏通付盾信息科技有限公司 一种恶意url检测方法及其实现系统
CN109672674A (zh) * 2018-12-19 2019-04-23 中国科学院信息工程研究所 一种网络威胁情报可信度识别方法
CN109922052A (zh) * 2019-02-22 2019-06-21 中南大学 一种结合多重特征的恶意url检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李偲: "基于朴素贝叶斯的文本分类研究及其在微博分类中的应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
李宁: "面向隐私保护的数据挖掘算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
汪鑫等: "基于威胁情报平台的恶意URL检测研究", 《计算机科学》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111556042A (zh) * 2020-04-23 2020-08-18 杭州安恒信息技术股份有限公司 恶意url的检测方法、装置、计算机设备和存储介质
CN111556042B (zh) * 2020-04-23 2022-12-20 杭州安恒信息技术股份有限公司 恶意url的检测方法、装置、计算机设备和存储介质
CN114826688A (zh) * 2022-03-30 2022-07-29 中国建设银行股份有限公司 恶意访问地址的识别方法、装置、设备、介质及程序产品

Similar Documents

Publication Publication Date Title
CN108965245B (zh) 基于自适应异构多分类模型的钓鱼网站检测方法和系统
CN108737423B (zh) 基于网页关键内容相似性分析的钓鱼网站发现方法及系统
CN110099059B (zh) 一种域名识别方法、装置及存储介质
US11212297B2 (en) Access classification device, access classification method, and recording medium
CN111818198B (zh) 域名检测方法、域名检测装置和设备以及介质
CN110830445B (zh) 一种异常访问对象的识别方法及设备
US10873618B1 (en) System and method to dynamically generate a set of API endpoints
CN109831459B (zh) 安全访问的方法、装置、存储介质和终端设备
CN110572359A (zh) 基于机器学习的钓鱼网页检测方法
CN112839014B (zh) 建立识别异常访问者模型的方法、系统、设备及介质
CN107888606B (zh) 一种域名信誉度评估方法及系统
CN110798488A (zh) Web应用攻击检测方法
CN111967503A (zh) 多类型异常网页分类模型的构建方法、异常网页检测方法
CN113315851A (zh) 域名检测方法、装置及存储介质
CN110851828A (zh) 基于多维度特征的恶意url监测方法、装置和电子设备
CN112765502B (zh) 恶意访问检测方法、装置、电子设备和存储介质
CN114372267B (zh) 一种基于静态域的恶意网页识别检测方法、计算机及存储介质
CN113904834B (zh) 基于机器学习的xss攻击检测方法
CN113746804B (zh) Dns隐蔽信道检测方法、装置、设备及存储介质
CN110855635A (zh) Url识别方法、装置及数据处理设备
Peng et al. Malicious URL recognition and detection using attention-based CNN-LSTM
CN110097258B (zh) 一种用户关系网络建立方法、装置及计算机可读存储介质
CN109992960B (zh) 一种伪造参数检测方法、装置、电子设备及存储介质
CN111314109A (zh) 一种基于弱密钥的大规模物联网设备固件识别方法
CN114095176B (zh) 一种恶意域名检测方法及装置

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

Application publication date: 20200228

RJ01 Rejection of invention patent application after publication