域名

基于域名图谱嵌入的恶意域名挖掘

  • 浏览次数 39917
  • 喜欢 0
  • 评分 12345

感谢腾讯御见威胁情报中心来稿!

原文链接:https://mp.weixin.qq.com/s/LeK6QYHwd3k3UlyAuSkcZA

 

一、导语

恶意域名的挖掘检测一直是威胁情报生产的核心内容。在庞大的互联网体量下,以域名为节点的访问、下载、解析等关系够成了一张无比庞大的“图”,黑客的每一次访问、请求或下载,都构成了其中具有独特结构的可疑子图,由此出发,图关系天然适用于挖掘恶意域名。本文主要讲解了图嵌入(GraphEmbedding)相关技术在腾讯安全威胁情报生产中的运用。

二、应用背景

一般的恶意域名检测(Malicious Domains Detection)[1]任务是基于特征工程和机器学习来进行恶意域名的判定,但从网络图谱的角度上来看,域名是整个图中的一个节点,它在网络图谱中,与不同的节点,如IP、md5等有不同的相邻关系,如访问、下载、解析等。如下图是腾讯安图对域名节点的网络关系展示。

1

对于恶意域名而言,基于其网络图谱关系,能够有效获取实锤线索。而图嵌入技术让网络关系能够进行有效的数值化表达。

三、相关技术

图嵌入往往作为一些图神经网络(GraphNeural Networks,GNN[2])的输入特征,与词嵌入[3]类似,图嵌入基本理念是基于(非)相邻节点关系,将目的节点映射为稠密向量,这样就将图谱上的多边关系和实物节点进行了数值化,以便在下游任务中进行运用[4]

在获取相应图嵌入后,围绕图嵌入的下游任务主要有四类:节点分类、链路预测、聚类分析和可视化分析。节点分类指对节点的类型进行分类,如判定域名节点是否为恶意;链路预测是为了判定两个节点之间是否有边相连;聚类分析是在无监督学习场景下的节点簇分析;可视化分析通常会对节点进行降维并可视化。

此外,需要注意的是,网络有同构(homogeneous networks)与异构(heterogeneous networks)之分,如用户作为节点构成的社交网络是同构网络,而如网络图谱这样,节点包括域名、IP等多种类型的是异构网络[5]

基于同构网络进行图嵌入的代表是node2vec[6]。它的嵌入过程主要分两步:二阶随机游走(2ndorder random walk)获得节点序列和基于Skip-gram[3]训练节点嵌入。在二阶随机游走中,算法通过p、q两个超参数来控制游走到不同类型图节点的概率,如下图:

2

是未归一化概率,其取值由超参数p、q确定,其中代表了出发节点v的下一步节点x跟上一个节点t的三种相邻关系:相邻、不相邻和自身,如下图:

3

不同的p、q值,实现了对图节点两种相似性的偏好控制:同构性(homophily)和结构对等性(structural equivalence)。通过p、q的值,控制Breadth-first Sampling和Depth-first Sampling,进而将同构性和结构对等性采样到节点序列中。

此后,使用skip-gram对游走的序列结果进行训练,得到关于每个节点的稠密向量。

四、基于图嵌入的恶意域名挖掘

4.1 基于图嵌入的域名情报挖掘架构

腾讯安全威胁情报中心基于海量安全大数据,在知识图谱、图计算等方面有深入的研究。在图神经网络的应用方面,实现了基于多种类型图结构的域名节点的嵌入与判定。

下图是目前在域名情报图嵌入构建的主要架构。首先根据域名与其他实体的关联关系,构建域名的同构关系图,然后基于图嵌入技术训练域名的图嵌入表示,最后根据具体的需求,结合其他维度的数据,实现相应任务。

下面对其中基于样本下载关系的同构域名图嵌入实现进行详述。

4

4.2 基于样本下载关系的同构域名图嵌入实现

域名图嵌入的其中一部分是从md5与域名的下载关系出发,来构建同构域名图,如下图。其主要构建过程包括:

  • 抽取种子域名
  • 黑白样本md5采样
  • 获取下载边关系
  • 关联域名
  • 构建域名带权无向图
  • node2vec训练
  • 特征融合与建模

5

4.2.1 抽取种子域名

为了构建域名下载关系同构图,需要一批种子域名,这批种子域名用以关联下载相同黑白样本md5的其他域名,以构成一张关于域名同构的图。

目前,种子域名主要由域名情报和高危域名组成,记为domains_seed。

4.2.2 黑白样本md5采样

腾讯安全多年黑灰产对抗过程中累积了海量样本的相关信息,包括样本本身的黑白灰属性,为了构建域名下载关系网络,对活跃期内的样本md5进行采样,去除低广和高广的白样本和低广的黑样本。这样可以避免低广高广样本将域名网络连接成一个完全图,让不同类型域名在图上的结构具有更大的差异性,同时,降低同构网络构建过程中的内存压力,这个黑白md5集合分别记为md5_black和md5_white。

4.2.3 获取下载边关系

选取一定时间段内的从域名下载样本md5的关系数据(md5-downloaded-domain),这个数据表明了,在一定时间段内,某md5从哪些域名上下载。同时,移除md5不在md5_black和md5_white中的对应关系数据。

4.2.4 关联域名

种子域名分别与黑白样本md5关联非种子域名。

以黑样本md5为例。在md5-downloaded-domain中抽取域名在domains_seed中,而md5在md5_black中的的md5和域名的下载关系数据,记为md5 -domain-black。从md5 -domain-black获得对应的所有域名作为黑关联域名,记为domain_black_corr。

同理可得domain_white_corr。

4.2.5 构建域名带权无向图

在获得的黑白关联域名和种子域名上,通过md5-downloaded-domain构建带权无向同构域名黑白网络。

以黑关联域名为例。在md5-downloaded-domain上抽取域名为黑关联域名或种子域名、md5为黑的域名md5下载关系,并假定下载相同md5的域名是互连的,这样去掉md5,就得到了仅域名连接的多个无向边。

假设这些无向边的权重为一个基本权重单位,则假定边无向的前提下,相同边的数量作为这条边的权重。由此构建起关于黑md5的域名同构带权无向图。同理可得关于白md5的域名同构带权无向图。

4.2.6  node2vec训练

这里选取node2vec对构建的黑白带权无向图进行域名图嵌入进行训练,node2vec在节点分类上具有明显优势,适用于下游域名相关挖掘任务,如下图。

6

node2vec在多种评测数据上均获得了最优或近似最优的结果。

通过node2vec,分别训练获得了关于域名下载关系的黑白图嵌入。下图是通过t-SNE降维后,黑白两类域名图嵌入的散点图示。

7

4.2.7 特征融合与建模

在获得关于域名下载关系的黑白图嵌入后,针对具体下游任务,可以结合域名其他维度特征进行进一步分析。

在恶意域名检测任务中,结合了域名的多种嵌入和其他属性特征,构建前馈神经网络(feedforwardneural network,FNN)进行建模和域名检测。通过对图嵌入的运用,在召回相近的情况下,恶意域名检测的精确率(precise)提升了1.7个百分点,达到了93.1%。

五、总结与展望

基于图嵌入的恶意域名挖掘从域名网络关联的角度,为域名的检测提供了新的线索及其数值化方案,丰富了域名的特征的维度和检测精度。

目前,域名的各种图嵌入的构建主要基于同构网络,接下来,会继续研究异构网络在域名检测上的应用。此外,除了域名,图嵌入技术和图神经网络在IP等情报上,同样具有应用和探索的价值。

六、参考文献

[1] Zhauniarovich Y,Khalil I, Yu T, et al. A survey on malicious domains detection through DNS dataanalysis[J]. ACM Computing Surveys (CSUR), 2018, 51(4): 1-36.

[2] Scarselli F,Gori M, Tsoi A C, et al. The graph neural network model[J]. IEEE Transactionson Neural Networks, 2008, 20(1): 61-80.

[3] Mikolov T, ChenK, Corrado G, et al. Efficient estimation of word representations in vectorspace[J]. arXiv preprint arXiv:1301.3781, 2013.

[4] Goyal P, FerraraE. Graph embedding techniques, applications, and performance: A survey[J].Knowledge-Based Systems, 2018, 151: 78-94.

[5] Zhang F, Liu X, Tang J, et al. Oag: Towardlinking large-scale heterogeneous entity graphs[C]//Proceedings of the 25th ACMSIGKDD International Conference on Knowledge Discovery & Data Mining. 2019:2585-2595.

[6] Grover A,Leskovec J. node2vec: Scalable feature learning for networks[C]//Proceedings ofthe 22nd ACM SIGKDD international conference on Knowledge discovery and datamining. 2016: 855-864.