1 前言
伴随着网络威胁的不断演变,威胁狩猎(Threat Hunting)逐渐成为了网络安全行业中的热门话题。最初,威胁狩猎是由一些安全从业人员在实践中总结出来的一种安全工作方式,安全人员逐渐认识到传统的防御手段在发现攻击行为的时长上存在较长的滞后性。FireEye发布的《M-Trends 2022 Reports》中,表明攻击者隐藏或者驻留时间的中位数由2019年的56天减短到2020年的24天、2021年的21天,驻留时间的减短的原因主要是外部监管机构、安全厂商能够第一时间发布漏洞安全风险通告、安全事件预警通告,使组织能够尽早地排查并采取应对措施。而在内部发现的事件中,驻留时间中位数从2020年的12天延长到2021年的18天,这意味着组织威胁检测的速度有所下降,攻击者能够驻留更长的时间。
图1:Global Median Dwell Time,2011-2021
历经数年的国家级、地方级网络攻防对抗,国内越来越多的机构开始围绕威胁狩猎打造实战化水平的网络安全能力,威胁狩猎是指主动寻找组织内部的潜在威胁或已经发生的入侵活动,依赖于威胁情报、XDR等技术手段和人的知识经验,通过已知的攻击行为或异常,发现0day、APT、勒索病毒等攻击,在安全措施产生告警前发现攻击者,缩短攻击者在组织环境内的驻留时间。
图2:威胁狩猎最佳时间
当前,业界在开展威胁狩猎的过程中存在一些误区,威胁情报分析、安全措施是威胁狩猎中的技术支撑,攻击溯源、调查取证等是事后响应安全事件的过程,不是威胁狩猎主要的应用场景。本文将探讨如何在攻防对抗中利用威胁狩猎减少发现攻击者踪迹所需的时间,降低事件响应的时间,降低其对组织造成的影响。
===
**
**
2013年FireEye的安全专家David Bianco首次提出痛苦金字塔模型(Pyramid of Pain),TTP(Tactics,Techniques, and Procedures)处于痛苦金字塔塔尖,对于攻击者,TTP反映了攻击者的行为习惯,表明攻击者调整TTP所付出的时间和金钱成本昂贵。而对于防守来说,基于TTP的检测和响应可以给攻击者造成更大的痛苦。在威胁狩猎中,通过分析已知的攻击TTP,可以提高对潜在攻击的识别和检测能力,从而加强对攻击者的主动防御。通过持续的TTP分析,可以不断完善和更新组织的安全策略和防御措施,以适应不断变化的威胁环境。此外,通过将TTP与威胁情报相结合,可以更好地了解不同攻击者的特征和习惯,从而更好地预测和预防未来的攻击。
图3:痛苦金字塔模型
MITRE是美国政府资助的一家研究机构,在2013年推出了ATT&CK模型,它是根据真实的观察数据来描述和分类对抗行为。ATT&CK将已知的攻击者行为转换为结构化列表并汇总成战术和技术。此列表全面地呈现了攻击者在攻击网络时所采用的行为,因此在威胁狩猎的工作开展中非常重要。
图4:ATT&CK v12
ATT&CK 模型基础元素包含了五大对象:攻击者组织、软件、技术/子技术、战术和缓解措施。每一个对象都在一定程度上与其他对象有关,如图5所示。在模型中,战术回答了攻击者想要实现的目标;技术或子技术展示了攻击者实际的攻击方式以及目标如何实现;至于程序,框架解决的是威胁行为者与攻击组织为达到目标所使用技术的特定应用。此外,ATT&CK框架也涵盖了威胁检测与处置建议,以及攻击中使用的软件。
图5:ATT&CK中的对象关系
基于以上,ATT&CK框架适用于威胁狩猎的理论支撑。2022年10月发布的最新的ATT&CK v12 for Enterprise中包含14项战术、193项技术、401项子技术、135个APT组织、718个恶意软件。
结合ATT&CK模型,MITRE发布了基于TTP 的威胁狩猎方法,该方法有两个组件:恶意行为特征与威胁狩猎执行。这些组件应是基于关于对手和网络地形的新的信息而持续更新、持续进行的活动。相关的行为有3 个层级,聚焦在恶意行为、分析流程和数据处理。
图6:基于TTP 的威胁狩猎模型
恶意行为特征从开发或者更新由一个攻击者可能使用所有的TTP行为所构建的数据模型开始——不区分哪个对手组织、什么环境与目标网络。对于在模型中已识别的每一个TTP,分析师都要提出一个或者多个用于制定抽象分析的检测假设。这些假设和抽象分析被用于决定什么数据是必要收集的。对于每个威胁狩猎操作,威胁狩猎团队应该过滤这些数据采集需求并且基于特定威胁狩猎的地形与环境开展分析。
执行采用已经过滤的数据需求和数据模型来指导在环境中探针和数据源的差距。为了弥补已发现的差距,如果必要则在这个阶段需要部署额外的探针(基于网络或者主机)。一旦探针所采集的数据进入到分析系统,分析师在分析系统中利用数据模型执行分析。威胁狩猎团队则通过选择特定的与恶意行为强相关的分析执行威胁狩猎,尝试并获得一个初步的检测。在初步检测之后,通过调整分析、可疑分类和事件关联积极识别对手是否存在。
**
**
威胁狩猎是一项人机结合的工作,威胁狩猎成功的前提是数据和视野足够全面,主要涉及以下关键数据的覆盖:
(1)主机/终端数据全面可视化
后渗透阶段的攻击行为大部分都集中在终端/主机侧,主机侧需要具备HIDS类安全措施,终端侧需要具备EDR类安全措施。通过上述安全措施,采集终端/主机上的进程启动日志、账号操作日志、文件操作日志、注册表变化日志、DNS请求日志等。
(2)网络数据全面可视化
除了需要终端/主机可视化之外,关键跨区域的流量采集也是至关重要,有时入侵的第一个迹象是来自已经失陷终端的命令和控制(C&C)网络流量,网络侧需要具备NDR、全流量威胁检测类安全措施,识别并还原网络流量,采集web访问、域名解析、SQL访问记录、邮件行为、登录情况、文件传输、FTP控制通道等行为。
(3)威胁情报信息
威胁情报会告知分析人员攻击者针对其它组织机构所采用最新攻击工具和技术,以及相关IP范围。常见的威胁情报信息包含以下几类:
失陷情报:有关攻击者的远程命令与控制服务器情报,用以发现内部被APT组织、僵尸网络、木马软件、后门工具等控制的失陷主机;
文件信誉:以文件的HASH为索引,包括是否是白文件、是否恶意、恶意类型、家族信息等信息,针对已知木马、蠕虫类恶意软件,提供期对应的网络IOC信息;
IP情报:针对来自互联网攻击IP地址的情报信息,包括是否有历史攻击行为、是否是IDC主机、是否是傀儡主机、是否是代理或Tor网主机、是否可能是扫描机器人等;
漏洞情报:包括定级信息、主流漏洞库的基础信息、PoC信息等;
TTP情报:包含pDNS数据、Whois数据、开源情报数据、恶意软件及攻击者档案等。
(4)数据关联和分析工具
由于威胁数据来自不同的安全措施、设备,分析人员需要能够执行事件关联分析工具,辅助其理解环境中发生的事情,需要具备态势感知、XDR类的安全措施。
===
===
**
**
以下为奇安信从实战经验中总结出来的基于TTP开展威胁狩猎的核心动作:
(1)关注攻击者在后渗透阶段的操作
通过ATT&CK 框架的实战数据统计分析,发现、防御绕过、提权、命令与控制、持久化是展示前5的常用技战术,而在5 中技战术中,涉及到的具体的技术有26个占比高达90%。具体的可以关注如下信息:
发现战术中的net、ifconfig、systeminfo、history、whoami 等命令执行
凭证访问战术中的mimikatz、passdump 等工具的执行;
提权战术中的su、powershell、AuthorizationExecuteWi威胁狩猎平台rivileges API的调用;
………
(2)攻击行为映射与关联
基于ATT&CK 定义的14 类技战术,400+种攻击技术,检测上述数据的行为,形成内网的ATT&CK 攻击映射图。并结合常见的攻击者TTP(例如APT28、APT30),把这些攻击行为按照时间顺序以及可能相关的要素(相同攻击IP、相同的操作用户),通过数据分析分析出前置攻击点和后置攻击点,这样对一个攻击行为形成内网全局的攻击树。
图7:基于TTP 的威胁狩猎分析
(3)事件拓线
利用单一事件的有关因素,例如事件的攻击源、受害目标、用户、事件、攻击手段、进程等维度对其进行全网的事件感知,形成一个可调查的攻击链条。例如围绕用户这个维度,查看在这个时间前后,该用户在全网登录/访问了哪些设备/系统,进行了什么操作。基本拓线主要涉及到四个方面:
行为:一个攻击者在网络中的行为
态势感知:找出在特定时间范围内,整个网络中都发生了什么
异常:分析出网络中的异常点,例如一个僵尸账号突然活动了
取证:对具体的异常/攻击行为的数据调查
(4)人工研判
通过攻击树,分析专家可以找出内网攻击行为的最初始的攻击点,并结合攻击点设备上的操作系统日志、web 中间件日志以及应用系统访问日志和攻击的上下文信息,以及访问的流量payload 来来确定初始攻击点的攻击方法。判断是否是一个0Day 漏洞的攻击行为。
经验总结:在威胁狩猎过程中必须有高级专家的参与,并且通过收集的信息,要多反复的提出疑问?以资产上已运行的进程和服务完整的可执行的路径为例子,通过这些信息,我们要形成标准的疑问排查列表,关于可执行文件的疑问一般包括:
这个可执行文件应该在这个机器上运行吗?它的完整路径看上去合理么?例如,可执行文件运行在合适的系统或者应用目录下么?
哪个用户执行的这个文件?用户运行这个程序合理么?
可执行文件是通过命令行程序中执行并运行的么?如果是,命令行的参数是什么?
运行的进程或者服务代码是以文件形式存在并保存在资产磁盘上么?如果不是,为什么没有这个文件存在?(这不是一个典型的良性行为)。
如果代码是以文件形式存在,文件的Hash 与软件提供者提供文件hash匹配么?这个文件存在其他资产上么?是和预期的位置相同么?它和其他机器上的文件具有相同的Hash 么?
运行的进程和服务捆绑了哪些网络连接?对于每个连接,必须注意两端使用的IP 地址和端口。
进程环境块指示的所有已加载模块(可执行文件和DLL)和特定进程或服务的导入表是否匹配?
与进程或者服务有关的所有注册表的位置是正确么?
所有打开的文件句柄(进程或服务正在读取和/或写入的文件)都有合理的吗?
===
**
**
**
**
本文讨论的是威胁狩猎在安全运营工作中开展的关键要素,有助于发现更多的隐藏的攻击行为,为后续APT攻击对抗、0Day 攻击对抗提供了一种思路和方法。这种方法目前看还有有待完善的地方,在应用的过程中需要很多前置条件,例如需要足够多的支撑分析的数据源、经验丰富的攻防专家。奇安信将持续在AI、机器学习等方面进一步研究,后续在威胁狩猎的自动化建模做的将更深入。
作者介绍
王彤,奇安信证券行业专家,拥有丰富的规划咨询、体系建设、标准编制经验,助力多家证券、基金、期货机构开展安全规划建设。
关于 安全村文集·证券行业专刊
证券行业自身低时延的业务要求以及业务中断的敏感性给安全防护带来了很大的挑战。专刊汇集了证券基金期货行业网络安全防护的最新经验、成果和解决方案,为大家分享一线安全规划、运营、建设的心得和实践经验。
关于 安全村
安全村始终致力于为安全人服务,通过博客、文集、专刊、沙龙等形态,交流最新的技术和资讯,增强互动与合作,与行业人员共同建设协同生态。
投稿邮箱:info@sec-un.org