一种基于机器学习实现恶意域名识别的方法技术

技术编号:24293537 阅读:59 留言:0更新日期:2020-05-26 20:54
本发明专利技术提供一种基于机器学习实现恶意域名识别的方法,其特征在于,采用机器学习技术,训练出识别恶意域名的机器学习模型组,该模型组可以准确的对恶意域名进行识别;包括机器学习模型训练单元和恶意域名识别单元。

A method of malicious domain name recognition based on machine learning

【技术实现步骤摘要】
一种基于机器学习实现恶意域名识别的方法
本专利技术属于互联网信息安全领域,涉及域名管理、病毒和木马技术、机器学习、以及NB、MLP和XGBoost等算法。本专利技术所涉及的一种机器学习识别恶意域名的方法,采用上述技术和算法,能够实现对机器自动生成的恶意域名的准确、快速的识别。缩略语及名词解释DGA:域名生成算法是一种利用随机字符来生成C&C域名,从而逃避域名黑名单识别的技术手段。C&C服务器:远程命令和控制服务器,目标机器可以接收来自服务器的命令,从而达到服务器控制目标机器的目的,该方法常用于病毒木马控制被感染的机器。DNS:DomainNameSystem,域名系统。Jaccard系数:Jaccard相似系数(Jaccardsimilaritycoefficient)用于比较有限数据集之间的相似性与差异性,Jaccard系数值越大,样本相似度越高。XGBoost:eXtremeGradientBoosting。MLP:多层感知器。NB:朴素贝叶斯法。
技术介绍
随着网络时代的到来,互联网让人民的生活更加便捷,一方面,互联网的进步带给了人们生活的便捷,另一方面黑客攻击者也会窃取互联网用户的重要信息,威胁着网民的网络安全,黑客攻击者利用僵尸网络对感染病毒的主机进行了大量的恶意活动,并且僵尸网络大多数使用了DomainFlux技术(如图1),即根据DGA(DomainGenerationAlgorithms,域名产生算法)在一段时间内涌现很多新域名并且只有其中一两个域名被注册为真实的活跃域名,以逃避安全检测员检测域名。通过事先注册一个或多个域名,控制者便可实现对整个网络的控制,对于僵尸程序,为实现与C&C服务器建立连接,必须对生成域名进行解析,直至获取C&C服务器的IP地址,由于注册的域名数量有限,导致感染主机会请求大量新域名,并存在一定数量解析失败的域名请求行为。当前杀毒软件以及安全防护设备无法检测恶意域名,时刻威胁着用户终端的系统安全。主要包括以下两个原因:1:恶意软件定期使用DGA算法生成为随机域名,有效绕过黑名单检测,尝试连接,寻找C&C中控。2:如果一个生成的域名无法连接,便生成下一个DGA为随机域名进行连接尝试,这样即使中控机的IP地址发生变化,或一个中控域名被干掉,一定时间后肉鸡仍能寻找到C&C中控继续工作。
技术实现思路
本专利技术涉及一种机器学习识别恶意域名的方法,通过机器学习模型训练和恶意域名识别,可实现简单而有效的恶意域名识别,能够区分恶意域名和正常域名,解决现有技术中恶意域名识别滞后的问题。一种机器学习识别恶意域名识别的方法包括:1.机器学习模型训练单元:通过构建数据集、特征提取、模型训练,训练出可识别恶意域名的机器学习模型组。如图32.恶意域名识别单元:通过待识别的域名获取、静态过滤、待识别域名特征提取、模型组预测、选举投票,可实现恶意域名识别。如图4构建正负样本数据集,所述正样本数据集使用Alexa全球排名前100万的网站域名数据,负样本数据集使用360netlab开放DGA家族数据,并对DGA家族数据进行分类。所述DGA家族类型包括:Bamital、banjori、blackhole、ccleaner、chinad、conficker、Cryptolocker、dircrypt、dyre、emotet、fobber、gameover、Gspy、locky、madmax、matsnu、mirai、murofet、xshellghost、Necurs、nymaim、omexo、padcrypt、proslikefan、pykspa、Qadars、ramnit、ranbyus、rovnix、shifu、simda、vidro、virutSuppobox、symmi、tempedreve、tinba、tinynuke、tofsee、Vawtrak特征提取,提取正样本数据和负样本数据的特征,特征提取规则包括N-Gram特征和文本特征。所述N-Gram特征是基于一个假设:第n个字符出现与前n-1个字符相关,而与其他任何字符不相关,整个域名出现的概率就等于各个字符出现的概率乘积,各个字符的概率可以通过语料中统计计算得到,假设句子T是有字符序列w1,w2,w3...wn组成,用公式表示N-Gram语言模型如下:P(T)=P(w1)*p(w2)*p(w3)***p(wn)=p(w1)*p(w2|w1)*p(w3|w1w2)***p(wn|w1w2w3...)所述文本特征包括:元音字符个数、唯一字母数字个数、平均jarccard个数、字符序列。所述域名中元音字符数主要统计域名中包含的元音字母包含:″a″、″e″、″i″、″o″、″u″。所述域名中数字字符数主要统计域名中包含的″0″、″1、″2″、″3″、″4″、″5″、″6″、″7″、″8″、″9″。所述Jarccard系数定义为两个集合交集与并集个数的比值,本专利技术中的jarccard系数是基于2-gram计算。所述唯一的字母数字个数指的是域名中去掉重复的字母和数字后的个数。所述字符序列是指把域名当做一个由字符组成的序列,字符转换成对应的ASCII,这样就可以把域名最终转换成一个数字序列。特征向量化,根据提取的特征生成特征向量,标识每个特征向量的正负属性。所述正负属性表示向量中的特征的域名属于恶意域名还是非恶意域名,其中正属性为非恶意域名,标识为“0”;负属性为恶意域名,标识为“1”。模型训练,对DGA家族数据和正样本数据分别生成两个域名集合,划分为两部分:一部分作为训练样本,另一部分作为测试样本;通过NB、MLP和XGBoost三种机器学习算法进行模型训练,模型训练包括:2-gram&NB机器学习模型、234-gram&NB机器学习模型、文本特征&NB机器学习模型、2-gram&XGBoost机器学习模型、234-gram&XGBoost机器学习模型、文本特征&XGBoost机器学习模型、2-gram&MLP机器学习模型、234-gram&MLP机器学习模型、文本特征&MLP机器学习模型;训练模型根据训练所反馈的模型准确率和召回率进行效果验证。所述NB时基于贝叶斯定理与特征条件独立假设的分类方法,给定目标值时属性之间相互条件独立。所述MLP是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。所述XGBoost是在GBDT的基础上对boosting算法进行的改进,内部决策树使用的是回归树。所述准确率和召回率效果验证,具体为:实际为真并且也被预测为真,既为真正类(T本文档来自技高网
...

【技术保护点】
1.本专利技术提供一种基于机器学习实现恶意域名识别的方法,其特征在于,采用机器学习技术,训练出识别恶意域名的机器学习模型组,该模型组可以准确的对恶意域名进行识别;包括机器学习模型训练单元和恶意域名识别单元,其中:/nA.机器学习模型训练单元,通过构建数据集、特征提取、模型训练,训练出可识别恶意域名的机器学习模型组;/nB.恶意域名识别单元,通过待识别的域名获取、静态过滤、待识别域名特征提取、模型组预测、选举投票,可实现恶意域名识别。/n

【技术特征摘要】
1.本发明提供一种基于机器学习实现恶意域名识别的方法,其特征在于,采用机器学习技术,训练出识别恶意域名的机器学习模型组,该模型组可以准确的对恶意域名进行识别;包括机器学习模型训练单元和恶意域名识别单元,其中:
A.机器学习模型训练单元,通过构建数据集、特征提取、模型训练,训练出可识别恶意域名的机器学习模型组;
B.恶意域名识别单元,通过待识别的域名获取、静态过滤、待识别域名特征提取、模型组预测、选举投票,可实现恶意域名识别。


2.如权利要求1所述的一种基于机器学习实现恶意域名识别的方法,其特征在于,机器学习模型训练单元中的构建数据集,正样本数据集使用Alexa全球排名前100万的网站域名数据,负样本数据集使用360netlab开放DGA家族数据。


3.如权利要求1所述的一种基于机器学习实现恶意域名识别的方法,其特征在于,机器学习模型训练单元中的提取特征并进行特征向量化,提取特征包括:N-Gram特征和文本特征。


4.如权利要求3所述的特征向量化,其特征在于,对所提取的特征进行特征向量化,标识每个特征向量的正负属性,正属性为非恶意域名,标识为“0”;负属性为恶意域名,标识为“1”。


5.如权利要求1所述的一种基于机器学习实现恶意域名识别的方法,其特征在于,机器学习模型训练单元中的模型训练,对DGA家族数据和正样本数据分别生成两个域名集合,划分为两部分:一部分作为训练样本,另一部分作为测试样本;通过XGBoost、MLP、NB三种机器学习算法进行模型训练,模型训练包括:2-gram&NB机器学习模型、234-gram&NB机器学习模型、文本特征&NB机器学习模型、2-gram&XGBoost机器学习模型、234-gram&XGBoost机器学...

【专利技术属性】
技术研发人员:贾盛王晓波
申请(专利权)人:慧盾信息安全科技苏州股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1