情报内生:高级威胁检测实践的必要条件
情报内生:高级威胁检测实践的必要条件
威胁情报是发现网络威胁的有效手段。
Ø 针对流行的恶意代码和攻击,主要依赖基于互联网流量和样本数据生成的威胁情报。
Ø 针对具有高度定向性与针对性的高级威胁,则严重依赖于攻击目标自身的本地化数据与判断能力。
因此,基于内部信息化和业务系统实现“情报内生”,构建内生安全能力,成为实现和提升高级威胁检测的必要条件。
威胁情报的有效性已得到高度认同
2019年初,美国安全研究机构SANS发布的《威胁情报的演进:2019应用调研报告》显示: 81%的受访者认为威胁情报改善了企业的安全检测与响应能力。这与前一年的60%相比有大幅的增长,这证明威胁情报的有效性得到高度认同。
SANS发布的问卷调查,还对目前威胁情报的生产分布情况做了统计:
根据这份调查,威胁情报生产者和消费者的比例对比中,消费者占大头,平均50-60%;既是生产者又是消费者的占了40%,这个比例比想像的要高。
国内应该以消费者占绝对大头。这并不是说国内机构的安全团队得不到基于自身数据和分析的威胁情报,而是大多还没有进行体系化地管理和分享。
最受欢迎的两类威胁情报:IOC和TTP
我们认为,从获取的难度和稳定性看,狭义的威胁情报有比较明晰的分层结构。由此,奇安信提出了威胁情报的金字塔模型,包括文件样本、主机特征、事件特征、组织和人员等信息。
具体哪些类型的情报最受欢迎呢?
不出意料,IOC最受欢迎。IOC对应威胁情报金字塔最下面的两层。IOC排第一的原因很简单:IOC中的“C”(Compromise)在信息安全的语境下就是”已失陷”的意思,一旦匹配,意味着相关的资产已经被控制,凸显出现实而紧迫的危险,带来第一优先级的处置需求。在卡巴斯基公司发布的事件响应手册中,IOC成为触发安全响应的最核心来源,没有之一。
排第二位的是攻击对手的TTP信息。这是比IOC要稳定得多的信息类型。“未知攻,焉知防”:了解对手的手法是指导安全防护的基础。
从趋势来看,TTP类的情报受欢迎程度将会持续提高,将来,主动防御的进阶,很可能让TTP的重要性超过IOC。这一变化的动因,在于威胁情报用户会越来越趋向于防护措施前置:了解出现了哪些新漏洞,有没有相关的设备受影响以及时打上补丁,在攻击利用其导致现实风险前就消除威胁;依据TTP的指导进行攻方假设,进行主动的威胁狩猎。
目前非常热门的ATTtext-align:left">1. 隔离网环境
隔离网中的系统都无法直接连接到互联网,包括威胁情报在内的安全数据只能通过U盘、单向网闸、光盘塔之类单向导入设施进入到网络。
2. 半开放环境
网络里的终端不能直接连接到云端,但能连接在本地网络部署的带有威胁情报分发能力的集中管控平台,平台可以接收来自终端的NDR或EDR数据并连接在互联网云端的情报中心。
3. 互联网环境
网络内的终端可以直接连接互联网端的威胁情报中心,查询安全信息或上传主机活动数据以供云端判定。
以上3种部署方式在奇安信的客户中大致各占三分之一。作为大多数APT攻击主要目标,大型政企机构多采用隔离网或半开放部署方式,原因非常简单:窃密为APT攻击的主要目的之一,攻击者看重的东西也是防守方所看重的,采用一定程度隔离网络环境几乎是必然的选择。这类封闭或半封闭的部署方式使网络与主机活动的原始信息局限于组织内部,外部的安全厂商无法在云端进行集中化的分析和关联。
安全厂商能力下沉是必然解决方案
高级威胁的高度定向性,以及攻击目标的网络封闭性,导致基于安全厂商侧的云从外部对检测的数据进行威胁分析,形成了典型的悖论:难以方便获取分析对象的数据。
这一问题的解决方案显而易见:把安全厂商在云端的安全能力,包括工具平台、基础数据、运营流程和分析人员下沉到客户侧,实现基于本地数据的威胁判定和情报管理。
必要组件及流程架构
一个简化的解决方案架构如下:
这里包含了几个核心组件:
Ø 数据传感器
负责事实元数据的采集,简单分只有2类:基于网络的和基于主机的信息采集器。网络采集器本身并不一定需要有判定能力,最主要的任务在于从流量中还原网络活动的元数据,比如奇安信天眼高级威胁发现产品的探针就具备强大的元数据提取能力:
l 完全的TCP会话记录(会话5元组、开始结束时间、状态等,甚至包括会话来回方向的各前100字节数据 )
l 邮件数据
l 上传下载文件
l DNS解析记录
l URL访问记录
l ……
基于主机的数据采集主要来源于EDR类的软件,主机是所有事件的真相之源,有非常多的信息可以收集,比如进程类、文件类、注册表活动、网络活动、系统服务等等,信息的收集需要平衡对主机性能及网络带宽的影响和攻击手法的覆盖度。
基于奇安信多年的威胁分析经验,我们可以很有把握地说:未来的安全分析必然是一个元数据为王的时代,必须有完整的历史数据记录和查询支持能力,这样才可能为支持事件回溯提供可靠的基础,还原出攻击活动的全过程并提取威胁情报。
Ø 威胁情报管理平台
负责威胁情报的整合、管理和共享,可以云端单向接收外部输入的威胁信息和其他辅助判定的安全数据(比如白名单),支持多源威胁情报的融合,自有威胁信息的私有化管理,为SOC/SIEM类平台提供威胁情报的查询接口。
Ø 高级威胁检测过滤系统
基于本地采集的事实元数据,结合安全厂商下沉到客户侧的平台、流程和人员,使用规则或模型进行批量化的文件或流量处理,过滤掉已知白的和已知黑的对象,匹配高级威胁特征,输出待人工确认的对象到内部的运营平台,整体架构接下来有较详细的描述。
Ø 安全运营中心
整体威胁处置的核心,可以基于威胁情报和资产生成告警,发工单做人工处置或配合现在火得要死的自动化编排系统执行威胁响应。
Ø 威胁分析团队
经验丰富的威胁分析人员,对于高级威胁的分析判定来说必不可少,是实现分析闭环的最终仲裁者。攻防的不对等体现在两方面:一是全面布防VS单点突破;二是对抗上的敌暗我明,比如传统的病毒查杀方案,有耐心的攻击者通过反复尝试,几乎总能找到绕过的方法。所以,通用安全防护的失效是个基本假设,特别是针对高级威胁,检测判定的关注重点应该落在攻击链的更多环节上,最终导向人与人对抗。
整体的流程是:
i. 数据传感器采集主机和网络上的事件元数据,输入到高级威胁检测过滤系统
ii. 经过自动化处理,打上相关标签
iii. 分析团队基于标签的可靠度、稀有度、威胁高低依据优先级人工确认
iv. 对确认的对象进一步挖掘信息,输出相应的信息到威胁情报系统管理系统(TIP)
v. 安全运营中心从TIP获取威胁情报进行搜索匹配,发现更多受影响系统并处置
构建高级威胁检测过滤系统
构建这个系统,需要根据所能接收到的数据源进行不同的检测,最基本的类型是文件和流量。
这里我们介绍奇安信对于文件对象进行分析以检测APT攻击的逻辑架构,其简化的模型如下:
这个架构图看起来有点复杂,大家只需关注每个组成部分的输入和输出即可。大层次主要分为3个组成部分:
1) 下层的核心能力与技术,基本上由一堆引擎或分析器构成;
2) 中间的知识库,也可以称为数据集,它们包含的数据会被下层的引擎所用,同时也会接收引擎的产出;
3) 上层的业务应用,可以是APT组织的分析和相关信息的管理运营系统,也可以是其他的恶意代码相关的业务系统,由打包后的知识库与核心能力技术提供支持。其中的某些组件有必要说明一下:
Ø 白名单
包括白的样本、IP、域名等各种已经非恶意的数据,绝大部分IOC数据本质上是一个黑名单,白名单则与之相对,可以被用来快速过滤无需处理的对象或抑制误报。白名单的生产所需要资源和投入可能并不少于构建黑名单,并且需要多源采集与分析。事实上,白名单与黑名单一样构成安全厂商的核心竞争力所在,对于客户侧的威胁检测系统白名单,部分需要从外部输入,部分来自己客户内部。
Ø 威胁信息库
包括开源采集的或商业渠道获得的部分已知黑的信息,可以来自云端的推送,存储于威胁情报平台中,主要用于快速过滤已知的黑对象。
Ø 文件元数据
文件相应的静态属性和动态行为信息的**,它有各种可能的来源:采集的开源数据、文件深度解析引擎的输出、多病毒引擎扫描的判定结果、沙箱运行得到的网络活动信息等。这些数据是后续规则匹配和机器学习模型构建的操作对象,高级威胁分析的数据基础。
Ø 规则库
这是广义的规则集,包括用于文件特征匹配的识别规则、用于沙箱动态行为匹配进行恶意性判定的规则以及用于SIEM的事件关联抽象规则等。现在有些安全咨询机构鼓吹所谓的无规则检测机制,在这里我想稍稍泼点冷水:从目前到可预见的将来,基于规则的检测都会是处理造成绝大部分实际损失的已知安全威胁的最有效手段,它作为当前安全检测的核心与基石,其地位短期内还无法动摇。在我们的高级威胁检测系统中,规则用来识别已知的威胁加以过滤,放宽条件的规则可以用来发现异常并提交到分析人员处做持续运营。
Ø 模型库
机器学习在某些场景下是个有效的工具,在我们高级威胁发现的场景中主要用于APT相关样本的分类和聚类。我们基于文件的元数据实现了一个样本分类聚类的引擎,构建了一些模型,以不高的准确度输出APT样本的分类结果。这里的关键点在于,在特定数量的样本输入前提下,我们的模型是不是可以输出绝对数量够少的待人工确认条目数。如果每天的输出能控制在百级,哪怕其中只有50%的准确度,在保证日清的运营能力下这个输出就很有价值。
Ø 文件元数据解析引擎
我们对文件特别是非PE类型实现了纯静态深度文件解析元数据提取引擎,这些元数据会被规则和模型用于分类,深到什么程度呢?举一个例子,对于Excel文件,我们会提取其中的宏代码;对于Word文件,我们会提取各个子流中的数据。除了信息提取,这个解析引擎还会基于静态特征识别各种经常被APT攻击使用的非PE文档的漏洞利用,输出相应的标签。
Ø 静态多引擎对照扫描
多个病毒检测引擎扫描集群,用于海量样本的高速初始判定,输出结果用于快速的已知恶意代码过滤,在我们的分析目标场景中,多引擎扫描的用途不在于判黑,而在于滤已知的黑。
Ø 高对抗沙箱
高级威胁发现系统里的沙箱不是判定角色,而是主要起到信息采集的作用,它的主要使命是尽可能地跑出样本的各种行为出来,这些信息会与样本的静态元数据集中存储,用来后续的关联分析。沙箱也是需要持续维护的组件,分析某些新样本为什么在沙箱中跑不起来,是执行环境因素还是恶意代码升级了对抗手段,需要有人分析清楚原因并增加对应的反对抗措施,如果触发恶意行为需要特定交互,则分析人员需要开发相应的智能交互机制。
此高级威胁检测过滤系统接收文件输入,最终输出以标签形式体现的对文件某些特征的标签。
一个已实现的系统
遵循上述的逻辑架构,我们实现了处理邮件及其附件的高级威胁运营系统,实际的架构如下:
我们部署在某些客户处的简化系统,已经发现了多起基于邮件的定向攻击活动线索。整个系统的输入是邮件及相应的附件文件,系统分析处理以后输出邮件及文件的标签信息到运营平台,待人工确认,以下为运营平台的命中标签统计页面:
目前系统支持上百种各类的标签,标记各种可疑行为和数据,分别来自静态、动态及机器学习分类。系统目前在万级的文件输入情况下,大致产生百级的带标签的可疑样本输出。
高级威胁检测实战成果
基于同源分析的可疑样本
疑似Lazarus团伙来源的样本,使用了HWP软件格式漏洞,系统识别了漏洞利用,并通过同源系统给出一定置信度的团伙归属和人工确认。另一个为利用了CVE-2018-0798漏洞的样本,基于机器学习的同源聚类给出了很高置信度的Bitter团伙归属,最后人工确认。
Word格式的样本,包含了恶意的宏代码,同源分析归属到OilRig团伙。
Word格式的样本,包含了Office DDE技术的恶意代码执行,同源分析归属到了APT28团伙。
带恶意宏代码的Word格式攻击样本,同源系统归属到Cobalt Group团伙,一个以金融系统ATM为目标的网络犯罪组织。
我们构建的标签同源系统,非常有效地识别了大量的APT组织样本。为了与国内外安全业界共享我们的发现,我们创建了一个叫APT_Digital_Weapon的Github项目,展示APT组织相关的文件样本信息,收集了超过150个APT团伙或Campaign的超过2万个样本的Hash。如果有VirusTotal的权限,可以直接下载到那些样本本身。
这个项目很受欢迎,目前超过300Star,有兴趣研究的可以访问URL:https://github.com/RedDrip7/APT_Digital_Weapon 。
基于规则的邮件识别
近期,奇安信威胁情报中心红雨滴团队公布了高级威胁组织“虎木槿”的攻击活动,这一东北亚来源的攻击组织利用了0day级别的浏览器漏洞,攻击线索的发现也源于高级威胁检测过滤系统。
我们目击到的邮件是这样的:
基于对钓鱼邮件APT攻击的了解,我们预设了一些可疑特征的规则:
此邮件命中了部分规则导致了此邮件被打上了某些标签:
标签指示分析人员在邮件中发现了带可疑的URL重定向,在链接中发现了可疑的中文,人工确认发现邮件中链接导向的浏览器漏洞利用的攻击。成功地发现这类攻击完全取决于我们对攻击来源的手法也就是TTP细节的深入了解,利用规则设置相应的Check Point来捕获需要人工介入的样本,从这个角度看,目前ATT&CK矩阵所提供的手法信息过于粗糙,还有极大的提升空间,需要开源社区的共同努力贡献细节才能让ATT&CK发挥更大的指导作用。
参考资料
关于作者:
汪列军:奇安信威胁情报中心负责人、虎符智库专家。