A Survey on Malicious Domains Detection through DNS Data Analysis

3.1 DNS数据从哪收集:
由于DNS基础结构的分布式特性,可以考虑使用多个位置来收集有关DNS查询和答复的信息。在所有涉及的服务器中,解析器(如第2节中的定义)是唯一的,因为它是唯一可以访问直接来自客户端机器的查询的位置。因此,在以下内容中,我们区分了数据来源的两种具体情况。我们将第一个程序称为“Host-Resolver”。它是指通过观察终端主机与其解析器之间的通信而获得的DNS数据。第二种数据称为“DNS-DNS”,是指通过观察两个DNS服务器之间的通信(其中一个可能是解析器)可以获得的数据。

如何收集数据:
可以通过两种方式获取关于IP和域名之间现有关联的信息。一种方法是主动和定期地处理大量的域名集合,以获得这些信息。另一种方法是被动地观察发送到DNS服务器的所有请求,以提取必要的数据。

3.1.1收集数据的位置:
Host-Resolver
在解析器的内部接口上捕获的数据的一个主要优点是,它提供了关于DNS查询和响应的客户端的详细信息,这可能直接链接到某些类型的恶意行为[45,47,109,126,130,133,134]。例如,由僵尸网络控制的主机在查询域和时间模式方面通常具有相似的DNS查询模型。Choi等人。[45,46]使用“什么主机查询哪个域”的信息为每个域构建一个矩阵,以显示在什么时期查询此特定域的计算机。这样这种表示非常方便,因为它允许分析人员按列和按行修剪矩阵,以纠正由于僵尸网络部分失效或时间窗口参数配置错误而可能出现的错误。在Segugio系统[133,134]中,此信息用于构建表示主机和域之间 ”谁查询什么“ 关系的 主机域图。由于中间服务器的缓存,很难从DNS-DNS数据中观察到这样的行为模式。
该数据源的另一个优点是易于访问。任何公司或研究机构都可以直接在自己的解析器上部署传感器,而不需要与其他各方合作。由于这些原因,许多现有的恶意域检测方案都建立在来自解析器的数据上,特别是那些特性与单个主机的行为有关联的方案。还应该提到的是,使用Host-Resolver DNS数据的方法也可能适用于检测恶意主机,大致地说,那些查询恶意域的主机。

部署在解析器内部接口上的传感器的一个限制是,它们只能看到单个组织内主机的行为,这可能不够全面,不足以建立与恶意活动相关的模式。一个值得注意的例外是,当客户端选择愿意服务递归查询的公共DNS服务器作为解析器时,如谷歌公共DNS[7]、OpenDNS[12]或Norton连接Safe[11]。由于与它们交互的主机的绝对数量和多样性,在这些解析器中收集的数据适合于全面揭示与不同类型的攻击相关的可疑行为。大型ISPs的DNS解析器也为大量的个人用户提供服务。它们可以用于同样的目的。不幸的是,研究社区很难访问来自公共DNS服务器或ISPDNS服务器的DNS数据日志,这通常是出于隐私问题

DNS-DNS
另一方面,部署在其他DNS服务器附近的传感器观察到的查询通常会看到来自多个组织发出的查询。在文献中,被认为观察DNS-DNS流量的最频繁的位置是(i)在权威名称服务器[29]处,包括负责TLD[29,154]的服务器,以及(ii)在解析器[28,35,36,82]的外部接口处。传感器越靠近DNS树的根,可见性就越大。从TLD服务器收集的数据可以提供独特的见解和对新出现的恶意域的早期检测。这样的日志只会显示请求的存在,而不会显示它们的答案(即请求的IPs),因为TLD服务器通常只提供迭代查询。这样的信号很难只从解析器的日志中捕获。从权威服务器获取日志可以解决这个问题,但由于缓存,该服务器并不能看到所有的查询。因此,DNS树中较高的DNS服务器日志提供的视图可以很快变得相当粗粒度。最极端的情况是在根服务器目录上观察到的请求几乎提供了在互联网上查询的所有名字的完整可见性,但没有一个回答。对这些请求的容量分析也受到终端客户端和根服务器[62,63]之间的中间服务器之间的缓存的严重影响。因此,在与解析器不同的服务器上捕获的数据所提供的特性往往受到限制。此外,研究人员不容易获得来自这些领域服务器的日志。

3.1.2如何收集数据。
主动的DNS数据收集。为了主动获取DNS数据,数据收集器会故意发送DNS查询并记录相应的DNS响应[44,73,89,91,105,121,127]。查询域的列表是由于多个来源而构建的,典型的来源包括流行的域列表,如Alexa顶级网站[25],出现在各种黑名单中的域名,或来自权威服务器的区域文件中的域名。显然,由于这些查询是由数据收集器发出的,所以它们并不反映实际用户的行为。相反,活动的DNS数据主要捕获域的DNS记录,例如,已解析的IP、规范名称、记录的TTL等.
主动爬网的DNS数据的主要优点是数据收集方法的灵活性和易用性。数据收集器可以很容易地控制要查询的域。此外,活动DNS可以在实际恶意使用之前显示域的滥用信号。例如,活动DNS收集器可以在区域文件中发现新注册但尚未使用[57,69]的潜在恶意域,而被动传感器还看不到该域。此外,活动的DNS数据与个人用户的行为无关,因此,可以与研究社区共享,而没有任何隐私问题。同时,由于同样的原因,活动的DNS数据不能用于使用依赖于用户级特征的技术(例如,用户查询的时间统计数据)来检测恶意域。如果DNS查询仅从有限的一组主机中发出,则收集的数据可能会有偏差,这是另一个限制。具体地说,一个域可以根据查询颁发者的地理位置与多个IP相关联。因此,活动DNS数据可能包含有限的小型IP集,它们作为发出查询的函数。

被动式DNS数据采集
被动地收集DNS数据是通过在DNS服务器前部署传感器,或者通过访问DNS服务器日志以获得真实的DNS查询和响应[28,29,35,36,45,82,109,126,133,134]来收集DNS数据。被动收集的DNS数据更具有代表性,更“揭示”一套可以用来识别恶意活动的丰富特征和统计数据。Kopis系统[29]为了构建请求者配置文件并评估请求者的多样性,需要有关从权威或TLDDNS服务器查询特定域数据的每个解析器的信息。此外,如果传感器部署在不同组织的DNS服务器中,被动收集的DNS数据可能比主动收集的数据更全面。拉巴里尼亚等人间接证实了这一假设。[133,134]。Their system performed better if
training and testing was executed on the data from the same ISP than if obtained from different
ISPs.这种方法不需要一个初始的预编译域列表。另一方面,由于隐私问题,这些数据的共享可能会受到阻碍,特别是当在客户端和解析器之间部署传感器时。现有的公开被动DNS数据集在解析器之后收集,通常只提供查询的聚合视图以隐藏单个活动。例如, the Farsight passive DNS数据库[55]不包含请求者的IP地址。此外,对于一个给定的域及其其中一个已解析的IPs,它只提供第一个和最后一次看到的分辨率的时间戳以及两者之间的总数。这是隐私保护、共享能力和数据效用之间的权衡。与主动获得的DNS数据类似,将不可能从这个数据集构建细粒度的用户级特性。由于实际的主机/用户活动,聚合是通过查询和响应完成的,因此仍然可以导出一些重要的聚合用户统计数据,这些统计数据可能对恶意域检测非常有用。例如,在一集合域内,仍然可以在短时间内看到全局范围内的查询突然增加,即使是在聚合之后。这些统计数据将无法从DNS主动收集的数据中获得。

3.1.3 Challenges.
研究社区访问DNS数据所面临的挑战在于两个方面。第一个是在数据收集阶段。虽然DNS流量都存在于所有的网络中,但收集数据集并不是一项容易的任务。如前所述,在单个组织的网络(例如校园网络)中设置DNS流量传感器相对容易,但收集的数据只能提供全球威胁的有限本地视图。许多现有的基于DNS的恶意域检测技术的特点是,它们在大数据场景中工作得最好。因此,它们可能无法在小网络中收集的数据集上产生有意义的结果。与此同时,由于DNS日志的敏感性,集成来自属于不同组织的DNS服务器的数据往往会面临重大的官僚主义/法律障碍。如果研究人员想从公共DNS服务器或ISPs访问数据,情况也是如此。

一个更大的挑战在于数据共享。不幸的是,与安全相关的数据是出了名的敏感性和难以共享的。即使研究人员能够从ISP访问DNS日志,也很难让同行使用相同的数据进行验证。与此同时,科学的进步依赖于对现有方法的验证和比较。有一些尝试比较新的方法与以前的方法(例如,拉巴里尼亚等人。[133]将他们的方法与Notos[28])进行了比较,但目前的研究明显缺乏广泛和系统的实验验证和对不同技术的比较。主要原因是很难公开提供一组共同的或可比较的参考数据集。虽然目前有几个公开的DNS数据集,它们是被动地收集的(例如,从Farsight[55])或主动地收集的(例如,Thales[91]),但它们不能在许多方法中使用,特别是在那些依赖于客户端模式[109,126]的方法中。还应指出的是,尽管有些方法可能会处理积极和被动地收集的数据(例如,Khalil等人提出的数据。[82]依赖于可从两个数据集获得的域共定位信息),这样的比较以前从未进行过。

此外,研究人员必须确保用特定数据集获得的结果可以推广到所有其他可能的数据集。显然,一些数据集可能有空间或时间的特性,可以影响显著的结果。例如,Yadav等人。[165,166]将他们的方法基于这样的见解,即自动生成的域名的字符频率分布异常,而算法生成的名称对于说英语的人来说通常无法发音。虽然一般来说,大多数域名都是如此,但世界上有许多国家,如中国或俄罗斯,这种直觉可能不成立。可能需要根据该区域的特性来调整该模型。

3.2 Sources of Data Enrichment
DNS数据是一个重要的情报来源,许多方法已成功地用于发现和预测恶意活动。然而,为了提供关于恶意活动的更深入的见解,并提高准确性和覆盖范围,本调查中提出的大多数检测方法都利用外部数据源来丰富DNS信息。例如,将IP地址映射到托管国使一些方法能够使用该国的可信度作为分类域/IP[150]恶意的特征。通常,数据丰富的来源可以根据它们提供的信息类型进行分类。

3.2.1 Enrichment Information Types

地理定位
IPs和域的地理位置通常被用来理解DNS查询的起源以及托管域的机器的多样性。这种丰富可以在大量的论文中看到,例如,在[35,36,112,127,150]中。在文献中观察到的IP地理定位信息最常见的来源是Maxmind数据库[111]

Autonomous system number (ASN).
此信息来源能够了解对手资源[36,108,112]的分布和利用。例如,合法域(除了使用CDN的域)通常托管在一个或几个ASN上,而不是从一个ASN跳转到另一个ASN以逃避检测的恶意域。ASN是一个有价值的信息来源,允许区分不同类型的互联网服务(例如,只有专用组织使用的IP和属于云服务提供商使用的IP)。有关MP-ASN映射的信息可以在Maxmind数据库[111]中或使用TeamCymru服务[16]中找到。

Registration records.s
即使域名注册记录通常没有得到当局的验证,但位于那里的信息有时可以作为支持性证据,以链接由同一对手控制的恶意域。此外,注册记录的时间信息(例如其创建/过期时间)对于识别自动在批量注册的以后用于恶意活动的域至关重要。事实上,以前的一些工作纯粹依赖于注册记录来识别恶意域[57,69,70]。注册记录信息通常从通过WHOIS协议[49]提供对其的访问权限的服务器中获取。应该提到的是,对于所提供的数据的格式并没有共同的标准。因此,研究人员必须开发自定义解析器,以提取必要的数据。

IP/域名黑名单/白名单。域也经常根据著名的IP/域名黑名单进行检查(关于黑名单/白名单的更多信息将参见第3.3节)。例如,Notos[28]检查有多少与一个域相关的IP被列入黑名单,这将是该域恶意的指标。其他方法可以检查相关的IP/域是否被列入黑名单。例如,Prieto等人。如果域名的权威名称服务器被列入黑名单,[130]认为该域名可疑。

关联的资源记录。通过探索可以从DNS数据库中检索到的与之相关的其他RR,可以获得关于给定域或IP的更多信息。例如,Hao等人。[68]已经表明,恶意域的IP空间中DNS MX记录的分布与良性域的分布不同。此外,普里埃托等人还说。[130]观察到,与僵尸网络相关联的域名通常没有任何关联的MX记录。

网络数据。IP/域数据也可以通过来自网络活动[130]的信息来丰富,例如,如果一个网站与一个域相关联,HTTP响应是什么,打开了什么端口,等等。研究人员通常通过开发自己的探针或使用互联网范围的扫描仪提供的信息,如Sensys[53]或Shodan[14]来获得这类信息。

3.2.2 Challenges.
重要的是要了解与IP或域相关的信息确实会随时间而变化。例如,用于使用地理定位和ASN信息丰富数据的Maxmind数据库[111]经常被更新。因此,使用这些数据计算出的特征的值也会发生变化。这就带来了许多挑战。首先,由于研究人员经常处理历史DNS数据,他们必须依赖在收集DNS数据时可用的富集信息。例如,如果他们计算在给定日期托管特定域的国家数量,他们必须在同一日期使用Maxmind数据库的信息。作为另一种选择,他们可以使用最新的可用的富集信息。任何一种方法都可能是有效的,研究人员必须清楚地确定哪一种是被使用的。第二个挑战与第一个挑战紧密相关。鉴于大量的IP地址、域名数量的快速增长和相应的丰富数据的频繁变化,相关历史信息的维护和管理需要大量研究人员可能无法获得的资源。

3.3 Sources of Ground Truth
实际上,每种检测恶意域的方法都需要高质量的地面真相来进行训练和验证。该区域的地面真实数据与域相关联,可根据类型进行划分。

3.3.1 Type of Ground Truth.
恶意的地面真相。为了了解恶意领域的基本真相,现有作品的主要实践是从各种公共黑名单中提取它。一些黑名单只关于特定的恶意活动,如垃圾邮件(垃圾邮件[15],雅虎垃圾邮件数据库[21]),网络钓鱼(钓鱼[125],OpenPhish[13]),而其他一些更普遍,包括涉及任何类型恶意活动的域/IP,例如,VirusTotal[159],McAfee网站顾问[10],恶意软件域[153]和恶意软件域名列表[9]。其中一些消息来源,如WoT[19],也可以将那些与恶意活动本身无关的域名列入黑名单。当这种网站的内容被认为与特定黑名单的政策不合适的情况下(例如,色情内容、暴力、种族主义、受版权保护的材料等。)。另一个建立地面真相的来源是专有黑名单/白名单,或由杀病毒安全公司(如赛门铁克)部署的专有声誉系统,其对一般研究社区的可用性相当有限。

Benign Ground Truth.
文献中良性领域的基本真相主要来自排名很高的流行领域。例如,Alexa的顶级域名[25]常用于。另一个常见的做法,至少在构建初始候选良性域集时,是基于顶级域。例如,来自“gov”和“mil”区域或属于谷歌和微软的域名(如在[174]中使用)通常被认为比来自“com”或“info”的域更值得信赖。此外,一些公共网络智能工具,如McAfee网站顾问[10],谷歌安全浏览[8]或网络信任[19]报告,不仅是恶意和可疑的领域,而且是良性的,因此,也可以用来提取良性的地面真相。

3.3.2 Challenges.
Malicious Ground Truth Challenges.
尽管信誉良好的黑名单通常提供了关于黑名单域名的有力证据,但它们仍然有一些微妙的问题。首先,恶意域名可能会以不同的方式成为恶性域名:垃圾邮件、网络钓鱼域名、C&C域名、不道德域名、成人内容等。因此,仅仅对“恶意”一词的定义就不同于一个地面真实数据集。为一种方法收集的基本真相可能不适用于另一种专注于检测涉及其他类型恶意活动的域的方法。其次,黑名单采用了不同的收集方法。例如,它们可能依赖于众包数据(例如,PhishTank[125],TrustWeb[19]),可以爬网和分析网站内容(例如,Wepawet[59]),可以在沙箱中运行恶意软件并分析访问域(例如,Anubis[1]),可以逆转僵尸网络协议并生成DGA生成的名称(例如,Conficker[99]),可以使用内部工具(例如,谷歌安全浏览[8])获得,或者可以聚合来自不同来源的数据. 第三,没有一个黑名单是完全可靠的。Sinha等人。[145]和拉马钱德兰等人。[135]显示,黑名单表现出很高的假阳性和假阴性率。一些方法通过在多个黑名单中的交叉检查域来解决这个问题。例如,Kheirer等人。[85]通过对3个不同的黑名单进行投票,建立了一个地面真相数据集。

Benign Ground Truth Challenges.虽然黑名单可能包含假阳性,但通常如果一个域名出现在信誉良好的黑名单中,它可以被认为是恶意的。与此同时,建立一个良性的地面真相是一项更加困难的任务。一个域不能仅仅因为它不存在在任何已知的黑名单中就被视为良性的。大量的互联网域名(根据Verisign[156]的数据,2016年大约有3.14亿2LD)使得它们无法定期扫描和检查。虽然这个数字很大,但它只代表了互联网上FQDN总数的很小一部分。更糟糕的是,这个数字每天都在不断增长。因此,恶意域可能不会被列入黑名单,因为扫描恶意内容时未公开恶意内容。
虽然使用前K个Alexa域[25]作为良性的地面真相是有意义的(流行网页的管理员投入了更多的努力来保护他们的资源),但它既是有限的,而且有很高的假阳性率。该列表仅包含2个LD域,并且不提供任何关于子域的信息,这使得它相当有限。域名的排名是根据其受欢迎程度进行的,但不是基于其安全性或安全性,这会导致较高的假阳性率。它包含对恶意网页,甚至是托管恶意内容的域的代理。 例如,相当受欢迎的2LD,unblocksit.es(截至2016年4月1日排名11550位)提供代理访问其他可能被列入黑名单的域名。这种2LD本身并不是恶意的,因为它可以被合法用户使用来试图规避他们所面临的审查措施。同样,恶意用户可以将此服务作为安全避风港来击败已知的屏蔽机制。此外,一些恶意域可能出现在顶级KAlexa域中,因为来自大量感染客户端的请求。斯蒂万诺维奇等人。[150]从AlexatopK域与UrlVoid[18]交叉检查域,该服务是聚合来自不同黑名单信息的服务。结果表明,至少有一个黑名单显示,这些域名的比例相对较高(约为前10,000个顶级域名中的15%)是恶意的。
这种良性地面真相的杂质对域检测方法的准确性产生了负面影响。例如,考虑一个恶意域d,它被错误地标记为良性的地面真相,就像它在Alexa顶级K域中一样。正确地对d进行检测,会被错误地算为假阳性,导致测量到的假阳性率高于实际的水平。与此同时,由于与恶意域缺乏关联,可能会错过一个与d域有很强关联的恶意域,这将对真正的正率产生负面影响。为了减轻Alexa顶部K杂质的影响,一些方法在将域添加到良性的地面真相之前进行过滤。例如,拉巴里尼亚等人。[133]只考虑那些一直出现在Alexa前100万网站上一年的域名。同样地,Bilge等人。[35,36]认为只有1岁以上的结构域是良性的。其他一些方法,例如。[28,82],在构建良性域的基本真相之前,先删除动态DNS服务域,如no-ip.com。正如人们所看到的,对于什么可以或应该构成良性领域的基本真相,我们并没有达成共识。

Common Challenges.
其中常见的问题之一是了解用于地面真相集合的域名级别:2LD、3LD或FQDN。一些地面真相源包含一个特定级别的域,例如,前K个Alexa域[25]主要由2个LD域组成。这就给关注域名级别不同于在地面真相中发现的领域层次的方法带来了麻烦。不同层次的域之间的关系也尚不清楚。我们应该将恶意/良性域的任何子域视为恶意/良性吗?如果一个域的大部分子域都是恶意的/良性的,我们是否应该将其视为恶意的/良性的?不幸的是,没有明确的“是”或“不”回答这些问题。在一定程度上,对于属于谷歌或Facebook等私人组织的两个顶级域名,回答“是”可能是合理的。然而,动态DNS服务的子域,如no-ip.com和3322.org可能是完全不相关的,因此,即使它们的绝大多数子域是良性的,也不能假定是良性的。
我们在文献中发现的另一个常见问题是对包含地面真实数据的训练和测试集的有限定量讨论。研究表明(见[42,160]),一个不平衡的训练数据集可能对分类器的学习有相当大的影响,因此,可能会影响一些被测量的指标。

4 DESIGN OF DETECTION ALGORITHMS
为了系统地展示过去不同工作线所使用的方法,我们选择从三个不同的角度来看待它们:
Features: What features are used?
Method: What technology is the detection method based on?
Outcome: What outcome is produced?
特征:使用了哪些特征?方法:检测方法基于什么技术?结果:产生了什么结果?
以下各小节分别阐述了这些观点,而表2仅详细列出最相关的例子和相关文章,提供了该章节的概述。
4.1 Features
特征提取(即特征工程)是一项具有挑战性的任务,它对检测方法的质量(准确性和鲁棒性)有很大的影响。精心制作的特性大大有助于一种方法的成功,相反,糟糕的特性甚至可能会破坏好的检测算法。另一方面,即使一个特征可能具有良好的预测能力,导致高检测精度,如果攻击者很容易伪造,依赖它的检测方法的鲁棒性将较低。因此,成功的检测方法在选择其特征时,必须考虑到精度和鲁棒性的微妙平衡。
很少有方法能简单地分析DNS流量中的资源记录,并在出现时使用特定字段中的值。相反,在使用这些原始值用于检测目的(平均值、标准偏差、最大值、最小值、速率、离群值等)之前,可以应用多种处理方法。此外,在DNS环境之外的外部数据可用于丰富初始数据集。有些方法需要将DNS数据转换为不同的数据结构,比如在检测方法中使用图。例如,Lee等人提出的方法就是如此。[100,101],其中构建一个表示带域名的客户端通信序列的图。作者称之为域名旅行图(DNTG),并使用它来识别需要通过其检测方法来考虑的相关域的集群。在Oprea等人提出的方法中。[126],另一种类型的图表示主机IP地址和查询域之间的关联,而在Khalil等人中。[82]方法图捕获不同ASNs中域名在块的移动。
个体处理、浓缩和预处理技术的数量非常大,每一种处理都超出了本文的范围。为了以系统的方式展示现状,我们在更高的抽象层次上区分消费的特征。具体地说,我们考虑以下三个维度来区分特征:
(1) Internal vs. Contextual features
(2) DNS dataset Dependent vs. Independent features
(3) Mono vs. Multi domains features
(1)内部与上下文特性(2)DNS数据集依赖于与。独立特征(3)单与多域功能

4.1.1 Internal vs. Contextual Features.
内部特征和上下文特征之间的区别与珀迪西等人提出的特征非常相似。[128],将特征划分为被动和主动。作者认为,被动特征是“可以直接从被动监控DNS查询收集的信息中直接提取”,而“主动特征需要计算一些额外的外部信息”。由于我们确实考虑了在其他地方被动或主动收集数据的可能性,我们认为这个术语可能会产生误导,因此,我们选择不同的术语,即内部和上下文,如下描述。
Internal features.
这些特征可以单独从DNS资源记录中提取。不需要任何外部补充的数据源。然而,它们可能是,并且大多数时间在被送入检测方法之前被转换。例如,[35,36,128,129,148]中使用的“域平均TTL值”就是这种类型特征的一个示例。此外,从DGA检测和归因([28,30,45,73,140,155])中流行的从域名中提取的特征也属于这一类。此外,在基于图的方法[100,101,126,133,134,149,174]中流行的基于关联的特性,通常是使用内部DNS特征来构建的。
Contextual features。
另一方面,上下文特征是由组合的DNS和外部信息源构建的。例如,要计算“域的IP地址所属的ASN数”([44,45,75,148]),需要提供有关IP-AS映射的信息。在另一个例子[82]中,作者使用根据不同AS数字的数量计算出的相似度分数来为域-域关联分配一个权重。张等人。[171]还利用从WHOIS数据中推断出的关联来进行域聚类。
我们注意到,一些上下文特性需要查询由攻击者控制的资源。例如,Prieto等人。[130]使用域网络存在作为一个特征之一,即,每次当一个新域出现在他们的列表中时,他们都会检查一个网页是否可用于此域。另一种特殊类型的上下文特性使用使用DNS数据本身进行充实。例如,Prieto等人。[130]会检查域是否有关联的MX记录。因此,使用这种类型的特性可能会警告攻击者,该域正在受到审查。然而,并不总是需要与域主动交互。这样的数据有时可以从Thales[91]、Censys[53]或Shodan[14]等系统中获得。
虽然内部特性的使用有许多好处,主要是在简单性方面,但它们捕获已被证明是区分好域名和坏域名的重要信息的能力是有限的。例如,一个给定域的注册时间通常是一个非常重要的特性,但它不能仅从DNS数据中获得。研究表明,有时攻击者会在恶意活动开始[69]前几个月批量注册域。对这种注册模式的检测使研究人员能够像在[57,69]中那样主动检测恶意域。但是,这些信息通常不用于国家代码TLD(CcTLD),因为ccTLD注册表很少提供对其区域文件的访问。因此,域的存在在第一次查询之前仍然未知,此时可能(有时但不总是)通过查询WHOIS服务器来检索该信息。这使得依赖于这些特性的方法不适用于大量的领域。同样地,由于有限的可访问性、隐私问题、成本过多等,其他一些有用的丰富信息也很难获得。然而,尽管存在所有这些问题,但上下文信息的使用允许研究人员提取更有意义的特征,从而提供更广泛的恶意行为信号覆盖。

4.1.2 DNS Dataset Dependent vs. Independent features.
基于我们对文献的回顾,我们认为区分受特定DNS数据集影响的特征和那些独立于当前DNS数据集的特征是很重要的。我们分别称之为DNS数据集依赖特性(DDD)和DNS数据集独立特征(DDI)。这两个类背后的基本原理与验证阶段有关。仅依赖于DDD特征的方法的性能受到所选数据集的高度影响。跨数据集验证,使用来自不同地方的数据集,因此,为了评估这些方法的质量,在不同的时期、不同大小的时期等情况下执行是非常重要的。(详见第5.3节)。相反,依赖于DDI特性的方法更稳定,可以在不同的环境中平等地运行。

DNS dataset dependent features.
与DNS数据集相关的特性。例如,在观察期间“观察到的分配给域的IP地址数”是一个DDD特征,因为其值取决于特定的数据集[75,89,128,129]。同样,Khalil等人使用的“一对域共享的共同ASN数量”特征。[82]可以在域名之间建立关联,它也依赖于数据集,因为使用此关联构建的图取决于收集数据集的位置和方式。

DNS dataset independent features.
DNS数据集独立的特性。另一方面,“流行搜索引擎中特定域的命中计数”[35,36]是一个独立于DNS数据集的特性,因为它不取决于在所选的DNS数据集中可以看到的内容。类似地,域名[28,30,110]的“n-gram”分布是与DNS数据集独立的,因为它不依赖于所选择的数据集。

4.1.3 Mono vs. Multi Domains Features
4.1.3单与多域的特征
单域特征。为每个域提取单个域特征。例如,“托管给定域的国家数量”[28,29,44,61,150]是单域特性的一个示例。使用这种特性的优点之一是,依赖于它们的方法可以在完全不同的数据集上进行训练和操作。

多域特征。在一对域上计算的域关联特征,在许多基于图的聚类方法[82,133,134,154,171,174]中使用,是多域特征的例子,例如在[28,30,101]中使用的特征也是如此。我们注意到,依赖于多域特性的方法通常需要更大的数据集来正常工作。实际上,两个任意域之间的关联可能是间接的,因此,为了建立这样的关联,中间域也应该被考虑在内,以便使该方法适当地工作。

4.2 Detection Methods
我们已经确定了我们正在考虑的检测方法中的两种主要范例。首先,该方法可能会受益于一些外部专业知识,以确定如何区分好的领域和坏的领域。这种专业知识通过各种启发式方法实现的,不使用机器学习技术。因此,我们称之为这种基于范式和知识的方法下的方法。在第二种情况下,虽然作者可能有一些恶意和良性领域的例子,但他们对如何区分这两者没有先验的理解。它们依赖于数据驱动的算法来帮助自动化识别过程,因此,我们将这种范式下的方法称为基于机器学习的方法。
一般来说,属于前一类的方法出现早于后者。在早期的研究工作中,通过对数据的分析,研究人员确定了允许区分恶意域和良性域的特征。然而,随着时间的推移,对手调整了他们的行为,导致这些方法的检测能力下降,这迫使研究人员寻找更多具有描述性的特征。这样的竞赛导致了这样一种情况:需要在一个模型中考虑的特征数量变得无法管理,促使研究人员寻找基于机器学习的方法,能够自动从高维数据中获得知识。
随着该领域的进一步发展,研究人员开始采用叠加的方法。为了生成恶意域的列表,当一个方法的输出作为输入传递给下一个方法时,这些方法涉及到几个步骤。因此,由于这些技术采用了不同的检测方法,包括机器学习和基于知识,我们称之为混合方法。

4.2.1 Knowledge Based Approaches.
为了检测涉及恶意活动的领域,基于知识的方法依赖于专家的见解。这样的见解可以通过测量研究来获得,以探索与恶意领域活动相关的异常。在文献[37,40,47,64,65,93,118,130,139,158,170]中有很多这样的研究。例如,佐藤等人。[139]观察到的属于一个恶意软件家族的恶意域往往会同时被查询。因此,通过测量已知恶意域和未知域之间共同发生的一定程度的协同事件,并将结果与某些阈值进行比较,就有可能检测到新的恶意域。崔顺实在他的作品中也利用了同样的观察结果。克里希南等人。[93]和Guerid等人。[65]观察到,网络中的僵尸社区往往在DNS基础结构无法解决的DNS查询方面表现出类似的模式。
不幸的是,这类方法都有局限性。专家可能会有意或大多数是无意中产生偏见。例如,Grill等人。[64]软件发现DGA恶意软件进行了很多DNS解决方案,以便找到要通信的正确域。因此,对于感染这类恶意软件的主机,DNS解析量大于后续通信量。将这些比率与手动设置的阈值进行比较,作者可以检测到感染了恶意软件的主机。然而,现代浏览器试图预测用户的互联网行为,并提前解析某些域名,即使它们从未被查询过。因此,在这种情况下,如果阈值没有自动调整,该方法将产生假阳性,因为在分析时专家并不知道这种行为。此外,专家通常不擅长分析高维数据,因为对人类来说,很难掌握从数据中提取的特征之间的所有相关性和依赖性。

4.2.2 Machine Learning Based Approaches.
大多数为检测恶意域而开发的方法都是数据驱动的,其核心[150]是机器学习算法。一般来说,机器学习算法允许计算机学习数据,而不是被明确地编程为[113,138]。根据用于学习的数据,现有的机器学习技术通常可以分为三个子类别:
• Supervised learning
• Semi-supervised learning
• Unsupervised learning

Supervised learning algorithms.这些算法需要标记完整的训练集,即,与数据样本对应的每个特征向量都必须与表示该样本所属的类的标签相关联。关于我们的论文的主题,这意味着训练集中的每一个域名都必须被明确地标记为恶意的或良性的。然而,考虑到在实验训练期间通常观察到的域的数量,几乎不可能正确地标记所有它们。因此,通常在监督学习方法的情况下,训练数据集被修剪为只包含那些高可信度的。感兴趣的读者可以参考[90]来回顾监督学习算法。[29,35,36,44,61,75,85,122,127,148]等受监督的机器学习方法在这一领域非常流行,因为它们很简单,可以自动选择最相关的特性和有效性。事实上,依赖这种方法的研究人员只需要从原始数据中提取特征,并在标记数据集上训练分类器。将训练过的分类器应用到新数据中很简单。例如,域探查器[44]使用了55个考虑相关的IP地址和域名。应用随机森林算法来发现被滥用的域。安东纳卡基斯等人。[29]还使用了随机森林。然而,在这项工作中,从权威名称服务器的被动DNS数据中提取了这些特征。

不幸的是,监督学习方法有几个缺点。首先,它们需要一个带有标记的数据集来进行训练。由于DNS和黑名单数据的变化特性,要获得完整和完全正确的数据集并不容易。如第3.3节所述,人工标签很耗时,不会导致广泛的训练数据集。使用来自不同白色和黑名单的信息自动贴标签,同样容易出现不正确的数据包含[51,94,95,135,143,145,150]。其次,监督学习方法更容易受特定数据集的过度拟合。如果标记数据集有偏,这可能无意中导致分类器学习特征变量的错误分布。此外,在DNS数据中,只能为部分域分配标签。在实践中,绝大多数样本没有被标记,因此不能参与分类器学习的过程,使得训练数据集不一致。

Semi-supervised learning algorithms.
本文提出了半监督学习算法[41,173]来克服这种局限性。他们同时从已标记的数据和未标记的数据中学习。未标记的数据有助于机器学习算法修改或重新优先考虑从已标记的数据集[173]获得的假设。然而,采用这种算法通常是相当具有挑战性的,需要研究人员付出更多的努力。关于半监督学习算法的更多信息,我们将参考[173]和[41]。基于图的推理方法是这类[77,82,100,101,109,112,126,174]下最流行的方法之一。例如,马纳德哈塔等人。[109]检测到恶意域,并将信念传播算法应用于从企业HTTP代理日志中提取的主机域图。假设恶意主机更有可能与恶意软件域通信,而良性主机只能偶尔查询恶意域,最初有最初恶意和良性域,作者,使用信念传播方法能够评估边缘未知域的概率是恶意的。在[174]中,作者预测了在两种图类型的方法上应用恶意主机和域。第一个域查询响应图(DQRG)是使用DNS查询响应对的信息构建的:客户端的IP地址与查询域名连接,这些域名与返回域的IP地址相关联。第二个,被动DNS图(PDG),是使用域名、其规范连接以及从被动DNS数据中提取的相应的IP地址(CNAME和A资源记录)构建的。然后,在这些图上应用了信仰证明。与[109]相反,所有良性领域的初始得分都相同,Zou等人。[174]根据他们在Alexa前K列表中的排名来分配了这个值。米什斯基等人。[112]将流算法应用于一个域-IP图上。然而,这张图除了在这个区域常用的加权域-IP边之外,还包括域-域和IP-IP边表示“告诉我你的朋友是谁,我将告诉你你是谁”的关系。

集群和标签半监督学习技术也在该领域广泛应用[57,62,63,100,101]。高等人[62,63]提出了一种基于共发生模式的聚类检测恶意域的方法。显然,来自同一恶意代理对DNS系统的查询经常同时发生,例如,当僵尸网络试图解析算法生成的域名以找到主机的IP地址时。在这种情况下,相同的域名将经常一起出现在DNS解析器日志中。作者以以下方式利用了这一观察结果。起初,他们对流量进行了粗粒度的聚类。他们选择了一个时间窗口,并为每个锚域(来自标记数据集的恶意域)测量了它在选定的时间窗口内与其他域共同发生的频率。他们计算了两个度量标准:显示其他域与锚域一起查询频率的术语频率,以及逆文档频率显示所有窗口中其他域的罕见程度。使用这两个度量的预定义阈值,作者选择与每个锚域相关联的粗粒度集群。此外,为了执行细粒度的聚类,每个域都被分配了一个位向量,其长度等于在观测期间满足锚域的次数。如果对域的查询在一个小时间窗口内查询,则设置这个向量中的一位。之后,这些向量使用x-means进行集群来选择细粒度集群。李和李提出了一种新方法来构建表示客户域通信序列的图,他们称之为域名旅行图(DNTG)[101]。此有向图中的节点表示一个域,如果同一客户端按顺序查询相应的域,则在两个节点之间添加一条边。边的权重随着这些域之间的转换次数的增加而增加,而边的方向则显示了转换的顺序。一条边还与客户端共享比率分数相关联,该分数表示所查询域的客户端集的Jaccard相似性。构建图后,使用分配给边缘的值和一些预定义的阈值进行聚类。然后,作者将包含黑名单域的集群中的所有域标记为恶意域。
与此同时,如果这种类型的地面真相有限,该算法并不是有效方法。使用未标记数据并不总是有帮助,因此,研究人员必须在验证提出的方法。此外,与获得一个正确标记的数据集相关的问题也在这里存在。

无监督的学习算法。引入无监督学习方法[34,45,46,79,154,171]不仅是为了消除对标记数据集的依赖。无监督学习方法,也叫聚类技术[78],只使用数据的内部属性自动将域划分为集群。理论上,通过仔细选择对恶意和良性领域存在完全不同行为的特征,可以使聚类算法将所提供的样本分成两个集群。然后,研究人员决定哪个集群包含恶意和良性的域[45,46,150]。然而,一些方法,例如[154,171],并不遵循这条路径,并会更进一步。它们将与不同恶意行为相关的多个维度上的域进行分组,然后通过将已识别的组相互关联来选择恶意域的集群。
虽然这种方法在标记数据的独立性方面有明显的好处,但它们在文献中并不很常见。我们认为,这主要是由于这些技术是最难设计的。此外,考虑到被标记的数据集通常存在于这一领域(尽管它既不完整也不完全正确),研究人员更倾向于探索更容易使用的监督和半监督方法

4.2.3 Hybrid Approaches.
尽管单个检测算法可以根据所提供的分类进行分类,但现有的大多数实际方法都是混合的,并使用了几种不同类型的算法来产生结果。这可以是机器学习技术[28,30,126,128,129]的组合。例如,这种方法在Notos系统[28]中使用该方法。它在第一阶段训练5个元分类器,以使用监督学习技术来评估一个域与预定义的域组(流行、常见、Akamai、CDN和动态DNS)的接近性。然后将计算出的接近度分数作为第二阶段监督学习算法的特征。Oprea等人。[126]结合了半监督方法(信念传播)和监督学习算法(线性回归)。在[133,134,169]领域也使用了机器学习和基于知识的方法。例如,Segugio系统[133,134]结合了基于图的预过滤与监督机器学习。其工作方式如下。
首先,系统使用在递归DNS解析器之前收集的DNS数据,构建一个主机-域图。给定一组良性和恶意的域,以及一些启发式域,它会对该图进行过滤。它将已知域节点标记为良性和恶意,其余节点未知。类似地,如果主机节点查询其中一个恶意域,系统会将主机标记为恶意节点,或者标记为良性如果是只解析良性域的良性节点。所有其他机器都被标记为未知。之后,系统执行修剪图形删除:
1)查询5个或更少域的机器;
2)代理主机(机器比其他机器查询更多的域);
3)只有一台机器查询的域;
4)非常流行的域(由大量机器查询的域)。
然后,图中剩下的每个域节点也被分配以下属性:
1)在观察期窗口中指向域的一组IP地址;
2)多久前,该域第一次被询问是关于观察时间窗口的
。使用此信息,Segugio计算多个特征:
1)机器行为特性(已知感染机器的比例,未知计算机的比例、机器总数);
2)域活动特性(过去2周主动查询域的天数,查询域的连续天数);
3)IP滥用特性(在选定时间窗口内与已知恶意软件域相关的IP的比例,在时间窗口内未知域使用的IP数量和/24)。利用这些特征和有监督的机器学习算法,作者预测了未知数的标签。

4.3 Outcome
最后,我们所想知道的是一个域是否是恶意的。然而,仅仅是“恶意”一词也可以用不同的方式来理解。例如,一些域可能涉及垃圾邮件或网络钓鱼,服务于C&C通信,或者只是作为其他类型的活动的代理。在提出的许多方法中,有些方法能够识别特定类型的“恶意”,而另一些方法无法解释为什么他们判定某个领域是恶意的。因此,在本文中,我们根据其操作结果将方法分为那些检测到特定恶意行为的方法和那些不知道恶意行为的方法。

Malicious behavior agnostic approaches。
粗略地说,恶意行为不可知的方法不会试图捕获特定的恶意行为。相反,它们的智能是基于领域之间不同类型的关联来建立的。这种类型的[82,101,109,112,126,174]方法将预测恶意域,利用与构成基本真相的域的联系。这种技术有时被称为“guilty by association”[82]。如果一个域与一组已知的恶意域有很强的连接,那么很可能,这个域也参与了恶意活动。例如,如果将与成人相关的域用作基本真相,因此这些方法将生成相同类型的域列表,因为这些域使用了相同的关联。类似地,如果这些方法包含垃圾邮件域,它们将预测与垃圾邮件活动相关的域。与此同时,只有少数黑名单报告特定类型的恶意域名,如PhishTank[125]或垃圾邮件[15]。此外,相同的基础设施通常可能用于不同的恶意活动。因此,即使一种方法具有特定类型的基本真相,输出也可能包括其他类型的恶意域。例如,攻击者可能使用具有承载不同类型恶意域的相同IP地址的服务器。如果一种方法根据公共IP地址在域之间建立关联,它将在这些域之间建立连接。

Malicious behavior specific approaches.
相反,我们构建了特定于恶意行为的方法来捕获与特定恶意行为相关的特定特征。例如,有许多方法专门尝试捕获适合于检测自动生成的域名的词汇[66,165,166]或解析[30,64]特征。其中一些方法提取了检测多个恶意活动的特征。所以,Bilge等人说。[35,36]提取与捕获DGA相关的基于域名的特性(尽管可能不是完美的[27,60])和基于DNS应答的特性(例如,不同IP地址的数量、TTL值等。),适用于检测暴露IP fluxing行为的域。

4.4 Challenges
4.4.1 Feature Related Challenges
尽管寻找有意义的特征的过程在其他研究领域也不容易,但在恶意域检测领域尤其具有挑战性。特性不仅需要精心设计,以区分良性领域和恶意领域,而且它们还必须能够抵抗恶棍的潜在操纵。例如,某些DGA会产生容易识别的名称(例如,“ccd2.cn”、“syx4.cn”、“oif1.cn”等)。人们可以把这看作是识别这些恶意域名的强大功能。虽然目前对于DGA数量非常有限的DGA也是如此,但对于攻击者来说,通过简单地改变域生成算法的一些参数来使这一功能不工作是微不足道的。另一方面,考虑到某些资源有限容量(例如公共IP地址数量)的功能更加强大,因为在不影响攻击者收益的情况下很难实现。
不幸的是,以一种系统的和可测量的方式来评估特征的鲁棒性并不容易。这个问题的重要性已经被许多研究人员认识到,例如,在[29,44,96,101,107,122,126,129,171]中。然而,据我们所知,现有的方法都没有提供一个可以用来定量评估特征的鲁棒性的框架。斯丁森等人。[151]对一些僵尸网络检测方法的可达性进行了定性的高水平评估。其他人,如Hao等人。[69],定性地讨论了在其方法中使用的一些重要特征的鲁棒性。然而,提供一个提供对特征鲁棒性的定性和定量评估的框架仍然是一个有待解决的问题,需要研究界的关注。这些框架必须同时考虑特征锻造复杂性及其对攻击效用的影响。我们认为,这样一个框架可能是对抗自适应攻击者的有效手段,因为它将帮助研究人员和安全专家利用其锻造会对攻击者的利益产生负面影响的特性来构建检测工具。

4.4.2 Detection Methods Related Challenges.
尽管检测方法的有效性很重要,并且在大多数方法中受到应有的注意,但其性能在某种程度上被忽视了。然而,深度性能分析在实际考虑和实际部署中,与有效性分析一样重要。在实际部署中,DNS流量的量和速率可能远大于发布中使用的数据集。因此,检测方法必须是可伸缩才能在这种生产系统中工作。此外,一些方法需要大量的数据集来训练和调整它们的检测算法。为了解决这个问题,一些作者建议使用分布式计算平台,如ApacheHadoop[3]或ApacheGiraph[2]。另一些人则通过过滤掉被认为不那么重要的数据元素来减少它们的数据集大小。例如,“暴露[35,36]”过滤Alexa前1000域[25]的所有域以及在预定义时间内被查询少于20次的域。不幸的是,这种过滤可能会导致忽略可能具有潜在恶意的重要域集。在这种情况下,我们需要一个系统的性能评估,它不仅考虑到检测方法的复杂性和可伸缩性,而且还考虑到减少所需数据大小所需的过滤预处理步骤的特性。
除了性能评估挑战之外,恶意域检测方法所面临的第二个挑战与检测之前所经历的延迟有关。一些方法,如[35,36],依赖于聚合数据或在批处理模式下运行,因此,它们必须观察到许多DNS请求,然后才能决定域的恶意状态。然而,这种方法所产生的延迟可能会使它们对在短时间内服务于恶意活动的域无效,就像域流动的情况一样。例如,盛等人。[143]显示,“63%的网络钓鱼活动持续了不到两个小时”。另一方面,一些方法利用实时特性(而不是聚合),并可以在动态中标记域。然而,与非聚合的特征相比,非聚合的特征通常更容易伪造。这两种方法都有优点和局限性,因此,两者的最佳选择深受部署环境的严重影响。
第三个挑战与对手的适应性特性有关。他们不断地调整自己的行为来逃避检测工具,而检测技术必须定期重新训练和调整他们的模型,以捕获这些变化。此外,这也意味着这些技术本身会随着时间的推移而过时,使相应的方法不再可能使用。
第四个挑战在于缺乏任何系统的方法来定量比较和对比各种领域检测方法的有效性和效率。为了获得可靠的定量结果,每种方法都应具有可重复和可测量。可再生性意味着在初始训练中使用的相同数据集下,结果可以再生,而可测量性意味着在评估有效性和性能时使用定量指标。不幸的是,方法的作者很少共享数据集和实现代码,可能是由于隐私的、私有的,有时还有与安全相关的问题,这使得很难重现结果,并使比较变得相当复杂化。克服这一挑战的一种方法是使用像文件和技术报告这样的公共来源提供的信息来实施在这些工作中提出的工具。然而,这些工具的复杂性通常是至关重要的,而且公共来源并没有包含足够的和详细的信息来提供这样的方法的合理实现。

4.4.3 Outcome Related Challenges.
作为算法执行的结果,系统预测一个域是否是恶意的。然而,一个域可能在不同的方面是恶意的。例如,在很明显的情况下,一个域可以被定义为恶意的,因为它被用于发送垃圾邮件或分发恶意软件。不幸的是,什么构成了恶意行为,并不总是定义得那么明确。其中一个例子是托管成人内容的域名。一些方法,如Predator[69],认为这些域是恶意的,因为它们经常被用于与垃圾邮件相关的活动中。另一些[95,133,165]则认为这些领域是良性的。与此同时,它们往往是假阳性率较高的一个原因,特别是如果地面真相包含这种类型的域[43]。一般来说,Won德拉切克等人。[162]确认成人域名通常用于恶意软件分发和积极营销,不应盲目认为是良性的。因此,研究人员应该在他们的工作中清楚地确定哪些领域被认为是恶意的。

5 EVALUATION METHODS
正如上一节所讨论的,大多数基于DNS的恶意域检测方法都利用了机器学习的概念和技术,如聚类和分类。因此,他们使用机器学习社区开发和使用的评估指标和策略是很自然的。然而,这一领域面临着自适应攻击者的独特挑战,他们不断地改变行为以逃避检测。这限制了验证结果的时间和范围,并需要采用自适应评估策略。在本节中,我们展示了常用的评估指标和策略,并阐明了研究人员在验证恶意域检测方法时所面临的独特挑战。表3提供了这里所考虑的信息的简要摘要。
5.1 Metrics
5.2 Evaluation Strategies
恶意域检测方法使用不同的评估策略。他们中的大多数人借鉴了机器学习社区的策略,在那里,交叉验证是最流行的技术之一。在交叉验证中,数据集被分成训练和测试部分,并使用不同的分区执行多轮操作,以减少可变性。分区可以是完全的,或者在k折叠交叉验证中是非完全的。在排除p-p交叉验证中,总n个观测值中的p用于测试,其余观测结果用于训练。计算结果是n个观测结果中所有可能的p组合的平均值,因此由于有大量的回合,很难在实践中应用。因此,这一战略几乎不在该地区使用。k折叠交叉验证更实用,因此也更流行(例如,[28-30、35、44、73、77、82、93、109、127、129、139、174])。根据这一策略,地面真实数据集被划分为k个相等的部分,其中k−1部分用于训练,其余部分用于测试。
5.3 Challenges
恶意域检测方法面临的第一个挑战是新知识验证的困难。大多数方法只对部分地面真实的情况来验证有效性,即测试集,它通常是整个数据集的一个小子集。然而,大多数方法并没有系统地展示如何验证那些不是基本事实的一部分的预测恶意域。一些检测方法通过以下策略之一或组合部分解决了这一挑战(例如,[30,69,82,150,171]):
交叉检查。新检测到的恶意域会根据用于地面真相收集以外的情报来源进行检查。然而,很明显,黑名单的组合都不会覆盖所有现有的恶意域,否则,新方法将生成已知的数据,因此,将是多余的。因此,如果应用这种技术,并且该方法识别新的恶意域,就不可能验证它们

手动进行内容检查。将手动检查新检测到的域的内容是否存在恶意跟踪。除了是不可伸缩的[127],手动检查是不可靠的[131]。手动爬行和调查可能大量的新检测域的内容的成本是高昂的。因此,通常只检查一小组随机选择的域,而其余域的内容仍未得到验证。

自动进行内容检查。新检测到的域被输入到执行自动内容扫描的工具中。自动验证并不总是可靠的,因为自动工具的跟踪可以被检测到恶意域的所有者,或者恶意域可以被看起来像良性的域[48,80,103]代理。此外,恶意软件域可能根本不会向公众公开其恶意服务,而是只针对特定的访问者。

跨时间验证。新检测到的域通过对著名的商业和公共黑名单进行预测或定期检测内容检查。然而,这一策略的一个警告是,恶意的所有者可能会完全放弃那些被预测为恶意的域名,或者只是让他们表现出善意的[143]。这是一些攻击者的重要证据,在启动攻击[31]之前验证他们的资源在公共黑名单中的存在。另一个警告是,这种策略受到某些领域随着时间的动态恶意状态的影响。在检测时出现恶意的域可能会在稍后变得良性,反之亦然。例如,在2016年2月,LinuxMintweb服务器被黑客攻击,用于分发恶意内容[119],但后来它被恢复和清理。第一次过渡(恶意到良性)会对真正的积极因素产生负面影响,而第二次过渡(良性到恶意)也会对真正的负面因素产生同样的影响。

第二个挑战是缺乏一个公开的参考数据集。虽然有人试图提供这样一个数据集(见APT感染发现挑战[58]的LosAlamosDNS数据集),但这种做法并不普遍。拥有一个公开的参考测试集是提供一个基准来比较各种方法的有效性的重要步骤,它可以帮助研究人员以更系统的方式进一步推进该领域。由于缺乏参考数据集,加上共享代码的困难,很难重复不同方法的系统比较。然而,我们承认攻击者会随着时间的推移而改变行为,以避免检测到从一个网络移动到另一个网络,并调整他们的攻击方法。因此,要收集一个涵盖不同部署环境并在对手的动态行为中生存下来的参考数据集,也可能很困难。对这个问题的补充是缺乏参考地面真相数据。不同的方法使用不同的来源。如前所述,这些源可能针对不同的恶意活动,因此覆盖了不同的领域。此外,不同来源之间缺乏共享可能会增加这一差距。例如,在[43]中,在网站顾问和SafeWeb已经识别的296个和192个恶意网站中,只有8个是常见的。也就是说,基于从一个来源收集的地面真相的评估可能与基于从另一个来源收集的地面真相的评估不同。

第三个具有挑战性的问题是建立一个统一的度量计算方法。真实的DNS数据通常由不全部被白名单和黑名单覆盖的域组成。这使得一些指标的处理要由研究人员自行决定。例如,人们可以认为黑名单中出现的所有域名都是恶意的,而对待所有其他域名都是良性的。其他的则可能只考虑在执行度量计算的整个DNS数据集中标记的域的部分。这种方法可能会对研究结果有很大的影响。同样地,对数据集的过滤也会影响评估结果。事实上,在某些方法(如[35,36,79,128,150])中应用的域的过滤可能影响积极和负方面。例如,在[35,36]Bilge等人中。筛选出的域“在整个监视期间查询少于20次”(因为如果查询数量少于此数量,某些聚合统计数据根本不起作用)。然而,在这些领域中,可能有一些恶意的领域。因此,过滤掉这些域会增加假阴性的数量。同样地,一旦删除了长期存在的域,[35,36],检测率也会受到影响。

最后但并非最不重要的是,有时使用精度度量对这一领域的方法进行比较。这个度量在不平衡数据集的情况下是不可靠的,即,在一个类的样本数量大大高于其他类的样本数量的情况下。这样的数据集在该地区很常见。事实上,很容易找到大量的良性域名,例如,通过使用Alexa前1,000,000个域名[25],而恶意域名的数量受到黑名单中可用域名的限制。因此,最好使用对不平衡数据集不敏感的度量(例如,AUC或F1度量),或者在测量精度[42,160]之前平衡这些集。最后,尽管在大多数工作中,结果是使用TPR和FPR分数来报告的,但这些方法很难被比较,因为TRP和FPR指标相互依赖。因此,为了比较两种方法,应该固定两种方法中的一个度量值。

你可能感兴趣的:(网络)