威胁行为者毫无顾忌地利用世界上任何他们可以利用的危机。无论是飓风、政治动荡,甚至是流行病,威胁行为者都会试图融入世界的在线响应,并创建欺诈性基础设施,以赚钱、窃取个人身份信息,甚至引发内乱。制定针对不同世界事件的在线反应是能够识别威胁行为者在任何给定时间针对的主题的第一步。
DomainTools对我们所谓的域名绽放进行了研究,我们试图识别正在注册的域名中的新主题和趋势主题,并突出显示哪些威胁行为者可能针对他们的恶意活动。
要深入分析2020年发生的一些更值得注意的域华,请查看DomainTools报告:2021年春季版。
早在2020年2月,当COVID-19迅速引起国际关注时,威胁行为者就积极利用这一情况,每天注册数百个与COVID-19相关的恶意域名。DomainTools安全研究团队每天都在扫描新注册的COVID-19相关域名,并在coronavirusapp上运行。网站,该网站声称拥有一个实时冠状病毒追踪应用程序可下载。
安全研究人员下拉安卓应用程序他去城里把它拆开,发现它实际上是一个勒索软件应用程序,它会锁定受害者的手机,并要求支付100美元的比特币才能重新获得设备的访问权限。
这是一个有价值的发现,它提出了几个问题。首先,安全研究人员需要对每天扫描新注册域名时查找哪些单词有良好的直觉。但是,那些被威胁行为者利用却被忽略的其他相关词汇呢?第二,与COVID-19相关的域名快速增加是一个明显的趋势,但下一个不那么明显的趋势是什么?我们如何识别威胁行为者瞄准的域名的下一个趋势以及他们使用的词汇?
当DomainTools首次开始分析COVID-19相关域名时,使用的早期可视化之一是每天为特定单词注册的域名数量的直方图。下面是2020年“covid”一词的直方图,它告诉我们几件事。
首先,在2020年2月之前,“covid”一词几乎从未在域名注册中使用。然后在2月11日,突然有超过800个域名注册使用“covid”这个词。这一天与世界卫生组织(世卫组织)正式将这种疾病命名为“COVID-19”后的第二天相对应。
到2月14日,每天“covid”域名的数量下降到每天几十个,并在大约一周半的时间里保持稳定。然后在2月下旬,域名的数量开始再次增加,并一直持续到3月12日,在这一点上,他们飙升到前所未有的2500个域名在一天内注册。这是世界卫生组织正式宣布COVID-19大流行的第二天。
从3月中旬到4月初,“covid”域名注册数量每天超过2000个,然后开始逐渐下降,最终稳定在每天约200个域名的新基线,此后一直保持稳定。
您可能会问自己“这些域背后的目的或意图是什么?”其中一些是由不同的市政当局、卫生和非营利组织创建的官方COVID-19信息域名。有些是错误信息和虚假信息的领域;粗略估计,但从网络安全的角度来看不是威胁。许多是……的结果域名投机任何危机或新闻事件似乎都不可避免地会出现这种情况。但是,这些域名中有大量是由威胁行为者创建的,用于欺诈、网络钓鱼和个人身份信息(PII)收集目的。
网络安全中数据科学的主要目标之一是分析安全研究人员每天使用的策略和技术,并尝试将其算法应用于大规模的数据。
按照这种操作方式,我们选择每天监测所有单词,并分析每个单词的频率分布,以从其基线频率中识别异常值,而不是试图猜测每天监测哪些单词以识别域名注册中的新主题。
但词频并不是唯一有用的衡量标准。了解一个单词或术语的独特性可以提供很多有价值的见解。在2020年2月11日之前,“covid”一词在域名中只被使用了几百次;通常作为一个更大的单词的一部分或作为两个单词组合的副产品。识别新的独特的流行词在试图发现威胁行为者正在利用的趋势时也很有用。
最常见的统计方法之一是涵盖词频和唯一性是TF-IDF。TF-IDF代表Term Frequency- inverse Document Frequency,它衡量一个词相对于一组已知文档(也称为语料库)对单个文档的重要性。
更正式地说,Term Frequency (TF)是单个文档中单词的计数。在文档中使用更频繁的单词会对文档的语义意义产生更大的影响。在文档中只使用一两次的单词对语义的影响较小,特别是对于较长的文档。
逆文档频率(IDF)衡量一个词相对于整个文档语料库提供了多少信息,并使用以下函数计算:
其中N是语料库中文档的总数,DFt是包含单词t的文档的数量。单词在语料库中出现的文档数量越多,其IDF得分越低,反之,单词在语料库中出现的文档越少,其IDF得分越高。
为了结合一个例子,让我们以Wikipedia.com为例。今年,维基百科的英文条目突破了600万篇;维基百科的语料库有600万份文档。可以安全地假设单词“the”出现在语料库中的每个文档中。因此“the”的IDF分数为:log(6,000,000 / 6,000,000 +1) = 0.30。
让我们比较一下“the”和“dragon”的IDF得分。“龙”出现在3340个维基百科文档中,它的IDF得分为:log(6,000,000 /(3,340 + 1)) = 3.25。
(注:分母加1是为了防止在任何文档中没有出现单词时出现除零错误)
在维基百科的文章中龙与地下城,可以计算出“the”和“dragon”的TF-IDF分数,以显示这两个词对文章的重要性。
单词“The”在文章中的词频为1705,其TF-DIF得分为:
1705 * 0.30 = 511.5。
“龙”一词在文章中的词频为1092,其TF-IDF得分为:
1092 * 3.25 = 3549
所以在《龙与地下城》这篇文章的语境中比较这两个词可以看出,在文章的语义语境中,“dragon”要比“the”重要得多。
用于衡量单词重要性的相同统计方法也可以应用于域名,但首先我们必须定义在域名注册的上下文中文档是什么。
由于目标是识别随着时间的推移域名注册的单词趋势,一种方法是将一天内注册的所有域名视为单个文档,并将组成这些域的所有单个单词视为组成该文档的单词集。
以2020年6月1日为例;这一天有285,835个域名注册。一旦每个域名被分割成它的组成部分(英语)单词,那么当天总共有2,595,402个单词用于注册域名。这将表示语料库中的单个文档。
注意:为了了解每天用于注册域名的单词有多少重复,尽管在2020年6月1日有近260万个单词用于生成域名,但只有213,244个唯一单词。
语料库的定义是特定种类或特定主题的所有著作或作品。在Wikipedia.com的例子中,语料库是维基百科中所有的英文文章。IDF分数告诉我们一个词在所有文档的整个语料库中的重要程度。因此,在计算用于注册域名的单词的IDF分数时,重要的是定义语料库的范围,以便计算有意义的逆文档频率(IDF)分数。
语料库可以定义为自某个任意日期以来的每一天,但这存在一些问题。由于目标是识别威胁行为者可能针对的新单词和流行单词,因此回溯得太久可能会降低当前流行但过去也流行过的单词的IDF分数权重。
以“圣诞节”这个词为例。如果语料库的开头设置为2018年7月1日,则每天使用“Christmas”的次数如下所示。
请注意,从9月初开始到12月底,每天的域名数量有一个可预测的年度增长。
如果人们在2020年10月1日寻找独特的趋势词,那么圣诞节的IDF得分将包括2018年和2019年趋势峰值的计数。这可能会降低圣诞节的IDF分数,以至于它不再将圣诞节视为一个新的流行词。
为了解决这个问题,IDF分数是基于180天的滑动历史窗口来计算的。因此,对于每一天,对于每个单词,IDF计算使用前180天的文档语料库来计算该单词的IDF分数。例如,在2020年10月1日,圣诞节的IDF分数是根据2020年4月4日至2020年10月1日期间圣诞节的使用天数计算的。
这个滑动的180天历史窗口使TF-IDF分数能够识别当前唯一趋势的单词,而不管该单词在前几年的趋势如何。
下一个挑战是将域名分解成它们的组成词。有多种方法可以处理这个问题,但最成功的方法是每天将新注册的域名与所有已知单词的字典进行比较。如果在域名中找到一个已知单词,则将其输出到包含该域名的所有单词的列表中。
不幸的是,并不是每个流行词都能在最流行的词典中找到。例如,“covid”一词直到2020年2月11日之后才被添加到大多数在线词典中。因此,为了尝试捕获最具代表性的英语单词集,我们对以下来源的单词进行了解析,并将其合并到一个黄金标准词典中:
维基百科时事页面一直是一个有价值的重要的新单词或短语的来源,这些单词或短语在其他单词来源中没有出现。
识别域名中的单词的另一个挑战是通过算法了解注册人在注册域名时针对的是哪些单词。以虚拟域名sharepoint-chasebank-login[.]com为例。
该域中所有可能的英语单词列表如下:
威胁分析人员会立即关注“sharepoint”和“login”这两个词,而不是把它们分成更小的词,但从算法上讲,很难解释注册人的意图。
有各种不同的启发式和概率方法可以解决这个问题,但每种方法都有可能遗漏重要单词的缺点。相反,使用域名中找到的所有单词的天真方法最终效果很好。
从这个数据TF-IDF模型中,现在可以调查单词在域名注册中的使用情况。
每当值得注意的事件发生时,人们不可避免地会使用单词和主题来注册与该事件相关的域名。如果在短时间内注册了与此主题相关的足够多的域,则可以用两种不同的方式之一来描述这些域;域尖峰和域开花。
大多数单词在每天的域名注册中都有一个使用频率基线。随着时间的推移,这个基线通常相当稳定,并且通常以7天为周期,因为人们在周末注册的域名较少。例如,下面是“电话”这个词每天出现的频率。
请注意,“phone”这个词每天出现在大约180个域名中,并且随着时间的推移相当一致。这种模式就是我们所说的单词的基线频率。
有趣的是,当从这个基线中识别出异常值时。例如,下面的图表显示了“电话”一词的频率延伸到11月。请注意,10月13日,“phone”的注册域名增加了300个,比基线多。我们这样称呼域名注册事件峰值。
域名峰值是指一个特定单词每天注册的域名数量相对于其基线急剧增加。峰值通常发生在与该词相关的事件发生后的第二天,通常只持续一到两天。上述峰值对应于2020年10月13日苹果iPhone 12的发布。
另一个与新闻相关的激增的例子是下面的“贝鲁特”一词,它与2020年8月4日在贝鲁特发生的化肥储存设施爆炸相对应,该爆炸造成200多人死亡。
请注意,贝鲁特的峰值直到新闻事件发生的第二天才出现,而手机的峰值是在iPhone 12发布的同一天。这两个域尖峰代表了两种不同的行为。
iPhone 12的高峰出现在苹果产品发布会的同一天,通过对DomainTools数据库的深入研究,我们发现其中很多实际上是由苹果公司注册的;很可能是试图将这些域名从市场上撤下,这样其他人就无法从中获利,或者以侵犯苹果商标的方式使用这些域名。
贝鲁特的域名高峰是对一个悲惨事件的回应,看看这个高峰中的域名,很多都是围绕着帮助贝鲁特人民的主题。
helpbeirutlb(。com help4beirut[。com hope4beirut[。com helpforbeirut[。com hopeforbeirut[。com donateforbeirut[。com donate-beirut[。com donatebeirut[。com givetobeirut[。com fundbeirut[。com aidbeirut[。] com beirutfund。com
不幸的是,当看到今天的域名时,几乎所有的域名都只是停放的域名,很可能是域名投机者注册的,他们试图抢购一些救济组织可能想要购买的域名。
一类特殊的领域峰值是由基于字典的领域生成算法(DGAs)产生的。DGAs是一种自动生成并有时注册恶意软件和僵尸网络用于通信协调的域名的算法。dga传统上使用随机的字母数字序列生成域名。这些域名很容易发现,因为它们的字符分布与合法域名非常不同。
另一方面,基于字典的DGAs试图通过随机组合字典单词来创建与合法域的字符分布密切相关的域名,从而绕过这种类型的检测。但当你知道要寻找什么时,这些也很容易发现。例如,查看每天使用“witness”一词注册的域名数量。
有几个指标表明,几乎每个峰值都是由字典DGA生成的。首先,看看5月之前和10月之后的基线;每天大约有10个与“见证”一词相关的域名。接下来,如果你观察每个尖峰的峰值,每一个都是500个域的倍数。像这样的精确模式在野外不会发生,并且清楚地指向一些脚本,这些脚本会自动生成和批量注册500个域名。
识别基于字典的dga的另一种方法是可视化地扫描构成峰值的域名。下面是16个域名的样本,从5月11日持续到5月13日,由1500个域名组成。
[参考译文]]信息ultraoutlinetowitness-today[。]信息best-outlinetowitnesstoday[。]信息bestoutline-towitnesstoday[。]信息bestoutlineto-witnesstoday[。]信息bestoutlinetowitness-today[。]信息boss-outlinetowitnesstoday[。]信息bossoutline-towitnesstoday[。]信息bossoutlineto-witnesstoday[。]信息bossoutlinetowitness-today[。]信息cool-outlinetowitnesstoday[。]信息cooloutline-towitnesstoday[。]信息cooloutlineto-witnesstoday[。)信息cooloutlinetowitness-today(。)信息
当先按长度对域排序,然后按字母顺序排序时,DDGA模式通常会很好地组合在一起,并且很容易发现组成算法使用的字典的单词集。最重要的是,这些单词都不对应于它们注册当天的任何新闻事件。这些只是随机的“单词沙拉”域。
域花的开始类似于尖刺。一个单词每天的使用频率遵循一些基线频率,然后在一些事件发生后迅速增加到一个异常水平。但与高峰不同的是,几天后,每天的域名数量要么继续增加,要么在一段时间内保持稳定。过了一段时间,每天注册的域名数量逐渐下降到其基线水平,或者可能保持稳定的新基线水平。
域绽放的典型例子是本文开头详细描述的COVID-19绽放。
水华,尤其是由自然灾害引发的水华,很容易成为威胁行为者的目标。在COVID-19大流行的早期,威胁行为者创建了数百个欺诈性筹款和网络钓鱼域名,假装是帮助应对大流行危机的非营利组织和市政当局的官方域名。
COVID-19早期的挑战之一是识别威胁行为者在注册相关恶意域名时利用的其他词汇。安全研究人员不得不猜测不同的单词,并查看他们的bloom图表,看看它们是否遵循与“covid”相同的趋势,但在开发出更算法的方法之前,这是一个猜测游戏。
域开花实际上只是一个时间序列直方图,或者随时间发生的计数。在数据科学中,这被称为向量,对于任何给定的向量,都可以搜索所有已知向量的向量空间,以识别具有非常相似特征的其他向量。从理论上讲,两朵花在同一时间开始,有一个相似的峰顶,然后在同一时间结束,应该在语义上彼此相关。
为了测试这一点,使用了一种称为聚类的特殊类型的机器学习算法,该算法试图将相似的项目分组到一起。为此,为2020年注册的域名中使用的所有单词生成了bloom直方图向量。然后通过聚类算法运行这些花向量,生成相似花的组。
一旦生成了花簇,就会识别包含“covid”花簇的簇,并提取5个最相似的花载体。这些词的花朵如下所示:
注意,并不是每一朵花的大小都和“covid”一样,但总体形状和持续时间都非常相似。
在分析过程中发现的其他值得注意的集群包括围绕社交距离的集群:
这是关于黑人的命也是命运动的:
并不是每一个重大事件都会像COVID-19这样的威胁行为者那样受到关注。需要做进一步的研究来更好地分类不同类型的花开和尖刺,确定它们背后的定义特征,并更好地了解参与注册这些域名的人的动机。基于这种学习,我们可以更好地对恶意域进行分类,这些恶意域是为了响应不同的事件而注册的,然后才有机会进行操作。
要深入分析2020年发生的一些更值得注意的域峰值和爆发,请查看DomainTools报告:2021年春季版。
订阅DomainTools每月通讯,接收创新的、实用的建议,以改善他们的安全状况。我们的目标是帮助组织在其组织的日常防御中变得更有效、更有知识、更主动。