一种利用域名共现关系的恶意域名检测方法及系统技术方案

技术编号:22786047 阅读:40 留言:0更新日期:2019-12-11 05:13
本发明专利技术提供了一种利用域名共现关系的恶意域名检测方法及系统。本发明专利技术利用域名请求之间的时间间隔,将DNS请求序列切割成域名共现序列,从而能够有效地将不属于同一网络活动触发的域名请求划分到不同的序列中;同时利用滑动窗口从域名共现序列中提取域名共现对:一方面,滑动窗口的引入成功地消除了由于共现序列长度过长而带来的计算复杂度增加的问题;另一方面,滑动窗口只保留个域名和其窗口内域名的共现关系,而忽略与更远位置的域名关系,能够有效地减少噪声共现关系。本发明专利技术能够通过分析域名团簇行为发现可疑的恶意域名团伙,感知恶意域名背后的关联关系,为更深层次研究恶意域名生态系统提供支撑。

A malicious domain name detection method and system based on domain name co-occurrence relationship

The invention provides a malicious domain name detection method and system using a domain name co-occurrence relationship. The invention uses the time interval between domain name requests to cut the DNS request sequence into domain name co occurrence sequence, so as to effectively divide domain name requests that do not belong to the same network activity trigger into different sequences; at the same time, it uses the sliding window to extract the domain name co occurrence sequence from the domain name co occurrence sequence: on the one hand, the introduction of the sliding window successfully eliminates the co occurrence sequence length On the other hand, the sliding window only keeps the co-occurrence relationship between domain names and domain names in the window, and ignores the relationship with domain names in the further location, which can effectively reduce the noise co-occurrence relationship. The invention can discover suspicious malicious domain name gangs by analyzing the domain name cluster behavior, sense the association relationship behind the malicious domain name, and provide support for further research on the malicious domain name ecosystem.

【技术实现步骤摘要】
一种利用域名共现关系的恶意域名检测方法及系统
本专利技术涉及计算机网络安全领域的恶意域名检测领域,尤其是涉及一种利用域名共现关系的恶意域名检测方法及系统。
技术介绍
域名系统(domainnamesystem,DNS)是当今互联网中重要的基础核心服务之一,负责提供统一的域名地址空间映射服务,主要将易于人类记忆的域名翻译为易于机器识别的IP地址。然而,近年来DNS遭受各种非法网络活动的滥用。例如,僵尸网络利用域名生成算法(domaingeneratealgorithm,DGA)批量生成大量域名,构建更健壮的命令与控制(command&control,C&C)信道,逃避安全机构的封杀和屏蔽。网络诈骗犯注册与流行域名(如alipay.com)相似的域名(如al1pay.com),搭建钓鱼网站欺骗用户,从而窃取账户敏感信息、信用卡密码等。思科2016年度安全报告中指出高达91.3%的恶意软件均会从一定程度上滥用域名系统。在诸如网络钓鱼、恶意软件、垃圾邮件、勒索诈骗、僵尸网络等攻击手段背后,域名发挥着重要作用。这些网络攻击中使用的域名称为恶意域名。及时有效地检测恶意域名在异常检测、态势感知、追踪溯源中具有极其重要的研究意义和现实价值。现有的恶意域名检测技术可以分为以下两类:(1)基于手工特征和机器学习的技术。这类技术的主要思路是首先根据专家经验从域名相关数据中提取域名的特征(如域名的IP地址特征、域名的访问行为、域名的词法特征等),然后利用机器学习分类算法和域名黑白名单数据构建恶意域名分类器,最后用分类器识别更多的未知恶意域名。主要代表工作有Antonakakis等人在2010年USENIX会议273-290页提出的Notos系统、Bilge等人在2014年TISSEC期刊16(4)卷1-14页提出了Exposure系统等;(2)基于关联关系和图推断的技术。这类技术的主要思路是首先从域名相关数据中挖掘关联关系,其次构建域名彼此之间的关联关系图,然后利用图论或其他算法从全局上计算未知域名和图上恶意节点之间的关联程度,最后判断未知域名的属性。主要代表工作有Khalil等人在2016年AsiaCCS会议663-674页提出来的方法、Peng等人在2017年TrustCom会议225-232页上提出的基于DNSCNAME记录的方法等。在与检测技术博弈的过程中,攻击者不断地升级攻击手段,导致现有的检测技术存在以下不足:(1)手工设计的特征存在脆弱性,敌手在了解现有检测技术提取的特征后,不断地调整域名的使用习惯和词法特征,导致之前的特征无法有效地区分正常域名与恶意域名;(2)图推断算法计算复杂度高,无法一次性处理大规模域名数据;(3)缺乏域名团簇层面分析,在恶意域名团体发现上表现差。所述的域名团伙是指由同一个攻击组织或团队控制的域名集合。
技术实现思路
针对现有恶意域名检测技术存在的问题,本专利技术基于域名之间的共现关系,即在DNS流量中不同的域名请求往往会同时出现,提供了一种利用域名共现关系的恶意域名检测方法及系统。本专利技术利用域名请求之间的时间间隔,将DNS请求序列切割成域名共现序列,这一步骤能够有效地将不属于同一网络活动触发的域名请求划分到不同的序列中;同时利用滑动窗口从域名共现序列中提取域名共现对:一方面,滑动窗口的引入成功地消除了由于共现序列长度过长而带来的计算复杂度增加的问题;另一方面,滑动窗口只保留个域名和其窗口内域名的共现关系,而忽略与更远位置的域名关系,能够有效地减少噪声共现关系。本专利技术是基于以下技术方案实现的:一种利用域名共现关系的恶意域名检测方法,包括以下步骤:(1)解析主机层面的DNS流量,获取请求信息,所述请求信息包括请求用户、请求域名和请求时间三元组信息;(2)基于(1)中的三元组数据,利用时间间隔切割算法将请求用户的DNS请求序列划分为域名共现序列,所述时间间隔切割算法是指按照序列切割时间阈值τ将整个DNS请求序列切割成短小的子序列,即域名共现序列;(3)基于(2)中的域名共现序列,利用滑动窗口方式生成域名共现对;(4)基于(3)中的域名共现对,设计域名映射函数在保留域名共现关系的前提下,将每一个域名映射为特征向量;(5)基于(4)中的特征向量,利用部分已知属性的正常域名和恶意域名,结合机器学习分类算法,训练恶意域名分类器,用于检测恶意域名。(6)基于(4)中的域名特征向量和(5)中识别的恶意域名,使用机器学习聚类算法分析恶意域名团伙。进一步地,步骤(1)所述主机层面DNS流量是指在没有经过NAT(NetworkAddressTranslation)网络地址转换之前的DNS流量。进一步地,步骤(2)所述序列切割时间阈值τ是根据域名请求的时间间隔将DNS请求序列进行切割划分的重要参数。如果τ设定过大会导致无法有效地将属于不同网络活动触发的DNS请求序列切开。反之,如果τ设定过小会导致将属于同一个网络活动触发的DNS请求序列分被划分到不同的子序列。因此合适的序列切割时间阈值τ能够有效地增强本专利技术对恶意域名的检测效果。在实际使用中,本专利技术推荐设定τ为2秒、3秒、5秒等数值,同时也可以根据实际域名数据进行适当调整。进一步地,步骤(3)中滑动窗口过大会导致距离较远的域名之间产生共现关系,从而可能引入噪声共现关系,因此在实际使用中推荐设定w为一个较小的整数,如1、2、3等。进一步地,步骤(5)中所述机器学习分类算法包括随机森林(RandomForest)、XGBoost、深度学习等。进一步地,上述方法的另一应用为:基于步骤(4)中的域名特征向量和步骤(5)中识别的恶意域名,使用诸如K-Means、X-Means、谱聚类等机器学习聚类算法分析恶意域名团伙。本专利技术同时公开一种利用域名共现关系的恶意域名检测系统。本系统由域名数据预处理模块、域名共现序列提取模块、域名共现对提取模块、特征学习模块、恶意域名检测模块和团伙分析发现模块六部分构成,具体描述如下:(1)域名数据预处理模块。本模块负责对DNS流量进行数据解析、噪音过滤,并按照时间顺序写入数据库。(2)域名共现序列提取模块。本模块负责将解析的域名请求数据按照时间间隔切割算法划分成域名共现对。(3)域名共现对提取模块。本模块负责将域名共现序列按照滑动窗口的方法生成域名共现对。(4)特征学习模块。本模块基于域名共现对,利用嵌入学习,获取每一个域名的向量化表示,即为域名的特征向量。(5)恶意域名检测模块。本模块可分为训练子模块和检测子模块。其中,训练子模块利用部分已知属性的正常域名和恶意域名,结合机器学习分类算法,训练恶意域名分类器;检测子模块利用训练好的分类器对未知属性的域名进行判定,检测恶意域名。(6)团伙分析发现模块。本模块负责对模块(5)中识别的恶意域名进行更深层次的团伙分析,利用聚类算法发现域名团伙。与公开的相关技术相比,本专利技术具有如下优点:...

【技术保护点】
1.一种利用域名共现关系的恶意域名检测方法,包括以下步骤:/n(1)解析主机层面的DNS流量,获取请求信息,所述请求信息包括请求用户、请求域名和请求时间三元组信息;/n(2)基于(1)中的三元组数据,按照序列切割时间阈值τ将请求用户的DNS请求序列进行切割,划分为域名共现序列;/n(3)基于(2)中的域名共现序列,生成域名共现对;/n(4)基于(3)中的域名共现对,在保留域名共现关系的前提下,将每一个域名映射为特征向量;/n(5)将(4)中的特征向量输入恶意域名分类器以检测恶意域名;/n其中所述恶意域名分类器通过下述步骤得到:/n按照上述步骤(1)-(4)得到特征向量,利用已知属性的正常域名和恶意域名,结合机器学习分类算法进行训练,得到恶意域名分类器。/n

【技术特征摘要】
1.一种利用域名共现关系的恶意域名检测方法,包括以下步骤:
(1)解析主机层面的DNS流量,获取请求信息,所述请求信息包括请求用户、请求域名和请求时间三元组信息;
(2)基于(1)中的三元组数据,按照序列切割时间阈值τ将请求用户的DNS请求序列进行切割,划分为域名共现序列;
(3)基于(2)中的域名共现序列,生成域名共现对;
(4)基于(3)中的域名共现对,在保留域名共现关系的前提下,将每一个域名映射为特征向量;
(5)将(4)中的特征向量输入恶意域名分类器以检测恶意域名;
其中所述恶意域名分类器通过下述步骤得到:
按照上述步骤(1)-(4)得到特征向量,利用已知属性的正常域名和恶意域名,结合机器学习分类算法进行训练,得到恶意域名分类器。


2.如权利要求1所述一种利用域名共现关系的恶意域名检测方法,其特征在于,步骤(1)中主机层面DNS流量未经NAT网络地址转换。


3.如权利要求1所述一种利用域名共现关系的恶意域名检测方法,其特征在于,步骤(1)还包括:按照请求用户和请求时间对三元组集合进行排序,形成域名请求数据集其中为用户ui请求域名的集合,代表用户ui在时间请求域名


4.如权利要求3所述一种利用域名共现关系的恶意域名检测方法,其特征在于,步骤(2)具体为:针对用户ui的请求序列集合Di,将相邻的两个域名请求之间的时间间隔大于切割阈值τ的两个域名请求切割开来,划分到不同的域名共现序列中,反之则划分到同一个域名共现序列中。


5.如权利要求3所述一种利用域名共现关系的恶意域名检测方法,其特征在于,步骤(3)具体为:
(3-1)设定滑动窗口w大小;
(3-2)针对每一个域名共现序列中的每一个域名dj,确定其窗口范围为C(dj)=(dj-w,dj-w+1,…,dj-1,dj+1,dj+2,…,dj+w),为dj前w个域名和后w个域名;
(3-3)基于域名dj窗口范围C(dj),进一步提取域名共现对{(dj,dj-w),…,(dj,dj-1),(dj,dj+1),...

【专利技术属性】
技术研发人员:云晓春彭成维张永铮李书豪徐小琳
申请(专利权)人:中国科学院信息工程研究所国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

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

1