logo好方法网

基于可信度的互联网恶意域名检测方法


技术摘要:
一种基于可信度的互联网恶意域名检测方法,应用于网络空间安全领域。包括:第1、利用XGBoost、LSTM、Bagging等多种机器学习对海量的恶意域名样本和正常的域名样本进行学习,建立多种异构算法的恶意域名检测模型;第2、通过统计学习算法计算XGBoost、LSTM、Bagging等多  全部
背景技术:
随着网络的发展,网络空间安全已受到各方面的重视,而层出不穷的网络空间安 全威胁也成为了人们不得不面对的新挑战。急速增长的针对性网络攻击直接催生了域名服 务;而域名的分析一直是网络空间安全领域的热点问题,能够让威胁更加清晰可见,更快速 响应针对性攻击,加强策略规划和投资,同时有效缓解目前在对抗网络攻击时的攻防不对 等问题,也为网络态势实时感知提供了技术支持。近年来,我国网络空间安全威胁数量激 增。而我国对恶意域名的分析仍然存在处理灵活性不足、利用率不高、应用型不强等问题。 因此,国家急需一个能够跟上域名更新换代速度的处理方法,做到对域名的有效防御。
技术实现要素:
本发明目的是为了解决在域名与日俱增的情况下,传统的分析手段难以抵御新型 域名并且模型退化程度明显,导致对域名的预测无法得到全面准确的结果的问题,提供一 种基于可信度的互联网恶意域名检测方法。本发明选择了多个域名的特征值,利用多个机 器学习模型分析,改变传统基于阈值的分析方式,实现对域名的分析;利用统计学习算法, 给出每个模型的可信度,通过一定方法实现模型的融合;通过实时监控用户访问网站的域 名信息,判断其恶意性加入情报库中。 本发明的技术方案 基于可信度的互联网恶意域名检测方法,包括如下步骤: 基本概念: (1)域名:某一台计算机或计算机组的字符型标识; (2)机器学习:研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技 能,重新组织已有的知识结构使之不断改善自身的性能; (3)特征值:域名的静态特征数据,用于机器学习算法的数据分析; (4)可信度:测量结果的一致性,用来评价各个模型的可信程度; (5)多模型的融合:选取可信度最高的key个模型,采取简单投票的方式,实现多个 模型的融合; 第1、利用多个模型独立的对域名恶意情况进行预测,模型对于测试数据的预测结 果和实际恶意情况作为第2步的输入,包括如下步骤: 第1.1步、对域名进行静态分析,获取域名的特征值; 第1.1.1、通过网络爬虫以及用户网络行为收集作为训练集和校准集的域名,对于 训练集和校准集的所有域名进行静态分析,统计域名长度、元音占比、有意义单词占比统计 域、数字占比、字母占比、不同数字占比、字母与数字变换次数,这些特征提取了构成域名所 使用的字母数字所产生的形式的静态规律; 5 CN 111581352 A 说 明 书 2/7 页 第1.1 .2、与此同时,还需要统计训练集和校准集的所有域名的1gram、2gram、 3gram、4gram、5gram的特征,这些特征统计的是频率较高的单个字母、两个字母一直到5个 字母在域名中的存在次数。 第1.2步、多个模型各自独立的对训练集的域名的特征值进行拟合 第1.2.1、运用bagging、随机森林、lstm、逻辑回归、SVM、xgboost等的多个机器学 习算法,对域名的特征值进行拟合: ①域名特征值集合X:包含n个域名特征值xj,j∈{1,2,...,n},X={x1,...,xn}; ②机器学习算法集合G:包含m个机器学习算法fk ,k∈{1,2,...,m} ,G={f1 ,..., fm};该算法集合的输入均为第1.1步中获取的训练集域名12个静态特征值,经拟合得到训 练后的m个机器学习模型。 第2、运用IVAPD统计学习算法,对先前生成的机器学习数据模型的预测结果计算 模型的可信度,该方法包括如下步骤: 第2.1步、计算各个模型预测结果的IVAPD得分 第2.1.1、每一个机器学习算法,对域名特征值集合X,能根据模型t,利用IVAPD算 法,计算出结果P0(U)和P1(U);通过P0(U)和P1(U),利用公式计算得到IVAPD得分P(U),即为 可信度,公式以及计算过程将在后续的算法流程中给出;根据可信度P(U),来直接对比模型 预测结果的质量选取可信度较高的m个模型; 第2.1.2、IVAPD得分的输入:拟合后的m个机器学习模型Ttest、校准域名集合Ycal, IVAPD算法g: ①拟合后的机器学习模型Ttest:包含m个机器学习模型ti,i∈{1,2,...,m},Ttest= {t1,...,tm}; ②校准域名集合Ycal:包含c个用于校准的域名yj,j∈{1,2,...,c},Ycal={y1,..., yc}; ③IVAPD算法g;返回值为一个IVAPD得分,该函数的输入为一个校准域名集Ycal和 机器学习模型ti,返回值为一个实数,该实数表明待测该机器学习模型在校准集上的统计 学习得分; 第2.1.3、IVAPD算法的输出:机器学习算法在统计上的可信度; 第2.1.4、可信度算法流程: 输入:训练集TP={(x-1,y-1) ,......,(x-r,y-r)} 输入:校准集TC={(x1,y1) ,......,(xh,yh)} 输入:测试样例xh 1 输入:基本预测函数P:(x,T)→s for  i:=1,...,r  do s-i:=P(x-i,T\{(x-i,y-i)}) end  for 找到(g-1,......,g-r)能使得 最小其中 for  i:=1,...,h 1do si:=P(xi,TP) 6 CN 111581352 A 说 明 书 3/7 页 找到最接近si的s-j(可能不唯一) gi:=g-j(取平均值并不是唯一的) end  for 令A:={i=1,...,h:gi=gh 1} 令 输出: 计算可信度: 第3步、多个模型进行协同防御,即对第2步得到的模型可信度利用简单投票的方 法对每个待测域名的恶意情况进行投票,来确定待测域名是否恶意(选择可信度较高的模 型进行多模型融合) 第3.1、每一个已经训练好的机器学习模型,按照IVAPD可信度进行排序,取可信度 最高的key个模型,根据待测域名特征值,对域名是否是恶意域名进行预测; 第3.2、多模型算法的输入:可信度较高的机器学习模型集合Tuesd、待测域名集合 Ydetected,简单投票算法Vote: ①可信度较高的机器学习模型集合Tuesd:包含key个机器学习模型ti,i∈{1 , 2,...,key},Tused={t1,...,tkey}; ②待测域名集合Ydetected:包含q个待测域名yj ,j∈{1 ,2 ,...,q} ,Ydetected= {y1,...,yq}; ③简单投票算法Vote;返回值为一个多模型融合后的预测结果,该函数的输入为 一个待测域名、机器学习模型集合Tuesd以及通过率rate,返回值为该域名是否为恶意域名 的bool值; 第3.3、简单投票算法流程: 令yj∈Ydetected;Tused={t1,,tkey},ti∈Tused;ti的预测算法为hi;算法集合的投票通 过率为rate; 则投票的算法流程如下: 7 CN 111581352 A 说 明 书 4/7 页 第3.4、简单投票算法的输出:对于待测域名的预测结果。 本发明的优点和积极效果: 本发明提出基于可信度的互联网恶意域名检测方法。该方法利用多个机器学习模 型,实现对域名特征值的分析,增强了分析方式多样性;该方法利用统计学习得到每个模型 的可信度并基于可信度进行多个模型的融合,改变了传统基于阈值的分析方式。 附图说明 图1是基于可信度的互联网恶意域名检测方法流程图。 图2是爬虫获取的部分域名。 图3是静态分析中提取的特征值。 图4是单个机器学习模型的精确率、召回率和F值。 图5是单个机器学习模型的可信度。 图6是多模型融合后模型的精确率、召回率和F值。
分享到:
收藏