一种恶意URL检测方法及系统与流程

文档序号:20764517发布日期:2020-05-15 18:42阅读:599来源:国知局
一种恶意URL检测方法及系统与流程
本发明涉及网络信息安全
技术领域
,尤其涉及一种恶意url检测方法及系统。
背景技术
:随着计算机技术和互联网技术的迅猛发展,人们的生活方式发生了极大的变化,互联网社交、电子商务以及互联网金融逐渐融入了人们的日常生活。与此同时,互联网的发展也引入了新的危险,网络犯罪手段层出不穷,网络威胁形式越来越多,识别网络威胁的难度大大增加,成本显著上升。在大数据时代背景下,如何高效地检测出这些恶意url,并及时上报,以便于有关部门进行监管,从而减少恶意url的威胁和侵害,是网络信息安全领域中需要解决的问题。在现有恶意url的检测方法中,黑名单技术是恶意url检测中比较传统和经典的一种方法,网页黑名单中包含已知的恶意url列表。这种方法虽然简单,但是费时费力,处理效率低,恶意url往往改头换面(如更换域名、url路径等)后,又会死灰复燃。基于模式规则的启发式算法是对黑名单技术的一种升级。其主要原理是从已有恶意url中提炼出相似性规则来发现并识别恶意url。在黑名单库的基础上,通过人工统计整理,发现网站的链接中存在着某些相似的模式规则(patternrule),依靠现有的启发式规则识别恶意url,而不需要依靠黑名单的精确匹配来完成识别,这种方法较之黑名单库有所改进,但面对海量的网络流量,要发现新的恶意url模式规则,也是件非常困难的事情。技术实现要素:本发明针对以上技术问题,提供一种恶意url检测方法及系统。本发明所提出的技术方案如下:本发明提出了一种恶意url检测方法,包括以下步骤:步骤s1、获取流量日志的参数;步骤s2、提取流量日志的参数的通项数据集;对该通项数据集进行聚类,得到多个簇;步骤s3、计算所有的从多个簇中所选两个不同簇的交集,从而得到模式规则;并利用该模式规则判别恶意url。本发明上述恶意url检测方法中,步骤s1还包括:按照参数格式特征区分并分别获取流量日志不同类型的参数。本发明上述恶意url检测方法中,步骤s2还包括:对流量日志不同类型的参数分别提取各自的通项数据;再将所提取的所有通项数据重组,从而构成流量日志的参数的通项数据集。本发明上述恶意url检测方法中,步骤s3还包括:过滤掉元素小于3的簇,再通过计算所有的从多个簇中所选经过滤后留下的两个不同簇的交集,从而得到模式规则。本发明上述恶意url检测方法中,流量日志的参数包括domain部分、url部分、parame部分、refer部分。本发明还提出了一种恶意url检测系统,包括:参数提取器,用于获取流量日志的参数;通项数据集提取器,用于提取流量日志的参数的通项数据集;簇生成器,用于对该通项数据集进行聚类,得到多个簇;模式规则挖掘器,用于计算所有的从多个簇中所选两个不同簇的交集,从而得到模式规则;恶意url判别器,用于利用模式规则判别恶意url。本发明上述恶意url检测系统中,参数提取器还用于按照参数格式特征区分并分别获取流量日志不同类型的参数。本发明上述恶意url检测系统中,通项数据集提取器包括:通项生成模块,用于对流量日志不同类型的参数分别提取各自的通项数据;数据集重组模块,用于将所提取的所有通项数据重组,从而构成流量日志的参数的通项数据集。本发明上述恶意url检测系统中,模式规则挖掘器还用于过滤掉元素小于3的簇,再通过计算所有的从多个簇中所选经过滤后留下的两个不同簇的交集,从而得到模式规则。本发明上述恶意url检测系统中,流量日志的参数包括domain部分、url部分、parame部分、refer部分。本发明提出了一种恶意url检测方法及系统,利用流量日志特征处理模块提高了网络流量日志批处理效率,有效提取了流量中链接访问日志的核心项集;结合聚类算法模块更好地提取海量流量日志中的模式规则,并利用关联规则取交集得到了强规则模式,应用于后续的恶意url研判分析,较于以往的方法,效率更高,效果更佳。附图说明图1为本申请实施例提供的一种恶意url检测方法的流程示意图;图2是本申请实施例提供的一种恶意url检测系统的结构示意图。具体实施方式本发明所要解决的技术问题是:恶意url检测的技术主要是依据流量中的网站链接url及相关访问参数parame等信息进行综合分析判断,目前主要采用基于黑名单库以及模式规则匹配的检测方法,模式规则的构建一般基于人工分析提炼或基于数据挖掘等方法来发现。基于人工提取黑名单库来进行匹配检测的方法费时费力,效率不高,当流量日志变成海量时,则人工发现的效率趋于零。基于模式规则的启发式算法是在黑名单库的基础上,通过统计分析来发现网站链接中的模式规则,经过人工整理提炼,并部署到监测系统中,可以批量发现同类型模式规则下的恶意url。面对海量的网络流量日志,通过简单的excel排序统计分析,亦难于找到流量记录中的关联规则以及规则出现的频度,人工寻找恶意url模式规则难度相当大。就该技术问题,本发明提出了一种恶意url检测方法及系统,一种新的流量日志数据分析处理和模式规则发现技术,优化了流量日志的特征处理过程,经过关联规则聚类分析,可以很好地提炼出海量流量日志中的模式规则,并应用于恶意url检测规则研判。该方法包括:获取流量日志的参数;提取流量日志的参数的通项数据集;对该通项数据集进行聚类,得到多个簇;计算所有的从多个簇中所选两个不同簇的交集,从而得到模式规则;并利用该模式规则判别恶意url。为了使得本发明的技术方案、技术目的以及技术效果更为清楚,以使得本领域技术人员能够理解和实施本发明,下面将结合附图及具体实施例对本发明做进一步详细的描述。图1是本申请实施例提供的一种恶意url检测方法的流程示意图。该方法包括:步骤s1、获取流量日志的参数;在步骤s1中,按照参数格式特征区分并分别获取流量日志不同类型的参数;流量日志的参数包括domain部分、url部分、parame部分、refer部分。该四个部分是流量日志中值得分析的数据项,即:domainurlparamerefer一个典型的日志记录数据样本如下所示:domain:xlvs.cnurl:xlvs.cn/admin/ajax.phpparame:act=setstatus&name=3591&status=1refer:http://xlvs.cn/admin/list.php?type=0url(uniformresourcelocator,统一资源定位符)用于唯一标识和描述web上的网页和其他资源,通常指向internet上的站点。url部分的结构包括域名(domain)、路径、文件名三部分。上例中xlvs.cn为域名,/admin/为路径,ajax.php为文件名。domain(域名)是用来定位网站的独一无二的名字。parame是指查询参数,通常用于为动态网页传递参数,用“&”隔开,可以有多个参数,每个参数的名字和值用“=”隔开,也可选择是否有。refer是http请求头的一部分,当浏览器向web服务器发送请求的时候,一般会带上refer,告诉服务器是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。步骤s2、提取流量日志的参数的通项数据集;对该通项数据集进行聚类,得到多个簇;在步骤s2中,对流量日志不同类型的参数分别提取各自的通项数据;再将所提取的所有通项数据重组,从而构成流量日志的参数的通项数据集。具体地,在本步骤中,url预处理,对url部分进行截取、分段,去掉与domain重合的字符串部分,并根据“/”符来对剩余部分分段;parame预处理,根据“&”对parame中所包含的参数段进行分段;refer预处理:根据“?”对refer分成两部分,根据“&”对第二部分进行参数分段。为简化描述,分别用d、u、p、r来代替以上四部分参数项。参数提取后的数据变成如下的样子:s={d,u,p,r}={{xlvs.cn},{admin,ajax.php},{act=setstatus,name=3591,status=1},{http://xlvs.cn/admin/list.php,type=0}}对于s中的子集,分别处理,提取通项。显见,处理后的数据变成了四元组集合s,通项提取的过程就是分别对d,u,p,r进行操作。由于域名d部分代表的是一个完整的物理地址存在,因此再做进一步的粒度细分已无意义,反而会带来后续计算上的麻烦,这里保留d的现有形式作为通项值。对于u部分,定义集合u={ui|ui∈u,i=1,2,3,4...},需要处理以下几种形式的元素:ui中以数字字符串开始:例如:0234admin,将“0234”部分用通配符“*”来表示:*adminui中以数字字符串结尾:例如:admin1520,将“1520”部分用通配符“*”来表示:admin*ui全部为数字字符串:例如:174216,将整个字段用通配符“***”来表示:****ui中文件名部分为数字字符串;例如:1558612176.html,将文件名部分用通配符“***”来表示,将后缀部分用“hhh”来表示:***.hhh对于p部分,定义集合p={pi|pi∈p,i=1,2,3,4...},统一按以下方式处理:“=”后面的字符串值为变量,用通配符“*”来表示。例如:act=setstatus表示为:act=*,name=3591表示为:name=*。对于r部分,定义集合r={ri|ri∈r,i=2,3,4...},统一按以下方式处理:“=”后面的字符串值为变量,用通配符“*”来表示。例如:type=0表示为:type=*。经过以上步骤处理,即可得到四个部分参数项的通项数据表示。然后,将通项数据重新组合,表示成四元组集合。这部分的操作是将u、p、d中通项处理后的结果组成新的集合,分别定义为u′、p′、d′,这里d′=d。处理完成后的日志记录集合,即流量日志的参数的通项数据集为:s′={d′,u′,p′,r′}={{xlvs.cn},{admin,ajax.php},{act=*,name=*,status=*},{http://xlvs.cn/admin/list.php,type=*}}经过通项提取后,数据集记录中会出现大量的重复数据样本。这里通过对数据样本排序去重,可以压缩数据量,减少后面操作的计算量,便于后续关联规则的发掘。通常情况下,初始数据集可以压缩至1%的数据量规模。为了达到自动化的模式规则发现,通项数据集还需进一步进行聚类算法处理。聚类算法可为k均值聚类算法、均值漂移聚类算法、基于密度的聚类算法、基于高斯混合模型的期望最大化聚类算法、凝聚层次聚类算法或图团体检测法。如前所述,数据集中的一条日志记录表示为:s′={d′,u′,p′,r′},生成簇的步骤如下:(1)取数据集data中所有的u′项(去重复)组成集合u0,设ui′∈u0,以ui′为主元素,含有同一ui′项的日志记录s′归属于同一簇中,定义为heapi={s′|s′∈data,u′∈s′,u′=u′i},简记为heapi,这里heapi为一个集合;(2)扫描所有的簇,计算两个簇之间的相似度,根据阈值进行簇合并。定义一个簇中所有的d′项构成的集合(去重复)为d′,d′称作这个簇的域名集,u′称作簇的核心url模式,u′为u′中分段元素组成的集合。对两个不同的簇heapi和heapj,簇相似的判别规则是:|d′i|>3,且|d′j|>3,且d′i和d′j重合度大于0.8;|u′i|>3,且|u′j|>3,且u′i和u′j重合度大于0.75;|a|代表集合a中元素(去重复)的个数,两个集合重合度的计算方法为:同时满足①②条件的两个簇,认为是相似的簇。相似簇合并操作只对所有簇进行一次扫描合并。经过以上步骤处理后,所有的日志记录通项数据集被聚类到了不同的簇中。步骤s3、计算所有的从多个簇中所选两个不同簇的交集,从而得到模式规则;并利用该模式规则判别恶意url。在步骤s3中,过滤掉元素小于3的簇,再通过计算所有的从多个簇中所选经过滤后留下的两个不同簇的交集,从而得到模式规则。具体地,同一簇中的数据集合可以看作是满足同一条模式规则(patternrule)下产生的,即它们具有共同的相似特征,从字符串特征上来看,它们匹配同一通项,或者匹配的通项具有高度的相似性,同时,它们的域名集也是扎堆出现的。以上表述可以符号化表示为:即在规则rulei下,数据集data映射为簇heapi。关联规则挖掘的第一步,首先对簇集合{heapi}进行过滤,簇中域名集元素个数小于3的从最终结果中剔除。第二步,对簇集合{heapi||heapi|≥3}中的簇两两操作,计算两个不同簇的域名集的交集部分。同时满足rulei和rulej部分的域名集为:d′i∩d′j此部分域名集即为满足强规则条件下的域名。域名集和对应的规则,可以进入后面的研判流程。剔除掉交集中元素个数小于3的集合,得到最终的模式发现结果。result={(d′i∩d′j,rulei,rulej)||d′i∩d′j|≥3}图2是本申请实施例提供的一种与上述恶意url检测方法对应的恶意url检测系统的结构示意图。该系统包括:参数提取器100,用于获取流量日志的参数;参数提取器模块的工作原理:url预处理,对url部分进行截取、分段,去掉与domain重合的字符串部分,并根据“/”符来对剩余部分分段;parame预处理,根据“&”对parame中所包含的参数段进行分段;refer预处理:根据“?”对refer分成两部分,根据“&”对第二部分进行参数分段。为简化描述,分别用d、u、p、r来代替以上四部分参数项。对于上面的例子,参数提取后的数据变成如下的样子:s={d,u,p,r}={{xlvs.cn},{admin,ajax.php},{act=setstatus,name=3591,status=1},{http://xlvs.cn/admin/list.php,type=0}}参数提取工作是为了下一步的通项提取做准备。通项数据集提取器200,用于提取流量日志的参数的通项数据集;通项数据集提取器200包括:通项生成模块210,用于对流量日志不同类型的参数分别提取各自的通项数据;数据集重组模块220,用于将所提取的所有通项数据重组,从而构成流量日志的参数的通项数据集。通项生成模块210用于对于s中的子集,分别处理,提取通项。显见,处理后的数据变成了四元组集合s,通项提取的过程就是分别对d,u,p,r进行操作。由于域名d部分代表的是一个完整的物理地址存在,因此再做进一步的粒度细分已无意义,反而会带来后续计算上的麻烦,这里保留d的现有形式作为通项值。对于u部分,定义集合u={ui|ui∈u,i=1,2,3,4...},需要处理以下几种形式的元素:ui中以数字字符串开始:例如:0234admin,将“0234”部分用通配符“*”来表示:*adminui中以数字字符串结尾:例如:admin1520,将“1520”部分用通配符“*”来表示:admin*ui全部为数字字符串:例如:174216,将整个字段用通配符“***”来表示:****ui中文件名部分为数字字符串;例如:1558612176.html,将文件名部分用通配符“***”来表示,将后缀部分用“hhh”来表示:***.hhh对于p部分,定义集合p={pi|pi∈p,i=1,2,3,4...},统一按以下方式处理:“=”后面的字符串值为变量,用通配符“*”来表示。例如:act=setstatus表示为:act=*,name=3591表示为:name=*。对于r部分,定义集合r={ri|ri∈r,i=2,3,4...},统一按以下方式处理:“=”后面的字符串值为变量,用通配符“*”来表示。例如:type=0表示为:type=*。经过以上步骤处理,即可得到四个部分参数项的通项数据表示。数据集重组模块220包括:将通项数据重新组合,表示成四元组集合。这部分的操作是将u、p、d中通项处理后的结果组成新的集合,分别定义为u′、p′、d′,这里d′=d。处理完成后的日志记录集合为:s′={d′,u′,p′,r′}={{xlvs.cn},{admin,ajax.php},{act=*,name=*,status=*},{http://xlvs.cn/admin/list.php,type=*}}经过通项提取后,数据集记录中会出现大量的重复数据样本。这里通过对数据样本排序去重,可以压缩数据量,减少后面操作的计算量,便于后续关联规则的发掘。通常情况下,初始数据集可以压缩至1%的数据量规模。簇生成器300,用于对该通项数据集进行聚类,得到多个簇;经过前一模块的处理后,数据集的数量已大大缩减,皆以通项表示法来表示。为了达到自动化的模式规则发现,通项数据集还需进一步进行聚类算法处理。如前所述,数据集中的一条日志记录表示为:s′={d′,u′,p′,r′},生成簇的步骤如下:(1)取数据集data中所有的u′项(去重复)组成集合u0,设u′i∈u0,以u′i为主元素,含有同一u′i项的日志记录s′归属于同一簇中,定义为heapi={s′|s′∈data,u′∈s′,u′=u′i},简记为heapi,这里heapi为一个集合;(2)扫描所有的簇,计算两个簇之间的相似度,根据阈值进行簇合并。定义一个簇中所有的d′项构成的集合(去重复)为d′,d′称作这个簇的域名集,u′称作簇的核心url模式,u′为u′中分段元素组成的集合。对两个不同的簇heapi和heapj,簇相似的判别规则是:|d′i|>3,且|d′j|>3,且d′i和d′j重合度大于0.8;|u′i|>3,且|u′j|>3,且u′i和u′j重合度大于0.75;|a|代表集合a中元素(去重复)的个数,两个集合重合度的计算方法为:同时满足①②条件的两个簇,认为是相似的簇。相似簇合并操作只对所有簇进行一次扫描合并。经过以上步骤处理后,所有的日志记录通项数据集被聚类到了不同的簇中。模式规则挖掘器400,用于计算所有的从多个簇中所选两个不同簇的交集,从而得到模式规则;此模块的作用是在上一步处理后,对模式规则的进一步加强。同一簇中的数据集合可以看作是满足同一条模式规则(patternrule)下产生的,即它们具有共同的相似特征,从字符串特征上来看,它们匹配同一通项,或者匹配的通项具有高度的相似性,同时,它们的域名集也是扎堆出现的。以上表述可以符号化表示为:即在规则rulei下,数据集data映射为簇heapi。关联规则挖掘的第一步,首先对簇集合{heapi}进行过滤,簇中域名集元素个数小于3的从最终结果中剔除。第二步,对簇集合{heapi||heapi|≥3}中的簇两两操作,计算两个不同簇的域名集的交集部分。同时满足rulei和rulej部分的域名集为:d′i∩d′j此部分域名集即为满足强规则条件下的域名。域名集和对应的规则,可以进入后面的研判流程。剔除掉交集中元素个数小于3的集合,得到最终的模式发现结果。result={(d′i∩d′j,rulei,rulej)||d′i∩d′j|≥3}恶意url判别器500,用于利用模式规则判别恶意url。本发明的实施例利用流量日志特征处理模块提高了网络流量日志批处理效率,有效提取了流量中链接访问日志的核心项集;结合聚类算法模块可以很好地提取海量流量日志中的模式规则,并利用关联规则取交集得到了强规则模式,应用于后续的恶意url研判分析,较于以往的方法,效率更高,效果更佳。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1