基于随机森林的DGA域名检测方法技术

技术编号:13186323 阅读:791 留言:0更新日期:2016-05-11 16:41
本发明专利技术公开了一种基于随机森林的DGA域名检测方法,步骤一,构建知识库,包括构建黑白名单样本库和单词词典;步骤二,设定域名特征模板,将黑白名单中的域名作为训练集,过滤掉噪音,训练并离线保存随机森林算法模型;步骤三,获取待检测域名,加载最优随机森林算法模型,将待检测域名作为输入,得到预测结果。本发明专利技术不依赖在线获取DNS数据,不仅可以单独、快速完成DGA域名检测,也可以为其他恶意域名检测方法提供预测;此外,该方法基于随机森林算法,在噪音干扰上具有明显的优势,使用资源少,运行效率高,泛化性能好。

【技术实现步骤摘要】

本专利技术设及一种基于随机森林的DGA域名检测方法,属于网络安全领域。
技术介绍
恶意域名指传播蠕虫、病毒和特洛伊木马或是进行诈骗、色情内容传播等不法行 为的网站域名。随着Domain-Flux Jast-Flux技术越来越广泛的被黑客采用,网络攻击更加 隐蔽,恶意追踪更加困难,安全隐患更加长久。其中,由域名生成算法(Domain Generation Algorithm, DGA)生成到的域名被广泛应用于僵尸网络(Botnet)。在大量被僵尸程序所感染 的主机(Bot)构成的网络中,攻击者(BotMaster)可W通过控制服务器操控Bot发起各种类 型的网络攻击,如分布式拒绝服务(孤oS)、垃圾邮件(Spare)、网络钓鱼(Phishing)、点击欺 诈(Click Rraud)W及窃取敏感信息(Information Hieft)等。 目前,各种恶意域名检测算法主要分为W下两类: (1)基于构造特征的方法。现有专利包括:基于域名构造特征的挂马网页检测方法 (专利号为201110146967.7)、仿冒域名检测方法及设备(专利号为201210104110.3)。 (2)基于访问行为的方法。现有的专利包括:异常域名检测方法及系统(专利号为 200910237594.7)、非法域名识别方法及装置(专利号为201110382578.4)、一种Domain Flux僵尸网络域名检测(专利号为201210475596.1)。 上述两类方法存在着如下局限性:1、基于构造特征的方法中,现有的两种专利均 从相似性度量出发,通过计算样本对得到阔值,确定待检测域名是否属于假冒域名或者未 知挂马网站。上述方法使用了较为简单的相似性度量方法,考虑的特征较为单一,设定阔值 受训练样本影响,漏报或误报率较高,方法泛化性教差。2、基于访问行为的方法大多基于一 个假设:恶意域名和合法域名表现出来的访问行为有着根本的差异。其基本流程是从域名 服务器获取DNS记录,然后解析运些DNS数据,再根据各种方法对数据进行分析。运是一种在 线的方法,需要在DNS服务器部署相关的服务,在线获取运些记录和数据的成本较高。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种基于随机森林的DGA域名检测方法。 [000引为了达到上述目的,本专利技术所采用的技术方案是: 基于随机森林的DGA域名检测方法,包括W下步骤, 步骤一,构建知识库,包括构建黑白名单样本库和单词词典; 步骤二,设定域名特征模板,将黑白名单中的域名作为训练集,过滤掉噪音,训练 并离线保存随机森林算法模型;[001。所述域名特征模板可根据训练反馈进行修改; 步骤=,获取待检测域名,加载最优随机森林算法模型,将待检测域名作为输入, 得到预测结果。 黑名单为通过开源渠道获取的恶意域名,白名单为通过开源渠道获取的合法域 名,单词词典由英文单词和字母组合构成。 所述特征模板中的特征包括域名长度、域名信息赌、域名语音性、域名中元音字符 数、域名中数字字符数、域名中重复字母数、域名中连续数字字符数、域名中非元音连续字 符数、域名中N元语言模型在白名单中得分W及域名中N元语言模型在单词词典中得分。 计算域名信息赌的公式为,[001引其中,H为域名信息赌,Pi为每个字母P在域名中出现的频率,n表示域名中不重复 的字符数; 所述域名语音性通过马尔卡夫链预测,具体过程为, Al)读取训练集合,得到转移矩阵; A2)读取正例样本和反例样本,将样本作为马尔卡夫链模型输入,得到预测的概率 值,根据正例样本的概率值和反例样本的概率值确定语音性阔值; 所述正例样本为具有可读性/语言性的合法域名;所述反例样本为不可读/不具有 语言性的域名; A3)将域名作为输入,根据语音性阔值判断该域名是否具有语音性; 所述域名中元音字符数主要统计域名中包含的元音字母V'、V'、"i"、V'、V'的 字符数;所述域名中数字字符数主要统计域名中包含的"0"、"r、"2"、"3"、"4"、"5"、"护、 "7"、"《'、%'的字符数; 域名中N元语言模型在白名单中得分计算过程, BI)训练白名单中N元语言模型; 统计白名单中所有N元对及其频率,将统计结果W矩阵形式保存;其中,矩阵的行 是白名单域名索引,矩阵的列是所有白名单包含的N元对索引; B2)计算待检测域名在N元语言模型中的得分; 将域名中出现的N元对与训练得到的矩阵中的N元对频率进行相乘后累加,具体公 式为, 其中,S为域名中N元语言模型在白名单中得分,M为存储的矩阵,k为行索引总数, r/为列索引总数也表示域名在矩阵M中第j个N元对出现的频率; 域名中N元语言模型在单词词典中得分计算过程与域名中N元语言模型在白名单 中得分计算过程相同,仅是将白名单替换成单词词典。 所述噪音为对应特征值与域名类别不相符的域名。 所述域名为去除TLD和前缀字符的主体部分。 随机森林算法实现过程为, Cl)样本选择; 假设每轮从原始训练集中通过有放回抽样的方式抽取m个样例,得到一个大小为m 的训练集,共进行Q轮的抽取,则每轮抽取的训练集分别为Tl, T2,…,Tq; C2)决策树生成; 假如特征空间共有E个特征,则在每一轮生成决策树的过程中,从E个特征中随机 选择其中的e个特征,组成一个新的特征集,e<E,通过使用新的特征集来生成决策树,Q轮中 共生成Q个决策树,Q个决策树之间是相互独立; C3)模型预测; 对于分类问题,使用所有的决策树投票来确定最终分类结果。 本专利技术所达到的有益效果:本专利技术不依赖在线获取DNS数据,不仅可W单独、快速 完成DGA域名检测,也可W为其他恶意域名检测方法提供预测;此外,该方法基于随机森林 算法,在噪音干扰上具有明显的优势,使用资源少,运行效率高,泛化性能好。【附图说明】 图1为本专利技术的流程图。 图2为随机森林的构建过程。【具体实施方式】 下面结合附图对本专利技术作进一步描述。W下实施例仅用于更加清楚地说明本专利技术 的技术方案,而不能W此来限制本专利技术的保护范围。 如图1所示,基于随机森林的DGA域名检测方法,包括W下步骤: 步骤一,构建知识库,包括构建黑白名单样本库和单词词典。 黑名单为通过开源渠道获取的恶意域名,比如:安全联盟网站曝光台公布的恶意 网址、金山网盾公布的恶意网址数据库、Malware Domain List、Malware Domains、 F*hishTank、hpHosts和CyberCrime Tracker恶意域名列表。 白名单为通过开源渠道获取的合法域名,比如Alexa网站排名、中文站长之家等获 取的合法域名。 单词词典由英文单词和字母组合构成。 步骤二,设定域名特征模板,将黑白名单中的域名作为训练集,过滤掉噪音,训练 并离线保存随机森林算法模型;域名特征模板可根据训练反馈进行修改。 域名为去除化0(Top-Level Domain)和前缀字符的主体部分,例如:domain = "WWW. baidu. com",其TLD为".com",去除"WWW."前缀和TLD之后,域名主体为baidu。 特征模板中的特征包括域名长度、域名信息赌、域名语音性、域名中元音字符数、 域名中数字字符数、域名中重复字母数、域名中连续数字字符本文档来自技高网
...

【技术保护点】
基于随机森林的DGA域名检测方法,其特征在于:包括以下步骤,步骤一,构建知识库,包括构建黑白名单样本库和单词词典;步骤二,设定域名特征模板,将黑白名单中的域名作为训练集,过滤掉噪音,训练并离线保存随机森林算法模型;所述域名特征模板可根据训练反馈进行修改;步骤三,获取待检测域名,加载最优随机森林算法模型,将待检测域名作为输入,得到预测结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:王红凯张旭东杨维永马志程廖鹏黄益彬于晓文张丹夏威宋文杰
申请(专利权)人:国家电网公司国网浙江省电力公司信息通信分公司南京南瑞集团公司南京南瑞信息通信科技有限公司
类型:发明
国别省市:北京;11

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

1