恶意域名检测中的流量特征分析
2020-01-08 22:21:49 Author: mp.weixin.qq.com(查看原文) 阅读量:129 收藏

笔记作者:zhangyy333

本文对恶意域名检测领域的经典工作进行梳理,本文中针对的恶意域名指的是广义上的恶意域名,并不是专门针对某种恶意域名,而是众多与恶意活动相关域名的统称,因为恶意活动的多样性,所以恶意域名的行为也存在差异,目前该工作仍具有较大的挑战性。

Highly Predictive Blacklisting (2008)

Zhang J, Porras P A, Ullrich J. Highly Predictive Blacklisting[C]//USENIX Security Symposium. 2008: 107-122.

08年这篇关于预测黑名单的文章是我发现的最早的一篇关于对恶意域名进行预测检测的文章,这正因如此,这篇文章与之后的文章存在很大的一个不同点,并没有利用流量特征,其利用的是攻击者与目标之间的关系。同时这篇文章利用的数据并不是在05年提出的passiveDNS数据[],passiveDNS数据在之后的文章得到了非常广泛的使用,其实从文章的方法中也可以明白作者为什么没有使用pDNS,这篇文章中的相关性等级的思想是攻击者与特定黑名单的使用者存在一种密切关系,所以通过对已知的使用者与攻击者的关系,来推断存在的隐含关系实现对黑名单的预测。在文章中提到的相关性传播,其实和马尔可夫过程存在相似,但文中作者采用的google的pageRank来进行的计算。

Building a Dynamic Reputation System for DNS(2010)

Antonakakis M, Perdisci R, Dagon D, et al. Building a dynamic reputation system for dns[C]//USENIX security symposium. 2010: 273-290.

Notos在10年被提出,其核心思想是域名或其IP与已知的恶意域名相关联,则该域名有可能是恶意域名。

数据源:本文中作者使用的数据包括passiveDNS,收集的ISP的递归解析器的DNS流量及SIE提供的流量,域名的已有知识来自于模拟运行的恶意软件,垃圾邮件及alexa.com的top域名。

SIE(Security Information Exchange): 是Internet Systems Consortium 的一个项目,但不知为何,其官方网址已经打不开,https://sie.isc.org/

系统架构如下图所示。

首先对于应用的术语进行介绍。

对于目标域名d,有TLD(d),2LD(d),3LD(d),为其顶级域,二级域,三级域。

Zone(d)为包含域名d在内的以d结尾的域名集合。

$D= {d_1 ,d_2,...,d_m}$为域名集合,A(D)为D中域名对应的IP集合。

对于IP地址a,BGP(a)为a的BGP前缀中所有的IP集合;AS(a)为a所在AS中的IP集合。

文中定义了两种信息数据:

相关历史IP(RHIPs):主要包括A(d),A(Zone(2LD(d))),A(Zone(3LD(d)))相关历史域名(RHDNs):AS(A(d))中IP对应的IP集合

相关历史IP从目标域名扩展至与其存在关系的域名,将其IP作为数据集合,可以更加全面的描绘目标域名。

相关历史域名,则从AS的角度,考虑恶意域名在AS层面的聚合程度。

基于上面两种信息数据,文中定义了三种类型的特征:基于网络的特征,基于Zone的特征和基于证据的特征。

1.基于网络的特征其思想是描绘域名d与对应IP的运营商对网络资源的分配情况。对于恶意域名及IP来说,其生命周期短,具有高抖动性(churn),更换更加频繁。文中主要利用了三个方面的特征BGP特征BGP(A(d))中不同BGP前缀的数量及BGP前缀中不同国家的数量,对应组织的数量A(3LD(d))和A(2LD(d))中不同IP地址的数量BGP(A(3LD(d)))和BGP(A(2LD(d)))中不同BGP前缀的数量及不同国家的数量AS特征AS(A(d)),AS(A(3LD(d))),AS(A(2LD(d)))相关的不同AS的数量注册特征A(d)中IP不同注册商的数量A(d)中IP注册日期的差异性A(3LD(d)),A(2LD(d))中IP的不同注册商数量及注册时间的差异性

这里原文中使用的`Network-based`,从介绍中我们可以看知道使用的域名或IP所在的网络设施,或者说是从宏观的角度看网络分布情况,而不是流量相关的网络形况。这里也使用了注册的特征,但类型较少,之后的一篇论文使用了更多的注册相关的特征。

2.基于Zone的特征其基本思想是正常网络服务关联的一组域名之间具有强相似性,如google.comgooglewave.com,而恶意域名更像是随机生成的。这里衡量RHDNs中域名的差异性主要有两方面的特征:字符串特征RHDNs中域名的数量,其长度的均值和标准差域名字符出现频率的均值、中位数、标准差2-gram分布的均值、中位数、标准差3-gram分布的均值、中位数、标准差TLD特征RHDNs中的TLD数量.com域名与非.com的比例顶级域出现的频率的均值、中位数、标准差

这里采用域名字符的统计特征,在之后的论文中会出现更多的相关的统计特征。

3.基于证据的特征利用已有的经验知识,与已知恶意域名存在关联的域名更有可能是恶意域名。论文中还指出,这里并没有直接将与恶意域名存在关系的域名划定为恶意域名,而将其也仅仅作为特征的一部分,之后经过全部特征计算后,才会得出结果。主要使用两方面的特征:

蜜罐特征BGP(A(d))中IP地址所关联的恶意软件样本的数量AS(A(d))中IP地址关联的样本数量黑名单特征A(d)中IP在黑名单中的数量BGP(A(d))中IP在黑名单中的数量AS(A(d))中IP在黑名单中的数量

从整体看,本文中的特征涉及网络相关特征、域名本身的特征及与已有知识的关联,范围非常广泛,之后文章中的特征也几乎都是这几个方面,只是从不同层次和角度进行介绍。

EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis (2011)

Bilge L, Kirda E, Kruegel C, et al. EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis[C]//Ndss. 2011: 1-17.

这篇文章在Notos之后发表,不同点在于EXPOSURE更加关注的DNS流量数据所呈现的特性,而没有使用Notos中网络的特征。

EXPOSURE的特点:其是一种被动的DNS分析方法,被动分析具有一定的隐匿性,不会被攻击者发现。

EXPOSURE的基本思想是恶意域名在使用时会出现不同于正常流量的骤变,本文就是基于对时间序列上的流量变化来进行检测。

数据源:SIE所提供的DNS流量

系统架构如下图所示

在特征设计方面,分为四个部分:

基于时间的特征1.short life - 文中定义了一种short-live domain,仅在t0和t1间查询的域名2.Daily similarity - 每日请求模式的相似性,如每天以相同的间隔增加或者减少请求3.Repeating patterns - 定期的重复模式4.Access ratio - 域名的访问情况基于DNS响应的特征恶意域名与IP的关系时多对多的关系1.窗口内给定域名的不同IP数2.IP对应的不同国家数3.IP逆向查询结果4.目标域名的IP共享域名数基于TTL的特征恶意域名通常设置较低的TTL1.TTL平均值2.TTL标准差3.不同TTL的数目4.TTL改变的数目5.特定范围内的TTL的使用比例 - 作者在研究中发现,某些恶意域名在设置域名的TTL时存在明显的规律性基于域名的特征1.域名中数字比例2.最长有意义字串长度

本文中的特征更加关注于目标域名在解析中产生的规律,或者因为其目的而产生的某种模式,从Notos中对网络的分析,到本文中对域名及其行为的分析,研究的方向更有针对性,更加的细致。

Detecting Malware Domains at the Upper DNS Hierarchy (2011)

Antonakakis M, Perdisci R, Lee W, et al. Detecting Malware Domains at the Upper DNS Hierarchy[C]//USENIX security symposium. 2011, 11: 1-16.

同样是11年的一篇文章,但其关注点和方法和EXPOSURE非常不相同。

文中介绍其与Notos和EXPOSURE相比,增加了新的优势和流量特征,其使用了较高层次的DNS流量。

数据源:两个主要域名注册商的DNS流量和国家顶级域.ca的DNS流量

系统架构如下图所示,图中标出了与NotosExposure的不同点主要在于数据层次不同。

文中的特征主要是采用了统计特征,做了非常规范的描述,首先介绍使用的符号。

将流量分批,${E_i}_{i=1...m}$,文中取一个epoch为一天。

文中的最终目的为实现$F(d,E_i)=v^i_d$,得到第i批流量数据中的域名d映射到特征向量v。

域名d及对应的DNS请求$q_j$和响应$r_j$,元组$Q_j(d)=(T_j,R_j,d,IPs_j)$,其中$T_j$为epoch,$R_j$为发起请求$q_j$的IP地址,d为查询的域名,$IPs_j$为响应$r_j$中解析得到的IP集合。

文中的特征分为三种

1.请求者多样性(Requester Diversity)主要描述请求域名主机的分布情况,作者指出,流行域名每天的请求IP池是多样化且一致的,而恶意域名的请求IP池是多样化但不一致的。文中计算的${R_j}_{j=1...m}$中IP所对应的BGP前缀,AS和CC(国家代码)出现频率的均值、标准差和方差2.请求者信息(Requester Profile)大型的网络中具有更多的感染机器,恶意域名相关请求者的权重要高于正常域名。令$c_{t,k}$为$E_t$中$R_k$请求的不同域名数,则计算权重$w= \frac{c_{t,k}}{max^{|R|}{l=1}c{t,l}}$对目标域名在$E_t$中,可以求得$C(d)={c_{t,k}}_k$,计算其均值、有偏和无偏方差和标准差。考虑历史解析的相关性,为c加上权重项,有$WC_t(d)={c_{t,k}*w_{t-n,k}}$,其中$w_{t-n,k}$为历史数据中$E_t$前n个epoch的数据。3.解析IP的信誉值(Resolved-IPs Reputation)考虑域名解析IP的信誉值,这里考虑信誉值时,考虑了IP所在BGP,AS的信誉值。分别考虑其与已知的恶意软件样本、Spamhaus Block List,白名单的关联程度,计算重叠的数量。

Kopis中更加关注恶意域名与请求者之间的关系,恶意域名的请求者是具有固定性的被感染i机器,所以其分布或许是多样的,但每天可能存在不一致性,对于流行域名来说,其用户基数非常大,使用用户也就具有一致性。

PREDATOR: Proactive Recognition and Elimination of Domain Abuse at Time-Of-Registration( 2016)

Hao S, Kantchelian A, Miller B, et al. PREDATOR: proactive recognition and elimination of domain abuse at time-of-registration[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 1568-1579.

PREDATOR是在2016年提出的,更加关注于注册特征,而让其具有了几乎实时的检测能力,大幅度的降低了恶意域名的检测时延。

本文的主要思想是攻击者为了保证获利和攻击的灵活性,需要大量的域名,所以就导致了某些不同于正常用户的异常注册行为。

系统架构如下图所示

数据源:最大顶级域.com2012年3月至7月的变化,及Verisign 提供的DNZA 文件,其中包括新域名的注册,权威域名服务器和IP地址的更新。

本文中的特征主要有三个部分:

1.域名资料特征域名直接相关的特征,包括之前使用过的和作者提出的注册商 - 攻击者可能因为某些原因而具有偏好使用的注册商,如注册商价格低,对于投诉不理睬权威域名服务器 - 攻击者在使用权威域名服务器上也具有某些规律,如使用自解析服务器。这里文中使用的数据为域名注册5分钟内,从zone文件中查询得到的。名称服务器IP地址和AS注册时间,攻击者是否在注册时间上具有规律性,如每天的几点,每周的周几注册的生成周期三元模型最长英语单词比例是否包含数字是否包含“-”域名长度与已知恶意域名的编辑距离2.注册历史特征这部分是注册强相关特征,寻找异常的注册行为,文中使用的是最近一次注册的相关特性。生命周期重新注册的空闲时间之前的注册商是否是同一注册商再次注册3.批相关特征同样是在域名注册时的特性,寻找注册的异常行为,文中使用的是在特定注册商上,五分钟内注册的域名每组大小的概率(复合泊松分布)生命周期的比例 - 文中定义了三种生命周期阶段,brand-new:域名第一次被注册;re-registration:域名终止后再次注册,分为两种:drop-catch终止后立即再次注册;retread终止一段时间后再重新注册。每组域名聚合程度 ,组内域名的编辑距离

本文最大的特点是利用注册异常特征,在恶意域名未启用之前就可以做出判断。

HinDom: A Robust Malicious Domain Detection System based on Heterogeneous Information Network with Transductive Classification (2019)

Sun X, Tong M, Yang J, et al. HinDom: A Robust Malicious Domain Detection System based on Heterogeneous Information Network with Transductive Classification[C]//22nd International Symposium on Research in Attacks, Intrusions and Defenses ({RAID} 2019). 2019: 399-412.

这篇是清华于19年发表于RAID上的,其使用异构图实现对恶意域名的检测。

这篇文章是首次将异构信息网络应用于DNS分析领域,应用于恶意域名的检测,本文采用的算法是基于元路径的传导分类方法,在数据集较小的情况下可以取得较好的效果。

数据源:

CERNET2,中国教育科研网,清华节点抓取的流量;TUNET,清华校园网,获取的中心DNS的解析日志;360 pDNS数据集;

本文的基本假设为:与已知的恶意域名有强关联的域名很可能是恶意的;攻击者可以伪造域名,但不能轻易改变它们之间的关联。

在上面假设的基础上,文章在数据中定义了3类实体,6种关系。

3类实体为:客户端、域名、IP地址

6类关系为;

客户端查询域名(Client-query-Domain)客户端的地址存在包含关系(Client-segment-Client)域名解析到的IP地址(Domain-resolve-IP)域名之间的相似度(Domain-similar-Domain)相似度计算方式:使用n-gram将域名字符串处理成字符向量,然后使用K-means算法聚类,将聚类结果转化成矩阵S域名别名(Domain-cname-Domain)单个域名对应多个IP(IP-domain-IP)

同时为去除数据中可能存在的噪声,定义了5种过滤规则:

特殊域名(Unusual domains)流行域名(Popular domains ):被25%以上的客户端查询的域名解析量较大的客户端(Large clients )不活跃的客户端(Inactive clients )数量很小的IP(Rare IPs)

上图为HimDom的架构图,主要包含5个模块:数据采集器、HIN构建模块、图形剪枝模块、元路径结合模块以及传导分类器。

数据采集器采集的数据包括

(1) DNS服务器日志,包含源IP、查询域名、时间等字段。缓存DNS服务器日志广泛用于收集“谁查询了什么域名”的信息。

(2) DNS流量,字段包括:NS、MX、TXT、PTR等。由于数据比较敏感,不公开。

(3) 被动DNS数据集,pDNS数据不含客户端信息,只有域名首次出现和最后一次出现的时间戳,以及这期间出现的域名-IP解析对的数量。

HIN构建模块对定义的六种关系进行抽象表示,如下图

(1)P1语义:良性域名和恶意域名在字符分布上存在差异。而且同一家族的恶意域名在字符模式上具有相似性;

(2)P2语义:良性域名的CNAME域名不是恶意的,反之亦然。

(3)P3语义:被同一攻击者感染的客户端查询存在部分重合,且重合的部分普通客户不会查询。

(4)P4语义:解析到同一IP地址的域名,类别相同。

(5)P5语义:相邻的客户容易受到相同的攻击。

(6)P6语义:攻击者很可能复用域名和IP地址资源。

元路径构建完成后利用PathSim算法衡量节点之间的相似性。同时考虑每个元路径在恶意域名识别中的重要程度不同,因此,作者将各个元路径的相似性矩阵按照一定的权重加权,形成融合的元路径。权重计算则采用拉普拉斯分值(Laplacian Score)。

在实验中,HinDom在标记样本只有10%的情况下,仍然能够取得较好的分类效果(accuracy: 0.9626, F1: 0.9116)。

而误分类主要发生在良性和样本较小的恶意类别中,作者认为这是数据倾斜造成的。

同时与其他方法相比,当数据噪声逐渐增大时,HinDom的accuracy和F1指标下降得缓慢一些,即抗噪声能力更强。

这是第一篇将图应用于恶意域名检测领域的文章,恶意域名之间的关系是不容易被伪造的,并且是难以消除的,目前关于图的理论,如图神经网络,也在迅速发展,相信之后会有更多的相关的应用。

安全学术圈招募队友-ing,有兴趣加入学术圈的请联系secdr#qq.com


文章来源: http://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247484734&idx=1&sn=f03e537b7126ff2ea9510e8efdf67ad5&chksm=fe2efab5c95973a376f1edc93222f6fb8f2d97b2ec518107336343ed465ae04a17474f6366ba#rd
如有侵权请联系:admin#unsafe.sh