前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >邮件安全:从 安全网关 到 基于图建模的数据运营

邮件安全:从 安全网关 到 基于图建模的数据运营

作者头像
数说君
发布2023-01-04 18:56:10
8490
发布2023-01-04 18:56:10
举报
文章被收录于专栏:数说工作室数说工作室

对企业安全建设来说,人是最大的安全威胁因素,系统再牢固、资产再收缩,也架不住内部员工被社工、被骗后轻而易举的进行破坏。

而社工的主要方式,就是钓鱼邮件了,今年早期搜狐公司的事情大家都听说过,9月份中科大做了一次模拟钓鱼邮件的演练,近10%的人在跳转的钓鱼页面中提交了自己的个人信息。最近,钓鱼邮件攻击似乎又来一波高潮,不断升级的手法、标题、套路。

钓鱼 和 0-day,是每年大型攻防演练中最令人闻风丧胆的事情。钓鱼的风险点取决于内部员工的安全意识水平,这谁能吃的准呢,况且攻击者的套路还在不断变异。中招的人可能是财务,可能是行政,也可能是手握重要权限的系统管理员。

本文结合笔者经验,聊一聊邮件安全体系的建设,从安全设备、暴露面收缩和安全配置、基于数据的安全运营,到安全管理: 一、邮件攻击的主要套路

二、邮件安全建设

1. 安全设备

(1)邮件安全网关

(2)沙箱

(3)流量和主机安全设备

2. 安全配置和暴露面收缩

(1)安全配置

(2)暴露面收缩

3. 数据驱动的安全运营

(1)分析环境

(2)基本分析

(3)一网打尽——聚类分析挖掘攻击团伙

(4)顺藤摸瓜——用黑标签传播出隐藏的坏人

(5)专家运营和协同处置

4. 安全管理:制度、意识培训和钓鱼邮件演练

(1)制度

(2)安全培训

(3)钓鱼邮件演练

一、邮件攻击的主要套路

在现在的邮件安全对抗中,攻击者的攻击手法是不断升级,我们先来盘一盘钓鱼套路:

  • 直接发、大量发,钓不到大鱼,邮件网关和沙箱基本直接滤掉;
  • 批量注册一些邮箱地址,变换地址的发,由于具有明显的批量性特点,基本也会被滤掉;
  • 自己搭建一台服务器,安装个开源的钓鱼邮件框架,然后仿冒域名大量发送,因为邮箱的信誉度低,加上有些邮件头中都会带上钓鱼框架的信息,现在也比较难成功了。 重点来了——
  • 逐步渗透。通过以上各种办法,先拿下一些邮件安全基础比较薄弱的企业邮箱,一般是中小制造业、学校居多。拿下后,用他们的地址给目标公司的员工群发钓鱼邮件,但不会发太多,通常是先钓个人密码等信息,目标公司也不会是一家,邮件内容尽可能避开安全策略。 一个正常的、可信的邮箱地址,给公司员工发邮件,内容再做一些伪装,成功的概率会提高很多,哪怕有一份钓鱼成功、获取了个人密码,那么再用这个地址给内部所有员工群发,基本畅行无阻。是植入病毒,还是骗取钱财,亦或是拿下权限,只是时间问题了。

二、邮件安全建设

如何去构建防御体系,让狡猾的邮件攻击者没有可趁之机呢?以笔者从业经验来看,大致有四个环节:

安全设备 - 暴露面收缩和安全配置 - 数据驱动的安全运营 - 安全意识培训。

其中安全设备是第一道硬门,由于设备大多数是采购的,好坏依赖厂商的能力,而安全意识培训是长期的事情。真正可玩又可控、也决定企业安全防御能力高低的,一是暴露面收缩和安全配置,二是是安全运营环节,在基础措施比较薄弱、人员意识水平又不高的情况下,通过数据分析和运营机制,可以有效弥补。

下面分别说说,其中 重点是 数据驱动的安全运营

  1. 安全设备

邮件安全的专用设备一般有网关和沙箱。

(1)邮件安全网关

邮件安全网关通过其反垃圾和反病毒引擎对邮件进行一道过滤,此外邮件网关还会根据发件方的IP和地址信誉进行分析,对SPF、DKIM、DMARC等配置进行监测。

  • SPF:发送方策略框架(Sender Policy Framework),主要是为了防止随意伪造发件人。SPF 是一个记录,它的内容写在DNS的txt类型里面。当接受了一份邮件,接收方会把 发送邮件的服务器 IPSPF 记录内的 IP 地址 进行对比,如果不匹配,则认为是伪造邮件。 spf的记录格式是,CMD中的查询语句: nslookup -q=txt 要查询的地址,比如查询163的SPF:

注意返回中的 v-spf1 include:xxxx -all,xxx 为记录中的发件服务器地址,-all 表示硬拒绝,邮件直接被丢弃或者隔离,~all表示软拒绝,它会标记IP非法,但不采取强硬措施。

  • DKIM:加密邮件验证系统(DomainKeys Identified Mail),它使用私钥将电子邮件加密,并在接受时用公钥进行解密,以验证电子邮件是否由授权服务器生成,且中间没有被篡改。DKIM的工作原理如下图所示:

(网图,来源:https://www.altn.com.cn/5730.html)

  • DMARC:基于域的消息认证,报告和一致性(Domain-based Message Authentication, Reporting and Conformance),是一种邮件认证协议。它是根据SPF或DKIM来做验证(所以开启DMARC必须要开启SPF或DKIM),验证策略为:SPF 的 Return-Path 或者 DKIM 的 DKIM-Signature: d= 二者至少需有其一与 From 头对应。DMARC还可以设置当有人仿造了发件地址的时候,将邮件的发送结果发送给指定的邮箱。

(2)沙箱

沙箱是对威胁更深入的分析,它基于机器学习、全文语义、威胁情报、杀毒引擎等对可疑邮件的附件、链接做更加深入的扫描和判断。

(3)流量和主机安全设备

前面两个设备一般是串联在邮件服务器前面的,需要实时对邮件的安全性进行风险决策,这绝对它不能做更丰富、耗时更长的分析。因此,有些公司会对邮件的流量旁路一份下来,结合EDR做多维度更丰富的分析和排查,比如可疑的出站外联捕获,加密通信的应用和主机排查,以及敏感数据的外发等。

2. 安全配置和暴露面收缩

安全设备怼上之后,下面就是完善安全配置,以及尽可能收缩邮件暴露面。

(1)安全配置

这包括前面所说的SPF、DKIM、DMARC设置(有些要依赖邮件系统是否支持),以及发、收行为做安全设置,包括:

关闭匿名发送功能;对登录和收发的频率做限制;网关上的安全规则,在不影响业务的情况下能开启尽量开启,等等。

(2)暴露面收缩

此外,邮件的服务尽可能减少对外暴露,比如web端登录服务、外部通过SMTP、POP3、IMAP直接登录服务。应将关闭这些服务对外的暴露,如果怕影响到业务,可以接入到 VPN 或 零信任 后面。这样,即使攻击者拿到了员工的邮件账号,也没有地方登录。

此外,邮件系统和客户端自身的漏洞也要特别关注。

3. 数据驱动的安全运营

碓完安全设备,开启了检测规则,做完安全配置,也收缩了暴露面,至此,能把大部分威胁邮件过滤掉,也可以避免大规模的沦陷,因为至少给我们这个环节的工作争取了时间——“安全运营”。

但回顾前面的攻击套路,攻击者会先拿下一个正常的企业邮件,通过文本变换、内容混淆、附件加密/加壳/远程加载宏等方式,还是有极可能绕过设备和规则检测。尽管网关和沙箱每天可以帮我们过滤大量的威胁邮件,但只要有一份漏过投递成功,那就超出了我们的控制。

所以安全运营工作的目的就是利用已知的信息,通过数据分析挖掘,找出漏过的威胁邮件,并及时进行处置。

(1)分析环境

安全运营的首先前提,各安全设备上的数据已经经过清洗,接入到了一个运营分析平台,这个平台上可以通过SQL、Python对数据做一些分析。

如果企业内有成熟的日志采集机制、日志分析中心,或者数据中台(至少包括 数据集市+数据分析平台),那么可以直接做分析。如果没有,其实搭建一个分析平台也挺简单。参考:

  • 首先有一个ES,将相关日志发送到ES中(现在的安全设备应该都支持日志的发送),然后在内网找一台服务器搭建 Python 分析环境,与ES网络相通。
  • Python 的 Elasticsearch 库,支持读取ES中一定时间范围内某个索引的数据。在 Python 中可以对数据进行各种处理、清洗、分析、建模,以及可视化展示。
  • 分析完了之后,也再通过 Elasticsearch 库送回 ES 中的专门的索引中,这个索引可以专门存放分析之后的数据,包括一些指标、趋势值、挖掘出来的高危告警等,Kibana 对这个索引可以做一些dashboard或者Canvas展示。
  • 对以上 Python 程序做定时任务,每天处理。 一个简易的 ELK + Python 分析环境搭建的具体指南见 这里

(2)基本分析

包括,

  • 投递量最大的发件地址Top10:快速扫一眼有没有大规模的恶意邮件;
  • 投递量最大的邮件主题Top10,以及每一个主题涉及的发件地址数:看是否有利用大量地址聚集性的攻击;
  • 过去7天威胁邮件趋势:判断近期的攻击趋势;
  • 近期主要风险邮件来源地:判断主要攻击来源;
  • 被投递威胁邮件最多的收件地址:审查被频繁攻击的内部邮件,进行特殊关注和审计;
  • 特殊关注邮件地址的收、发情况:历史上发威胁邮件较多(但又不能封)的邮箱后缀的近期投递情况,以及历史上经常被攻击的或有中招的内部邮箱的近期收件情况;
  • ......

这些基本分析可以直接在kibana里面通过ES SQL写成canvas的表,作为每日风险面板的一部分。

(3)一网打尽——聚类分析挖掘攻击团伙

从 AI 到 信息安全 里面说过,攻击者一个特点是 变,为了不被规则稽核,攻击者对邮件的内容、标题做各种变换,让网关和沙箱认为这不是同一份邮件。

推荐做的一个分析,是 T+1 或者 H+1,对投递成功的邮件进行聚类分析,找出一些批量性、聚集性的恶意邮件,分析流程参考:

  • 分析维度应主要是标题,其他可以加上发件地址后缀
  • 数据是文本格式,需要进行一些NLP处理,包括分词、合并、向量化
  • 选择聚类分析算法,推荐密度聚类的算法(不要用K-means这种方法,需要指定类数),比如 DBSCAN,相似度可以用余弦相似度,然后开始聚类。 DBSCAN+余弦相似度,是简单靠谱的方法,结果也非常好,但问题是性能比较低,如果文本量大,耗时会非常久。此时可以考虑用simhash对文本进行降维量化,然后用 hamming distance 来做相似度,聚类还是用DBSCAN。

一个真实的聚类结果如下,因为相似性,这些主题的邮件被聚在了一起。

一个真实的邮件主题聚类结果

实战中,被聚出来的类会非常的多,而且绝大部分是正常的邮件,为了加快人工研判的效率,快速找出异常的类簇,可以结合一些统计指标。比如:

类簇中发件地址历史上被拦截的次数、历史上被判断为风险邮件的数量、涉及的发件地址数等。这些可以帮助判断这个类中邮件的威胁性。

(4)顺藤摸瓜——用黑标签传播出隐藏的坏人

另一个找出漏过的威胁邮件的思路,是充分利用已知的威胁邮件,给他们打上恶意的标签,然后用恶意邮件的发件地址、发件地址域名、发件IP、主题等作为介质,关联出这些介质的其他邮件,重点是已经投递成功的邮件。

一个方法是简单的关联分析,通过 SQL 不断的用去 join,但是简单关联容易把很多正常邮件关联进来,比如攻击者喜欢用的某邮箱后缀 @xxxx,可能正常人也经常用。

另外还可以考虑基于图的 标签传播算法 LPA(Label Propagation Algorithm),它从已知标签出发,通过一些介质和设定的权重,按照一定算法去不断传播、关联,直到形成一个比较合理的群组。

它的好处是不是简单粗暴的join,而是按照一定的策略去传播,所得到的群组更加自然合理。

在邮件安全这个场景,可以用的算法和模型很多,因为 ① 它有足够的训练样本,② 有丰富的多维变量(发件地址、域名、IP、时间行为、文本等),③ 也有上游的网关和沙箱给我们输送黑白标签。因此我们可以还可以用有监督的深度学习去,用基于图的最大连通图挖掘、Fast Unfolding等。

上面的聚类、最大连通图挖掘、标签传播算法,是笔者在邮件安全或相似场景使用过,效果不错的方法。

(5)专家运营和协同处置

以上分析结果,可以汇总在一个面板中,比如kibana 或者 grafana,安全运营人员根据每日面板的高危推送,来进行跟进处理。参照以上分析,一个丰富的运营面板大概是这样的:

对于研判为漏过的威胁邮件,需要及时与邮件管理员进行联动,对尚未读取的邮件进行撤回。如果员工已经读取威胁邮件,则要第一时间与其联系,询问是否打开链接、附件,是否有异常,对有进一步高危操作的员工,应该及时进行杀毒、隔离、改密。

按照以上流程,可以以较快时效、较广覆盖的发现漏过的风险邮件,大部分可以在第一时间,未读的状态下及时处理掉。

4. 安全管理:制度、意识培训和钓鱼邮件演练

在前面“暴露面收缩”中,其实漏了一个最大的暴露面,那就是——人。人始终是最大的不确定项,因此,除了设备、系统的安全管理、数据的安全运营外,还需要搭配安全管理手段。

(1)制度

安全的相关制度应该不断完善,这使得后续的安全管理手段“师出有名”。

(2)培训

应该组织定期的和专项的安全意识培训。定期的通过邮件、内部公众号进行持续宣贯;专项的可以在国家安全宣传周、保密周、重保前期等进行专题宣贯,并且要在新人培训、关键岗位人员的培训中,嵌入安全意识培训。

(3)钓鱼邮件演练

没有什么比真正中过一次招更能加深印象的了,因此企业应该定期组织钓鱼邮件演练。搭配不同的主题、套路。有预算的可以选用专门的厂商,做更加定制化、更加逼真的钓鱼模拟,预算紧张也可以直接用GoFish开源钓鱼框架。

对钓鱼的结果,应该做好分析,对中招的同事进行针对性的强化培训,而且进行多轮次的培训,对结果进行追踪。

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-10,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 数说工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com