CN115037532B - 基于异构图的恶意域名检测方法、电子装置及存储介质 - Google Patents

基于异构图的恶意域名检测方法、电子装置及存储介质 Download PDF

Info

Publication number
CN115037532B
CN115037532B CN202210594687.0A CN202210594687A CN115037532B CN 115037532 B CN115037532 B CN 115037532B CN 202210594687 A CN202210594687 A CN 202210594687A CN 115037532 B CN115037532 B CN 115037532B
Authority
CN
China
Prior art keywords
domain name
node
mailbox
host
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210594687.0A
Other languages
English (en)
Other versions
CN115037532A (zh
Inventor
刘玉岭
王青
卢志刚
刘俊荣
韩冬旭
杜丹
朱燕
董聪
樊昭杉
祁银皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202210594687.0A priority Critical patent/CN115037532B/zh
Publication of CN115037532A publication Critical patent/CN115037532A/zh
Application granted granted Critical
Publication of CN115037532B publication Critical patent/CN115037532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computer And Data Communications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Biomedical Technology (AREA)

Abstract

本发明公开了一种基于异构图的恶意域名检测方法、电子装置及存储介质,所述方法包括:基于DNS日志数据与Whois数据,构建DNS流量的异构图G=(V,E);基于边E,获取起始节点与终止节点类型均为域名节点的元路径;根据DNS日志数据与Whois数据在不同时期下的域名行为,提取各域名节点的时间序列特征与域名注册特征,以获取各域名节点的特征向量;基于所述元路径与所述特征向量,计算各域名节点的嵌入特征,以获取未标记域名节点的恶意域名检测结果。本发明从海量DNS流量中对存在的恶意域名的有效识别。

Description

基于异构图的恶意域名检测方法、电子装置及存储介质
技术领域
本发明属于机器学习与信息安全结合的交叉技术领域,尤其涉及一种基于异构图的恶意域名检测方法、电子装置及存储介质。
背景技术
域名系统(DNS)作为互联网的基础设施,实现域名与IP地址的映射。随着互联网的发展,攻击者利用基于动态DNS的敏捷技术,实现高度可变的FQDN和IP地址映射,以此进行恶意活动,如发起APT攻击、操纵僵尸网络、传播恶意软件、定位命令和控制服务器(C&C服务器)、进行隐蔽通信等。因此,对作为主要攻击媒介的恶意域名的检测至关重要。
目前,对恶意域名进行检测的方法主要采用的是基于统计特征的检测方法和基于图结构的检测方法。基于统计特征的检测方法对DNS数据进行分析,根据域名在注册行为、网络活动中的行为提取能够区分恶意域名的统计特征,然后利用机器学习算法训练模型,以此发现具有相同行为模式的恶意域名。除了使用机器学习算法进行检测外,基于深度学习的检测方法也受到使用,因为它们消除了人工特征提取的工作。基于统计特征的检测方法在初期具有较高的准确率,然而,随着规避防御技术的发展,攻击者可以轻易逃避仅依靠特征识别恶意域名的检测方法,基于统计特征的检测方法的有效性逐渐降低。
基于图结构的检测方法利用域名之间行为的关联关系来检测恶意域名。首先通过域之间的关系构建关联规则,以此形成能够表示域之间关联关系的域图。给定图中部分恶意域名,利用图推理算法等推断出与已知恶意域相关的其他未知恶意域。基于图结构的检测方法不易被攻击者规避,从而实现更高的准确率。
现有的两类恶意域名检测方法均取得一定的成功,然而,基于统计特征的检测方法因其特征较为表层而易被攻击者规避,难以检测到具有高隐蔽性的恶意域名。另一方面,基于图结构的检测方法在检测范围上存在一定局限性,只能识别与图中已知恶意域相关的恶意域。这两类检测方法可以进行结合,从而更好的提升恶意域名检测的准确性和检测范围。
发明内容
针对现有技术中存在的问题,本发明提出了一种基于异构图的恶意域名检测方法、电子装置及存储介质,并将本发明方法命名为HANDOM。本发明的目的是实现从海量DNS流量中对存在的恶意域名的有效识别。
为达到目的,本发明采用具体技术方案是:
一种基于异构图的恶意域名检测方法,其步骤包括:
基于DNS日志数据与Whois数据,构建DNS流量的异构图G=(V,E),其中,节点V的类型包括:域名节点、主机节点、注册人邮箱节点和技术邮箱节点,边E的类型包括:主机与域名之间的查询关系、域名与注册人电子邮箱之间的映射关系和域名与技术电子邮箱之间的映射关系,所述域名节点包括:标记域名节点和未标记域名节点;
基于所述边E,获取起始节点与终止节点类型均为域名节点的元路径;
根据DNS日志数据与Whois数据在不同时期下的域名行为,提取各域名节点的时间序列特征与域名注册特征,以获取各域名节点的特征向量;
基于所述元路径与所述特征向量,计算各域名节点的嵌入特征,以获取未标记域名节点的恶意域名检测结果。
进一步地,所述基于DNS日志数据与Whois数据,构建DNS流量的异构图G=(V,E),包括:
基于DNS日志数据与Whois数据,获取域名节点、初始主机节点、初始注册人邮箱地址和初始技术邮箱地址;
将查询域名数量少于第一设定数量的初始主机节点作为不活跃的初始主机节点,并从所述初始主机节点中去除所述不活跃的初始主机节点,得到主机节点;
将映射域名数量少于第二设定数量的初始注册人邮箱地址作为不活跃的初始注册人邮箱地址,并从初始注册人邮箱地址分别去除公共注册人邮箱地址与不活跃的初始注册人邮箱地址,得到注册人邮箱节点;
将映射域名数量少于第三设定数量的初始技术邮箱地址作为不活跃的初始技术邮箱地址,并从初始技术邮箱地址分别去除公共技术邮箱与不活跃的初始技术邮箱地址,得到技术邮箱节点;
基于域名节点、初始主机节点、注册人邮箱节点、技术邮箱节点以及主机与域名之间的查询关系、域名与注册人电子邮箱之间的映射关系、域名与技术电子邮箱之间的映射关系,构建异构图G=(V,E)。
进一步地,所述基于所述边E,获取起始节点与终止节点类型均为域名节点的元路径,包括:
基于主机与域名之间的查询关系,得到域名关联主机的主机元路径;
基于域名与注册人电子邮箱之间的映射关系,得到域名关联注册人邮箱地址的注册人邮箱地址元路径;
基于域名与技术电子邮箱之间的映射关系,得到域名关联技术邮箱地址的技术邮箱地址元路径;
综合主机元路径、注册人邮箱地址元路径、以及技术邮箱地址元路径,得到起始节点与终止节点类型均为域名节点的元路径。
进一步地,所述根据DNS日志数据与Whois数据在不同时期下的域名行为,提取各域名节点的时间序列特征与域名注册特征,以获取各域名节点的特征向量,包括:
设定时间窗口,并在所述时间窗口内设定第一时间间隔与第二时间间隔;
在第一时间间隔与第二时间间隔下,分别基于所述DNS日志数据,提取各域名节点的时间序列特征;
基于Whois数据,提取各域名节点的域名注册特征;
依据所述时间序列特征与域名注册特征,得到所述特征向量。
进一步地,所述在第一时间间隔与第二时间间隔下,分别基于所述DNS日志数据,提取各域名节点的时间序列特征,包括:
在时间窗口内,提取访问域名的主机列表,计算每个第一时间间隔与第二时间间隔内的每个主机访问域名的数量,以获取访问该域名的主机总数;
根据所述主机列表,获取基于时间的不同主机访问域名形成的数量分布序列T1,并提取所述数量分布序列T1的离散指标;
综合所述访问该域名的主机总数与所述数量分布序列T1的离散指标,得到时间序列特征的类别特征F1;
在时间窗口内,提取主机在第一时间间隔与第二时间间隔内访问每一个域名的主机所属的不同网段列表,并基于得到的网段多样性序列T2,计算访问每一域的不同网段数量与所述网段多样性序列T2的离散指标,以得到特征类别F2;
在时间窗口内,提取域查询时间差值序列T3,并提取所述时间序列T3中的方差与峰值、最大查询时间差与最小查询时间差、以及最大查询时间差和最小查询时间差之差,以得到特征类别F3;
在时间窗口内,提取域名被查询次数的时间序列列表T4,并计算小时时间单位下最大访问次数与总访问次数之比以及所述时间序列列表T4的平均值、方差、峰值,以得到特征类别F4;
综合所述类别特征F1、类别特征F2、类别特征F3与类别特征F4,获取所述时间序列特征。
进一步地,所述域名注册特征包括:域名的平均生存周期长度、域名最长生存期、域名最短生存期、电子邮件地址数量和名称服务器的字符相似度。
进一步地,所述基于所述元路径与所述特征向量,计算各域名节点的嵌入特征,以获取未标记域名节点的恶意域名检测结果,包括:
根据所述对称元路径,获取各域名节点及其邻居节点的重要性以进行权重分配,得到节点级嵌入特征;
使用语义层面的关注机制来学习每个元路径的权重,得到语义级嵌入特征;
对节点级嵌入特征以及语义级嵌入特征求和,得到每个域名节点的嵌入特征;
基于标记域名节点的嵌入特征进行训练,以获取未标记域名节点的恶意域名检测结果。
进一步地,所述训练的损失函数包括:交叉熵损失函数。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序执行上述任一方法。
一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一所述方法。
与现有技术相比,本发明的积极效果为:
1.首个将HAN算法应用在恶意域名检测领域的方法,本发明提出了一种基于异质图神经网络的方法来检测恶意域。对域名、客户主机和域名注册信息之间的互动关系进行建模,基于此设计了多种元路径以及异质图,并为图中的每个域名节点提取特征属性。使用HAN算法来学习图中每个域名节点的恶意程度,并结合损失函数将恶意域检测问题转化为基于HAN的节点分类。
2.不同于其他检测方法中使用较为单薄的关联关系构图,本发明基于攻击者在网络攻击过程中的时空关联关系,使用较难规避的基于空间的资源分布关系;对DNS查询域的集合进行时间序列分析,结合时间窗口以及时间间隔两个维度,提取四类具有粗、细粒度的时间序列特征,实现对恶意域名的请求模式挖掘,从而直观地识别出主机查询请求和主机资源分布异常的恶意域;
3.本发明利用基于空间上下文关联的资源共享和基于时间上下文关联的行为模式信息,在结构-局部两个层面上捕捉域的攻击行为。实验证明,HANDOM在检测高度隐藏的恶意域方面是有效的。通过改变训练标签域的数量证明了本发明中方法的高鲁棒性。同时,通过与传统的机器学习方法和其他现有的检测方法进行比较,证明了本发明的优越性。
附图说明
图1是本发明的整体流程图。
图2是本发明在不同比例的标记训练样本下的两个数据集的实验性能图。
图3是本发明与现有的机器学习方法以及其他恶意域名检测方法,在训练样本为50%的比例下的的实验性能对比图,其中包含各方法在Precision、F-Score、Accuracy、Recall评价指标下的数值。
图4是本发明与现有的机器学习方法以及其他恶意域名检测方法在不同训练样本数量下的实验性能对比图,其中分别包含各方法在F-Score、Recall评价指标下的数值。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心做进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明从空间-时间相关性方面观察了恶意域和良性域的行为差异,即恶意域在攻击期的交互行为模式和恶意域的资源分布与良性域不同,然后基于这些观察提出了一种有效的恶意域名检测方法:HANDOM。HANDOM首先基于空间上下文信息的资源共享相关性,即域、客户主机和注册者之间的查询行为和注册行为,构建了一个异质图来表示域之间的资源共享关系。然后,HANDOM基于时间上下文信息的行为模式相关性,提取图中每个域节点的时间序列特征。最后,HANDOM使用HAN算法来综合全局图结构信息和局部域节点特征。HAN使用节点级和语义级的关注机制来获得图中每个域的最终嵌入向量,并将恶意域检测问题转变为基于HAN的节点分类。
本发明结合了统计特征以及图结构信息和异构图注意力网络(HeterogeneousAttention Network,HAN)分类算法。本发明选择HAN算法的原因在于:(1)HAN算法作为一种图神经网络算法,可以处理异构图中复杂的关联关系和节点的特征属性,并可以很好的处理异构图上的节点分类问题。(2)基于节点级和语义级的双层注意力机制的HAN可以从全局图结构信息以及局部节点特征属性两方面更好的学习图中各域名节点的恶意行为,从而更好的捕获域名的邻居节点以及所在元路径的恶意重要性信息。(3)HAN算法使用基于图的转导分类方法,即使图中仅含有少量标记样本,基于半监督学习的HAN仍可推断出图中的未知恶意域名。
由于基于统计特征的检测方法不断挖掘恶意域的请求模式,以实现高适应性,这可以为基于图结构的检测方法提供与图中已知恶意域不相关的其他恶意域的恶意行为信息,从而实现高覆盖检测。其次,基于图结构的检测方法可以在域之间建立强连接,并在已知恶意域的基础上发现与之相关的潜在未知恶意域,以此捕获具有高隐蔽性、规避基于统计特征的检测方法的恶意域。而HAN算法能够有效综合统计特征以及图结构信息,基于双层注意力机制的HAN学习各域名节点的恶意信息,以此获得图中每个域的最终嵌入向量,并将恶意域检测问题转变为HAN上的节点分类问题。因此,本发明使用HAN算法构建恶意域名检测方法,从而提升对海量DNS数据中未知恶意域名的检测能力。
本发明的恶意域名检测方法,如图1所示,包括以下步骤。
步骤1:异构图构建。
本发明使用DNS日志数据以及相关域名的Whois信息来构建异构图。其中,DNS日志的每条记录代表主机访问域名的时间戳和次数,提供主机在域名请求方面的详细信息。DNS日志中的域名、主机名是经过加密处理的,并且其域名标签已经被准确地标注出来。与域名相关的Whois数据代表域名的注册信息,如注册人信息、注册人电子邮箱、注册时间和其他信息。
异构图的构建规则为:i)一段时间内被同一主机访问的域名之间存在关联;ii)一段时间内具有相同注册人邮箱或技术邮箱的域名之间存在关联。依据以上两条规则构建异构图,构建后的异构图G=(V,E)包含四种类型的节点和三种类型的关联关系。节点V包括域名、客户主机、注册人邮箱地址和技术邮箱地址。E包含三类连接关系(R1,R2,R3):主机与域名之间的查询关系(R1)、域名与注册人邮箱地址之间的映射关系(R2)、域名与技术邮箱地址之间的映射关系(R3)。使用三个矩阵来表示连接关系,并根据上述三种关联关系提取以下三种对称的元路径(元路径的起点和终点的节点类型都是域名),包括基于R1的主机元路径,基于R2的注册人邮箱地址(RE)元路径,以及基于R3的技术邮箱地址(TE)元路径,如表1所示。
表1连接关系以及元路径描述
Figure GDA0003991487970000061
本发明通过设置过滤规则对构建的图进行修剪,以去除多余的数据,为后续的检测提供高质量的数据支持。(a)不活跃的主机节点:查询次数少于Kf(设定Kf=2)个域的客户主机,本发明关注的是有实际查询行为的域,而不是由于语法错误或查询错误造成的误操作。(b)公共电子邮箱地址。将带有微软、谷歌和阿里巴巴等特定公司名称的电子邮箱地址定义为公共电子邮箱地址,如domains@microsoft.com。删除注册人电子邮箱地址或技术电子邮箱地址为公共信息的电子邮件地址。公共电子邮箱地址不仅映射了大量的恶意域名,而且也被良性的域名注册者所使用,所以这种类型的电子邮箱地址节点会产生显著的资源消耗,并且不包含大量的恶意关联信息。(c)单一电子邮件地址。只映射到一个域名的电子邮箱地址被丢弃,因为它们对标签的传播没有贡献。本发明遵循上述图的构建规则,并保留异构图中所有带有恶意信息的域和相关节点。经过图的构建和修剪后,异构图G中共包含33100个节点和175235条节点之间的边,如表2所示。
表2构建的异构图G中包含的节点和边信息
Figure GDA0003991487970000071
步骤2:特征选取。
本发明统计分析DNS日志数据和Whois数据在不同时期下的域名行为模式,然后为异构图中的各域名节点提取特征,并将生成的域名特征矩阵X嵌入到HAN算法中,以表明该节点的恶意行为信息。本发明分析DNS日志发现攻击者使用的客户主机分为不同的分工,如扫描、随机访问、获取指挥和控制通信服务器的地址等;被同一攻击者感染的主机往往会查询相似的恶意域名,而且查询记录在时间上具有相似的规律性。由于网络杀伤链中攻击者的互动行为与时间相关,因此本发明对DNS查询的集合进行时间序列分析。
本发明分别从粗粒度和细粒度范围的角度分别进行特征提取,对域名进行时间序列分析,直观地识别出主机查询请求和主机资源分布异常的恶意域名。粗粒度范围用于检测域在整体活动中的表现,如一段时间内域的总查询次数和主机数;细粒度范围用于检测域的低频异常行为,如每个时间窗口下的时间序列分布。
本发明在时间窗口期内跟踪DNS日志和Whois数据,对域名的行为模式进行统计分析,然后从以下五个事实中提取时间序列特征和域名注册特征来表明域名的恶意行为。其中F1-F4的特征类别为时间序列特征,F5的特征类别为域名注册特征。时间序列分析的重点是基于时间的数据序列的相互依赖性。平均值、峰值、方差和标准可以作为时间序列统计分析的离散度量。本发明中所提取的特征如表3所示,表3提出了这些特征的缩写名称,并在下文中详细解释了如何计算这些特征值。
基于此,提取以下4类时间序列特征:1)基于恶意域名通常由更多的恶意主机访问的原则,提取特征类别F1。提取时间窗口内访问域名的主机列表,计算每个时间区间下每个主机访问域名的数量,并提取以下特征:访问域名的主机总数(F1-a);基于时间的不同主机访问域名形成的数量分布序列T1,从中提取T1的离散指标(F1-b),如平均值、方差、峰值,以反映访问域名的主机数量随时间变化的趋势。这些特征表明访问恶意域的主机分布的规律性,用于检测大量受感染主机访问的恶意域和主机访问频率分布异常的恶意域。2)主机的资源多样性。基于同一攻击者通常攻击相邻的客户主机,而大量受感染的主机通常属于同一网段,提取网段特征类别F2。在时间窗口内,本发明提取主机在每个时间间隔内访问该域的不同网段列表,这被称为网段多样性序列T2。从T2中计算出以下特征:访问该域的不同网段的数量(F2-a);T2的平均值、方差、峰值和其他离散指标(F2-b)。这类特征可以获得访问该域的主机资源的多样性,以检测资源分布集中的恶意域。3)域名查询时间变化率。在进行恶意活动时,攻击者的突然切入和切出操作会导致域名查询次数的大幅增加或减少,提取特征类别F3。在时间窗口内,提取域查询时间差值序列T3,以日和秒为时间间隔单位单位统计分析域查询时间变化率,并提取以下特征:域查询时间差值列表T3中的方差、峰值等统计值(F3-a);最大和最小查询时间差(F3-b);最大和最小查询时间差之差(F3-c),以检测查询不稳定的恶意域和突发恶意域的不稳定和突发特征。4)域名查询时间段的偏好。基于攻击者通常有其攻击偏好,如果攻击者倾向于在夜间发动攻击,那么恶意域名在夜间会有频繁的查询记录,从而提取特征类别F4。提取时间窗口内域名被查询次数的时间序列列表T4,计算每个时间区间的查询次数,并提取以下特征:小时时间单位下查询次数序列列表T4的平均值、方差和峰值(F4-a);小时时间单位下最大访问次数与总访问次数之比(F4-b)。通过恶意域之间具有相似的查询时间偏好这一特征来检测具有类似查询时间偏好的恶意域集合。
表3特征描述
Figure GDA0003991487970000081
Figure GDA0003991487970000091
由于攻击者通常批量注册域名,且注册的恶意域名中存在资源关联,因此本发明也对Whois数据进行域名注册分析,并提取特征5):域名注册特征。域名生命周期指的是域名注册、更新和注销的整个过程,这个过程可以发生很多次。恶意域名通常有频繁的注册和注销等生存更新操作,生存周期较短,因此提取特征类别F5。计算域名的平均生存周期长度(F5-a);域名最长和最短的生存期(F5-b);域名电子邮箱地址的数量(F5-c);域名的各个名称服务器之间的字符相似度(F5-d)。这被用来检测生存更新频繁、生命周期短的恶意域名,以及异常的注册信息。
在本研究中,以一个月为时间窗口,天和时段分别设定为时间间隔。全天分为以下两个时间段:(a)0-4,4-24;(b)0-12,12-24。在一个月内的每一天和每一时间段下的四类F1-F4特征值被提取出来。为G图中的每个域节点提取特征,每个域节点的特征数为
Figure GDA0003991487970000092
其中Fi表示特征类别,Mi表示每个类别下的子特征数。特征矩阵X代表图中所有域节点的特征,包含N行和/>
Figure GDA0003991487970000093
列,行代表域节点的数量,列代表特征数量。
步骤3:HAN算法训练
本发明使用HAN算法建立检测方法,从而实现在海量DNS数据中检测恶意域名的能力。
首先阐述一下HAN的算法原理。
HAN算法是一种新型的基于层次注意力机制的半监督异构图神经网络,可以为异构图中的各节点进行分类。本发明将恶意域名检测问题表述为HAN算法上的节点分类问题。本发明结合所构建的异构图G和提取的图中各域名节点形成的特征矩阵X建立HAN=(V,E,X),其中V,E是异构图G的节点和边,
Figure GDA0003991487970000101
表示每个域节点vi∈V的特征矩阵,其中xi表示节点vi的特征集。给定一个子集yL代表图中的域名标记节点,并将其作为初始训练的标记样本,HAN的任务是学习域节点的最终嵌入,并通过最小化yL的标记值和预测值之间的交叉熵作为损失函数来训练基于HAN的恶意域检测方法。训练后的基于HAN的恶意域检测方法可以对图中的未知域进行分类。
HAN使用两阶段的注意力机制来聚合节点的信息:
i)节点级关注机制。HAN首先对每个节点使用节点级关注机制,根据每个元路径了解各域名节点及其相关邻居节点的重要性,并给它们分配不同的权重值。例如,对于连接到更多恶意域的域节点,HAN给予该域的权重值高于那些连接到良性域的域节点。HAN首先根据元路径Φ找到每个域节点i的相邻节点
Figure GDA0003991487970000102
然后,它使用attnode(xi,xj,Φ),这是一个节点级的注意力神经网络,计算每个相邻节点j对节点i的重要性,最后使用softmax函数得到权重系数,如公式所示
Figure GDA0003991487970000103
其中aΦ是节点级的关注向量,σ是激活函数,||表示拼接操作。汇总节点i的所有邻居节点的权重系数,得到最终嵌入,如公示所示
Figure GDA0003991487970000104
ii)语义级关注机制。HAN使用语义层面的关注机制来学习每个元路径的权重。例如,对于检测恶意域来说,访问域的主机元路径比域及其映射的电子邮箱地址的元路径更有意义,那么HAN就会给主机元路径分配一个更高的权值。对于一组给定的元路径P={Host,RE,TE},经过节点级的关注机制,HAN在每个元路径下得到三组嵌入:ZΦHost,ZΦRE,ZΦTE。在得到元路径的语义层嵌入集后,HAN使用语义层注意神经网络attsem(ZΦHost,ZΦRE,ZΦTE)来学习每个元路径的权重系数βΦ。HAN首先使用非线性变换来转换语义嵌入,从而得出每条元路径的重要值:
Figure GDA0003991487970000105
其中V是领域节点的集合,W是权重矩阵,b是偏置向量,q是语义层面的关注向量。然后,HAN通过使用softmax函数得到权重系数:
Figure GDA0003991487970000111
3)HAN将两级注意力整合起来,通过对节点级权重以及语义级权重的求和,得到每个节点的嵌入值
Figure GDA0003991487970000112
来嵌入最终的恶意偏好特征。最后,通过学习初始标记节点yL的最终嵌入来训练检测HAN,并使用交叉熵损失函数作为损失函数:
Figure GDA0003991487970000113
其中C表示分类器的参数,Zl表示标记节点的嵌入,yl表示标记节点的标签。使用训练好的基于HAN的恶意域名检测方法HANDOM来预测图中未标记的节点。
(1)结果对比
本发明所使用的DNS日志数据集来自奇安信科技集团的开源数据集,该数据集包含2020年3月-5月之间通过部署传感器在奇安信的DNS服务器上捕获的真实网络流量。本发明提取2020-03-01:2020-03-31(数据集1)、2020-05-01:2020-05-31(数据集2)各一个月的DNS日志数据和相关域名的Whois信息构建两个数据集,并进行实验。本发明使用准确率、精确率、召回率和F1值对HANDOM方法的性能进行评价。
本发明首先评估方法在不同比例的初始训练标注样本下的性能。最后,本发明对机器学习方法和其他恶意域名检测方法进行了对比实验。本发明使用四种机器学习方法来做对比,分别是:K最邻近、随机森林、支持向量机、XGBoost方法。对于其他恶意域名检测方法的对比实验是方法1:图结构+图推理方法、方法2:图结构+HIN(异构图信息网络,heterogeneous information network)方法。
1)不同比例的初始训练标记样本下的两个数据集的性能对比
本实验在不同比例的初始训练标记样本下的性能比较结果如表4、表5所示。从表4、5可以看出,HANDOM在数据集2上有更好的表现,且当HANDOM方法在两个数据集上只用少量的初始标签样本(约占图中训练样本的10%)进行训练时,它的准确率、F-Score、召回率均高达90%以上。随着初始训练标签样本的增加,数据集1和数据集2的所有评估指标值基本都在95%以上。
表4数据集1在不同比例的初始训练标记样本下的性能比较
Figure GDA0003991487970000114
/>
Figure GDA0003991487970000121
表5数据集2在不同比例的初始训练标记样本下的性能比较
Figure GDA0003991487970000122
2)与机器学习方法的性能对比
表6数据集2下HANDOM与机器学习方法进行性能比较
Figure GDA0003991487970000123
本发明将HANDOM与机器学习方法在数据集2上进行比较,性能比较结果如表6所示。从表6可以看出,在不同比例的标签样本中,HANDOM方法的性能在以上标签比例场景中都达到了最高的整体F1值和召回率。一开始,在90%的初始标签实例比例下,HANDOM的F-Score和召回率为F-Score:0.9589,Recall:0.9722。其他机器学习方法的性能随着标记实例比例的减少而逐渐下降,而HANDOM的性能在只有10%的标记实例时仍然保持F-Score:0.9213,Recall:0.9355。XGBoost、随机森林方法表现次之,支持向量机方法表现最差。总的来说,本发明提出的HANDOM在恶意领域检测方面优于所有机器学习方法。HANDOM的优势可以归结为以下原因:与只使用统计特征的传统机器学习方法相比,HANDOM还依赖于域名之间的关联关系,以此获得恶意行为之间的更紧密关联。基于图结构和统计特征的HANDOM可以获得更多维度的恶意行为信息,并与具有节点级和元路径级关注机制的HAN算法相结合。HAN可以分层次地捕获目标域节点的相邻节点的恶意信息和整个图的全局交互行为关联。基于图转导分类的HANDOM可以在仅有少量标记样本的情况下高性能地检测图中的未知节点。
表7与其他恶意域名检测方法进行性能比较
Figure GDA0003991487970000131
本实验将HANDOM与其他两种使用域之间的关联进行检测的方法在数据集2上进行检测,性能比较结果如表7所示。实验结果显示HANDOM在各个标签比例下的准确率均高达97%以上,召回率高达90%以上。这个结果表明本发明提出的HANDOM方法对于恶意域名检测具有更好的F1值和召回率,同时拥有实际应用的潜力。HANDOM方法性能优异的原因在于由于真实网络中的恶意域的数量远远低于良性域,这导致生成的域图中的恶意关联较少,由于这两类恶意域名检测方法只依赖于域关联,从而导致性能下降。然而,HANDOM不仅依赖于图的结构信息,还依赖于有效的统计特征,从而实现对具有类似恶意行为信息的恶意域的显著检测。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以所附权利要求为准。

Claims (7)

1.一种基于异构图的恶意域名检测方法,其步骤包括:
基于DNS日志数据与Whois数据,构建DNS流量的异构图
Figure DEST_PATH_IMAGE002
,其中,节点
Figure DEST_PATH_IMAGE004
的类型包括:域名节点、主机节点、注册人邮箱节点和技术邮箱节点,边
Figure DEST_PATH_IMAGE006
的类型包括:主机与域名之间的查询关系、域名与注册人邮箱之间的映射关系和域名与技术邮箱之间的映射关系,所述域名节点包括:标记域名节点和未标记域名节点;
基于所述边
Figure 55371DEST_PATH_IMAGE006
,获取起始节点与终止节点类型均为域名节点的元路径;
根据DNS日志数据与Whois数据在不同时期下的域名行为,提取各域名节点的时间序列特征与域名注册特征,以获取各域名节点的特征向量;其中,所述根据DNS日志数据与Whois数据在不同时期下的域名行为,提取各域名节点的时间序列特征与域名注册特征,以获取各域名节点的特征向量,包括:
设定时间窗口,并在所述时间窗口内设定第一时间间隔与第二时间间隔;
在时间窗口内,提取访问域名的主机列表,计算每个第一时间间隔与第二时间间隔内的每个主机访问域名的数量,以获取访问该域名的主机总数;
根据所述主机列表,获取基于时间的不同主机访问域名形成的数量分布序列T1,并提取所述数量分布序列T1的离散指标;
综合所述访问该域名的主机总数与所述数量分布序列T1的离散指标,得到时间序列特征的类别特征F1;
在时间窗口内,提取主机在第一时间间隔与第二时间间隔内访问每一个域名的主机所属的不同网段列表,并基于得到的网段多样性序列T2,计算访问每一域的不同网段数量与所述网段多样性序列T2的离散指标,以得到特征类别F2;
在时间窗口内,提取域查询时间差值序列T3,并提取所述时间序列T3中的方差与峰值、最大查询时间差与最小查询时间差、以及最大查询时间差和最小查询时间差之差,以得到特征类别F3;
在时间窗口内,提取域名被查询次数的时间序列列表T4,并计算小时时间单位下最大访问次数与总访问次数之比以及所述时间序列列表T4的平均值、方差、峰值,以得到特征类别F4;
综合所述类别特征F1、类别特征F2、类别特征F3与类别特征F4,获取所述时间序列特征;
基于Whois数据,提取各域名节点的域名注册特征;所述域名注册特征包括:域名的平均生存周期长度、域名最长生存期、域名最短生存期、邮件地址数量和名称服务器的字符相似度;
依据所述时间序列特征与域名注册特征,得到所述特征向量;
基于所述元路径与所述特征向量,计算各域名节点的嵌入特征,以获取未标记域名节点的恶意域名检测结果。
2.如权利要求1所述的方法,其特征在于,所述基于DNS日志数据与Whois数据,构建DNS流量的异构图
Figure 379036DEST_PATH_IMAGE002
,包括:
基于DNS日志数据与Whois数据,获取域名节点、初始主机节点、初始注册人邮箱地址和初始技术邮箱地址;
将查询域名数量少于第一设定数量的初始主机节点作为不活跃的初始主机节点,并从所述初始主机节点中去除所述不活跃的初始主机节点,得到主机节点;
将映射域名数量少于第二设定数量的初始注册人邮箱地址作为不活跃的初始注册人邮箱地址,并从初始注册人邮箱地址分别去除公共注册人邮箱地址与不活跃的初始注册人邮箱地址,得到注册人邮箱节点;
将映射域名数量少于第三设定数量的初始技术邮箱地址作为不活跃的初始技术邮箱地址,并从初始技术邮箱地址分别去除公共技术邮箱与不活跃的初始技术邮箱地址,得到技术邮箱节点;
基于域名节点、初始主机节点、注册人邮箱节点、技术邮箱节点以及主机与域名之间的查询关系、域名与注册人邮箱之间的映射关系、域名与技术邮箱之间的映射关系,构建异构图
Figure 80144DEST_PATH_IMAGE002
3.如权利要求1所述的方法,其特征在于,所述基于所述边
Figure 623821DEST_PATH_IMAGE006
,获取起始节点与终止节点类型均为域名节点的元路径,包括:
基于主机与域名之间的查询关系,得到域名关联主机的主机元路径;
基于域名与注册人邮箱之间的映射关系,得到域名关联注册人邮箱地址的注册人邮箱地址元路径;
基于域名与技术邮箱之间的映射关系,得到域名关联技术邮箱地址的技术邮箱地址元路径;
综合主机元路径、注册人邮箱地址元路径、以及技术邮箱地址元路径,得到起始节点与终止节点类型均为域名节点的元路径。
4.如权利要求1所述的方法,其特征在于,所述基于所述元路径与所述特征向量,计算各域名节点的嵌入特征,以获取未标记域名节点的恶意域名检测结果,包括:
根据所述对称元路径,获取各域名节点及其邻居节点的重要性以进行权重分配,得到节点级嵌入特征;
使用语义层面的关注机制来学习每个元路径的权重,得到语义级嵌入特征;
对节点级嵌入特征以及语义级嵌入特征求和,得到每个域名节点的嵌入特征;
基于标记域名节点的嵌入特征进行训练,以获取未标记域名节点的恶意域名检测结果。
5.如权利要求4所述的方法,其特征在于,所述训练的损失函数包括:交叉熵损失函数。
6.一种存储介质,所述存储介质中存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现如权利要求1-5中任一方法。
7.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如权利要求1-5中任一所述方法。
CN202210594687.0A 2022-05-27 2022-05-27 基于异构图的恶意域名检测方法、电子装置及存储介质 Active CN115037532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210594687.0A CN115037532B (zh) 2022-05-27 2022-05-27 基于异构图的恶意域名检测方法、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210594687.0A CN115037532B (zh) 2022-05-27 2022-05-27 基于异构图的恶意域名检测方法、电子装置及存储介质

Publications (2)

Publication Number Publication Date
CN115037532A CN115037532A (zh) 2022-09-09
CN115037532B true CN115037532B (zh) 2023-03-24

Family

ID=83121414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210594687.0A Active CN115037532B (zh) 2022-05-27 2022-05-27 基于异构图的恶意域名检测方法、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN115037532B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074092B (zh) * 2023-02-07 2024-02-20 电子科技大学 一种基于异构图注意力网络的攻击场景重构系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10944781B1 (en) * 2018-06-25 2021-03-09 NortonLifeLock Inc. Systems and methods for identifying malicious domain names from a passive domain name system server log
CN110958220B (zh) * 2019-10-24 2020-12-29 中国科学院信息工程研究所 一种基于异构图嵌入的网络空间安全威胁检测方法及系统
CN112860810B (zh) * 2021-02-05 2023-07-14 中国互联网络信息中心 域名多重图嵌入表示方法、装置、电子设备及介质
CN112910929B (zh) * 2021-03-24 2022-01-04 中国科学院信息工程研究所 基于异质图表示学习的恶意域名检测方法及装置
CN113645240B (zh) * 2021-08-11 2023-05-23 积至(海南)信息技术有限公司 一种基于图结构的恶意域名群落挖掘方法

Also Published As

Publication number Publication date
CN115037532A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
US10574681B2 (en) Detection of known and unknown malicious domains
CN112104677B (zh) 一种基于知识图谱的受控主机检测方法和装置
Antonakakis et al. Detecting malware domains at the upper {DNS} hierarchy
US9998484B1 (en) Classifying potentially malicious and benign software modules through similarity analysis
US10742591B2 (en) System for domain reputation scoring
US8856360B2 (en) Automatically identifying dynamic internet protocol addresses
JP6510040B2 (ja) 不審なホストネームを識別するシステム及び方法
CN111355697B (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
US20160352760A1 (en) Tracking Users over Network Hosts Based on User Behavior
CN102685145A (zh) 一种基于dns数据包的僵尸网络域名发现方法
Amini et al. A Fast Density‐Based Clustering Algorithm for Real‐Time Internet of Things Stream
US10425436B2 (en) Identifying bulletproof autonomous systems
CN108173884B (zh) 基于网络攻击伴随行为的DDoS攻击群体分析方法
CN105827594A (zh) 一种基于域名可读性及域名解析行为的可疑性检测方法
JP2022533552A (ja) システムレベルセキュリティのための階層的挙動行動のモデル化および検出システムおよび方法
CN110830490B (zh) 基于带对抗训练深度网络的恶意域名检测方法及系统
Fraunholz et al. YAAS-On the Attribution of Honeypot Data.
Celik et al. Detection of Fast-Flux Networks using various DNS feature sets
Budgaga et al. A framework for scalable real‐time anomaly detection over voluminous, geospatial data streams
CN115037532B (zh) 基于异构图的恶意域名检测方法、电子装置及存储介质
Li et al. Street-Level Landmarks Acquisition Based on SVM Classifiers.
Li et al. Can we learn what people are doing from raw DNS queries?
Liu et al. CCGA: clustering and capturing group activities for DGA-based botnets detection
CN109067778B (zh) 一种基于蜜网数据的工控扫描器指纹识别方法
Liang et al. Malportrait: Sketch malicious domain portraits based on passive DNS data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant