文章目录
引言
论文使用来自92家公司的1.13亿封邮件,针对横向钓鱼攻击做了大规模分析。横向钓鱼攻击是指:攻击者利用攻破的企业账户向其他人发送钓鱼邮件(即钓鱼邮件的横向传播),利用被劫持者的信任关系获益。本文构建了一个检测横向钓鱼邮件的分类器,检测数数以百计的横向钓鱼邮件,误报为4/1000,000。基于检测到的攻击邮件,结合一些事件的分析,文章进一步 (1) 量化了横向钓鱼的规模;(2) 识别攻击者确定邮件主题和受害者的策略;(3)展示两种攻击者的攻击手法;(4)并且对攻击成功的概率进行了评估。总结下来,文章刻画了企业级攻击者模型和当今企业受钓鱼攻击的现状。
背景
虽然现有的一些工作已经给出了一些检测横向钓鱼攻击的一些方法,但是这些方法:
- 要么需要组织有复杂的网络监控基础设施;
- 要么假阳性太高,不符合实际应用需求。
另外一点就是,之前的工作没有在分析过一个大范围、通用的攻击的特性。
本文针对这些现状,提出如下问题与挑战。
开放问题与挑战
- 没有全面网络监控机制及相应专家的组织是否有一种实用的方法来抵御横向钓鱼攻击?
- 横向钓鱼攻击工厂采用什么样的策略与技术?
- 攻击者是如何利用他们对合法账户的控制来获利的,以及企业横向网络钓鱼攻击的现状怎么样?
本文给出了一种新的检测策略以及通过对大规模数据的分析给出了横向钓鱼攻击的特性描述。
详细内容
数据集
数据集由92个英文机构的员工发送的邮件组成。其中23个组织是从有报告横向钓鱼攻击的组织中随机采样得到的。还有69个是从所有组织中随机采样得到的。
这些机构账户数量分布如下:
机构数量 | 账户数量 |
---|---|
25 | $\le 100$ |
34 | 101~1000 |
33 | $\gt 1000$ |
文中从92个机构中选取了52个作为训练数据,剩余40个作为测试数据。
具体分布见下图。
数据集共包含$113,083,695$封邮件,训练数据中包含了$25,670,264$封邮件,测试集中包含了$87,413,431$封邮件。
横向钓鱼邮件有两个来源:
- 由安全管理员报告给Barracuda的攻击邮件以及组织机构的员工直接或间接报告给Barracuda的攻击邮件;
- 由检测员手工标记的攻击邮件。
总的来说数据集中包含了1902封横向钓鱼邮件,这些邮件由33个组织机构的154个被劫持的员工账号发出。其中1694封是用户报告的,其余由检测员发现的。在用户报告的攻击邮件中有40封邮件包含一个伪造的电汇,其余1862封使用了恶意的URL。本文提出的方法重点放在基于URL的钓鱼攻击的检测策略上。
攻击模型
攻击者可以发送任意邮件给受害者,并且诱使受害者点击嵌入在邮件中的URL,而且攻击者可以将邮件头部中的任意字段设置为任意值。
检测方法
文中探索了横向钓鱼攻击的三种检测策略,发现其中一种策略可以发现三种策略发现的所有攻击类型。从较高层次来看,两个不太行的检测策略通过寻找邮件中是否包含1) 一个很少见的URL,2) 一个看起来很像钓鱼的信息(比如看起来像现有的一个已知钓鱼攻击)。本文主要的检测方法可以检测出其它策略可以检测出的几乎所有所有攻击(除了两种,这两种也被包含在了测试集中),并且可以发现其它策略10倍的攻击。
概览
研究人员们检查了训练集中用户报告的横向钓鱼邮件以找到那些可以被用于检测的主体及行为。结果发现超过95%的被劫持账户会向25个或以上的不同收件人发送假冒邮件。这些特点加上受到其它检测框架中一些特征提取方法组成了本文中特征工程的基础。虽然本文提供的方案没有提供一个可以检测所有攻击的方法,也不能保证在攻击者试图规避这些检测方法时这种检测方法还有效。但是,本文提出的方法在现实的组织机构的邮件中发现了上百封横向钓鱼攻击的邮件,并且仅引入了一个极低的假阳性。
特征提取
本文提出的检测器使用了三类特征。
第一类: 接收人员数量及相似度
第一类特征由两个特征组成,这类特征基于之前的发现:攻击者会联系许多受害者。给定一个邮件,首先从邮件的$TO/CC/BCC$头部字段中提取出不同接受者的数量作为一个特征。另外计算出这封邮件的接收者与最近的的历史邮件(之前一个月的)接收者的杰卡德相似系数(Jaccard similarity)。作者用这个系数表示邮件接收者的相似系数。
另外两类特征假定邮件包含了两个必要的组成:
- 诱饵:确保攻击者相信这个邮件(相当于白名单吧);
- 利用:攻击者可以执行一些恶意行为。
第二类:诱饵
为了分析一封新邮件是否包含一个诱饵,检测器会根据邮件的内容输出一个0或1的标志,表示邮件中是否包含诱饵。特别的,Barracuda为研究人员提供了在钓鱼邮件中频繁出现的大概150个关键词和短语。实际操作时,如果邮件中包含这些关键词或短语那么这个特征被设置为1。
最后,检测器会输出两个特征用于指示邮件中是否包含利用这个特点。由于本文是主要是分析使用URL进行的攻击,所以这两个提出的特征就是反应邮件中是否会包含危险的URL。
第三类:URL 利用
对于每个邮件,提取出一个用于量化邮件中最少见的URL的信誉特征。
给定一封邮件,首先从邮件正文中提取出所有的URL,提取过程中会忽略两类URL:
- 在机构的已验证列表中;
- 超链接文本信息和隐藏的URL一致的链接。这种过滤方法主要是基于钓鱼的URL经常会试图隐藏自己,而不会把真正的URL指向显示出来。
全局URL信誉度。提取出所有的URL后,使用全局URL信誉度最低的得分作为这封邮件的此特征。信誉度使用了Cisco Umbrella Top 1 Million sites,这个排名反应了网页的流行程度,排名越靠前说明这个域名越流行。直观来讲,攻击者很少会将钓鱼页面放到很流行的网站页面上去,所以网页越不流行越可疑。虽然攻击者可能会攻破一些排名靠前的网站,但是在横向钓鱼攻击中,并未发现这种情况。
本地URL信誉度。除了这个反应全局信誉的指标外,文中还根据一个组织的员工所发送的邮件中包含的URL,提取出了一个反应URL稀有度的特性。给定一个邮件的URL集合,首先将URL映射到它的完全限定的域名(fully-qualified domain name),然后计算之前一个月时间内,该邮件与最近发送过这个URL的邮件的天数。使用所有URL对应天数的最小值作为反映邮件的本地URL信誉度的特征值。
分类任务
本文使用上述特征训练了一个随机森林分类器。分类器使用所有的用户报告的攻击邮件混合一些可能是良性的邮件作为输入。良性邮件是从一个没有被报告有攻击邮件的窗口中采样得到的。研究人员为每个攻击邮件采样了200个良性的邮件来组成训练集。
分类器训练好后,给定一个新邮件,检测器首先提取出我们之前描述的特征,然后将特征向量喂给分类器,来得到分类结果。
分类器评估
实验结果表明,分类器可以有一个很高的检测率,假阳率也很低,并且检测出了许多新的攻击。下图给出了检测器的检测结果:
文中使用的随机森林分类器还给出了每个特征的重要性,归一化后所有重要性加起来为1,重要性如下表:
特征名称 | 重要性 |
---|---|
全局URL信誉度 | 0.42 |
接收者数量 | 0.34 |
接收者相似度 | 0.17 |
诱饵关键词 | 0.06 |
本地URL信誉度 | 0.01 |
本地URL信誉度为0.01可能是由于它和全局URL信誉度表现一致:全局信誉度不行,本地信誉度也不行;反之也一样。
横向钓鱼特性分析
本节给出论文中对于此类钓鱼攻击的一些重要发现,具体的详细结果可参考论文。
- 横向钓鱼攻击已经在企业组织中广泛传播;
- 至少11%的攻击至少攻击成功一次(比如受害者密码泄漏了);
- 绝大部分攻击邮件会发送给超过100个以上的受害者(通过密码抄送的方式或者通过很多单个发送的方式);
- 大约每542个受害者账号会成功产生一个新的被劫持邮件账号;
- 大多数钓鱼邮件要么会发送给大量随机选择的受害人,要么会发送大量攻击邮件给与被劫持账户同一组织的其它账户;
- 大多数攻击者会将他们的精力放在扩大自己的钓鱼范围上,较少会针对一个用户来精心设计邮件内容;
- 绝大多数攻击都在工作日发生(看来攻击者周末都要休息)
结束语
本文首次给出了针对横向钓鱼攻击的一个大规模特性分析,并且给出了一个检测方法,发现了许多新的攻击。通过对数据集的详细分析,研究者们给出了一些重要发现,可以供未来的防御做指导。
引用
[1] Ho, Grant, et al. "Detecting and characterizing lateral phishing at scale." 28th {USENIX} Security Symposium ({USENIX} Security 19). 2019.
更多推荐