High Precision Detection of Business Email Compromise

高精度的商业电子邮件入侵检测

1.背景

(1)刊物/会议级别

USENIX Security

2019年8月14-16日

(2)作者团队

梭鱼网络,哥伦比亚大学

(3)论文背景

2013-2018年间,商业电子邮件欺诈(BEC)造成的经济损失高达120亿美元,远远超过其他诸如勒索软件等网络攻击手段所造成的损失。BEC主要由以下几种形式:

  • 要求受害者转账到指定账户
  • 要求填写包含社保号码的表格
  • 引诱点击钓鱼链接

这些攻击的共同特点是:攻击者假扮为受害者的上司或同事

本文作者的研究聚焦于来自组织外部,并且假冒为公司员工的攻击(不考虑攻击者使用一个被劫持的内部电子邮件账号来假冒公司员工)

传统的电子邮件安全系统对于BEC的检测效果不理想的原因:

传统的电子邮件安全系统主要通过两个特征来检测:

  1. malicious(恶意性),即电子邮件是否包含恶意附件和恶意链接,以及是否来自一个低信誉度的域名。
  2. volumetric(传播次数),即相同格式的邮件被同时发送给许多人(包含相同的邮件内容或相同的URL)

然而,假冒内部员工的邮件不包含这两个特征。

现有的检测假冒邮件的方法要么数据集太小,要么检测的只是假冒邮件的一个子集(伪造域名或带有恶意链接),并且准确率不高,误报率令人难以接受。

检测BEC的一个挑战是:BEC的邮件非常少,50000个邮件中的BEC邮件少于一个。

因此,为了实现低误报率的目标,作者设计了一个使用监督学习的系统。但这又带来两个问题:

  • 标记包含数百万封电子邮件的训练集异常困难
  • 在这样一个不平衡的数据集上训练一个分类器也是困难的(BEC邮件比正常邮件低了五个数量级)

所以作者提出的模型基于历史邮件,分成两个步骤:

  1. impersonation classifier (“假冒”分类器):通过检查邮件头部来确定攻击者是否假冒公司员工(利用员工常用邮件地址等信息)

  2. content classifiers (内容分类器):“假冒”分类器认定为假冒邮件,再检查邮件正文,以确定是否为BEC邮件

    对于不含链接的邮件,使用KNN聚类算法;包含链接的邮件,使用随机森林算法。

主要贡献如下:

  • 第一个能够实时检测BEC的系统,并且有准确率高和误报率低的特点。
  • BEC-Guard系统的创新在于依赖云邮件提供商API,既可以学习每个组织的历史通信模式,又可以实时检测攻击。
  • 为了处理数百万封电子邮件的标记难题,我们将检测问题分为两个部分。
  • 对邮件的标题和文本使用不同类型的分类器。邮件头文件使用随机森林进行分类,而文本分类主要依赖于KNN模型,该模型不依赖于任何硬编码特征,并且可以很容易地重新训练
  • 为了在不平衡数据集上训练“假冒”分类器,我们使用聚类算法对合法邮件使用采样技术。

2.论文主要方法

(1)BEC的三种常见类型

  • wire transfer(电子转账钓鱼):攻击者诱导受害者进行电子转账
  • rapport(亲密关系钓鱼):不直接要求转账,而是首先发送一封邮件,取得信任后再要求转账等操作
  • impersonation (假冒钓鱼):使用虚假名称,诱导受害者点击恶意链接

(2)特征选取

Header attributes(邮件头部特征):

  1. 电子邮件账户名称和常用邮件地址不相符
  2. 发件人地址和reply-to(回复)地址不同
  3. 邮件发送时间是否正常,IP是否是常用IP等特征

Body attributes(邮件正文特征):

  1. 包含敏感信息(电子转账等)
  2. 包含特别的,立即的要求
  3. 链接
  4. 邮件格式和风格信息

利用历史邮件:

利用诸如Office365,Gmail等云邮件服务商API访问其历史邮件

(3)分类器的特征设计

因为BEC邮件数量非常少,所以无监督学习,诸如聚类等算法的效果不佳。所以作者选择用监督算法来实现分类器,但这又会带来两个问题:

  • 标记包含数百万封电子邮件的训练集异常困难
  • 即使有了标记好的训练集,依然会有数据不均衡造成的分类困难

所以把分类器分成两部分:

  • impersonation classifier (“假冒”分类器):通过检查邮件头部来确定攻击者是否假冒公司员工(利用员工常用邮件地址等信息)
特征 描述
Sender has corp domain? 发送地址是否属于公司域名?
Reply-to != sender address? 回复地址是否和发送地址不同?
Num times sender and email 发送者名称和发件地址出现的次数
Num times reply-to address 回复地址出现的次数
Known reply-to service? 回复地址是否为知名网站?
Sender name popularity 发送者名称的知名度
  • content classifiers (内容分类器):“假冒”分类器认定为假冒邮件,再检查邮件正文,以确定是否为BEC邮件

content classifiers contains :

  1. Text classifier:针对第一类和第二类常见的BEC邮件
  • 第一步:预处理邮件文本,去除一些诸如敬语等常规表达模式
  • 第二步:计算TFIDF值(分数越高,代表一个单词在一封特定的邮件中出现的概率越大,但是含有这个单词的邮件月稀少)
  1. Link classifier:针对第三类BEC邮件

(4)分类器算法设计

impersonation classifier (“假冒”分类器)和 link classifier(链接分类器)使用随机森林算法

text classifier使用KNN算法

(5)给数据集做标签

三个原则:

  • 假定攻击者使用员工姓名来冒充员工
  • 假定攻击者使用相同的电子邮件地址的假冒员工攻击不会超过100次
  • 假定攻击者使用的电子邮件地址不同于正常的公司地址

符合上述三个原则的电子邮件标记为BEC邮件,作为impersonation classifier的训练集。

然后在一个新的数据集上运行impersonation分类器,结果作为Content classifiers的初始训练集。

因为impersonation classifier的训练集是一个不平衡的数据集,所以采用对正常邮件进行欠采样操作:

  • 使用高斯混合模型(Gaussian Mixture Models)进行聚类操作,将正常邮件分类,然后每个类别按比例抽取。

3.实验

使用2018年6月BEC-Guard处理过的包含几百个组织的两亿封邮件,人工对其进行标记,发现了4221封BEC邮件。

然后把数据集均分为两份,一份用作训练集,一份用于测试。得到最终的结果:

准确率 误报率 召回率
BEC-Guard(Combined) 98.2% 0.000019% 96.9%

4.结论

BEC是一个重大的网络安全威胁,每年造成数十亿美元的经济损失。

文章提出的第一个能够以高准确率和低误报率检测BEC的系统BEC-Guard,是一种新的基于api体系结构,结合监督学习方法,能够实时组织BEC攻击的系统。

虽然攻击者会不断调整战术和方法,但是该系统通过api的架构使用历史邮件模式的监督学习方法可以快速重新训练分类器,因此在应对不断演变的威胁方面非常有用。

高精度的商业电子邮件入侵检测相关推荐

  1. 新书推荐 |《Linux系统安全:纵深防御、安全扫描与入侵检测》

    新书推荐 <Linux系统安全:纵深防御.安全扫描与入侵检测> 点击上图了解及购买 资深Linux系统安全/运维专家撰写,腾讯.阿里技术专家高度评价,从纵深防御.安全扫描.入侵检测3个维度 ...

  2. 如何搭建入侵检测系统

    日益增长的网络安全威胁和网络攻击的破坏性.给企业带来严重的损失, 单纯的防火墙无法防范复杂多变的攻击.建议企业部署IDS(入侵检测系统)结合其他安全设备共同保护企业网络安全问题.IDS可以保护网络或操 ...

  3. 控制不变量下的PLC入侵检测系统

    控制不变量下的PLC入侵检测系统 摘要 ​ 可编程逻辑控制器(PLC),即控制系统的核心.众所周知PLC容易受到各种网络攻击.为了缓解这个问题,我们设计了 PLC‑Sleuth,这是一种用于 PLC ...

  4. 网络安全-防火墙与入侵检测系统

    防火墙效率 吞吐量:指防火墙在不丢失数据包的情况下能达到的最大的转发数据报的速率. 时延:能够衡量出防火墙处理数据的快慢. 丢包率:在特定负载下,指应由网络设备传输,但由资源耗尽而丢弃帧的百分比. 背 ...

  5. 2021年中国云入侵检测与防范市场趋势报告、技术动态创新及2027年市场预测

    云入侵检测与防范市场的企业竞争态势 该报告涉及的主要国际市场参与者有Check Point Software Technologies.Cisco Systems.IBM.Juniper Networ ...

  6. 入侵检测技术目的-发现黑客

    一.黑客常见的操作 1.制造并传播病毒木马 2.寝取隐私或敏感信息 3.控制你的计算机 4.服务器宕机(死机) 5网络瘫痪 二.常见的网络攻击手段: 网络攻击主要分为以下几种类型 (1)主动攻击:包含 ...

  7. 加密与解密 入侵检测 扫描与抓包

    Top NSD SECURITY DAY02 案例1:加密与解密应用 案例2:使用AIDE做入侵检测 案例3:扫描与抓包分析 1 案例1:加密与解密应用 1.1 问题 本案例要求采用gpg工具实现加/ ...

  8. 浅谈大型互联网的企业入侵检测及防护策略

    来自:美团技术团队 前言 如何知道自己所在的企业是否被入侵了?是没人来"黑",还是因自身感知能力不足,暂时还无法发现?其实,入侵检测是每一个大型互联网企业都要面对的严峻挑战.价值越 ...

  9. RHEL 7系统审计、系统日志文件、服务安全及打补丁 AIDE 系统入侵检测

    一.RHEL 7系统审计 审计的目的:基于事先配置的规则生成日志,记录可能发生在系统上的事件(正常或者非正常),审计不会为系统提供额外的安全保护,但是它会发现和记录违反安全策略的人及其对应行为. 审计 ...

最新文章

  1. Thread start()方法和run()方法的区别
  2. 理解离散傅立叶变换(一)
  3. linux weblogic启动目录,Linux下WebLogic开机启动设置
  4. 基于MVC的网站和在线教育系统
  5. animation 先执行一次 在持续执行_这一次,彻底弄懂 JavaScript 执行机制
  6. 服务重构理解接口编程的妙处
  7. mysql根据身份证号计算年龄
  8. 随意切换双卡流量,立即获取对应卡的SMIS
  9. Microsoft SQL Server笔记整理
  10. 所谓的不撞南墙不回头
  11. 孤单还是对你最好的惩罚
  12. GitHub如何使用
  13. HTML 显示系统时间
  14. java写zip后无法读取
  15. BUU Crypto[1-8]
  16. EmguCV-第01讲-EmguCV介绍与安装配置
  17. iOS主题更换、音乐播放器、栏目管理、上传视频封面等源码
  18. CH582M 模拟iic 驱动 QMI8658笔记(避免失败坑)
  19. 让 div中的div垂直居中的方法!!同样是抄袭来的(*^__^*)
  20. 【分布式】分布式基本理论

热门文章

  1. Django——Ajax
  2. worthington丨worthington 胶原酶取样程序
  3. 关于 电脑分配IP地址可以连接局域网但无法上互联网 的解决方法
  4. 2021年改版之后的微信小程序获取头像及返回
  5. D2FQ(2021 FAST)
  6. Kubernetes 版本升级
  7. c语言数学函数编程,C语言基础-数学函数库
  8. 计算机中ar的作用,AR增强现实是什么意思?
  9. 论文阅读:attention is all you need
  10. 【日常】计算机操作系统入门