导语:威胁狩猎的目的是缩短入侵发现的时间,它的价值在于你只需要花费数千美元进行补救而不是花费数百万美元来事后公关处理。
0x00 威胁狩猎大纲
威胁狩猎的目的是缩短入侵发现的时间,它的价值在于你只需要花费数千美元进行补救而不是花费数百万美元来事后公关处理。然而,许多组织仍然没有专业的hunting Team。 有证据显示38%的入侵行为是由第三方或外部实体曝光而不是由受害组织自己发现。为了降低这个数字,降低安全开销,我们必须假设入侵行为已经发生,并且在发生损害之前寻找证据。
一些人认为,威胁搜索可以从威胁情报源中搜索已知指标(IoCs),但是,尽管如此,但这只是在后视镜看到前方的危险,例如,从过去的十年中搜索您所在组织的所有远程访问工具(RAT)并不是threat hunting。 但是,您可以通过查找整个企业系统上可能的持久性位置并测量某些项目和证书签名者在其中出现的频率来发现恶意活动。也就是说在SRC发现问题之前,hunting Team要找到入侵路径。
起初threat hunting忽悠的成分比较多,今天我们从以下几个方面探讨,转换我们大脑中固有的认知:
·如何建立hunting Team,回顾了threat hunting的基本概念,猎取团队所需的知识和经验,以及团队寻找的行为类型。
·讨论威胁建模框架,狩猎结构的步骤以及评估狩猎效率和功效的指标。
0x01 什么是Hunting
大多数IT安全活动都是被动的。 他们专注于实施检测攻击者行为的安全控制措施,然后在企业网络上识别出威胁指标时进行响应。 这是安全的核心要素。 然而,这也是一种基本的防御方式,为复杂的对手留出空间,让他们在网络上“隐瞒”数周,数月甚至数年的时间:充足的时间查找和窃取有价值的数据,或中断业务运营
相比之下,威胁搜索是保护组织系统的主动方法。 这是在企业网络内积极寻找恶意活动的迹象的过程,而不需要事先了解这些迹象。 它允许您在没有签名或已知妥协迹象(IOC)的情况下发现网络上的威胁。
threat hunting的主要目标是减少停留时间。 通过尽早找到防御的方案,您可以在攻击者完成目标之前从系统和网络中删除恶意活动。 通过在入侵早期检测对手,组织还可以降低范围和补救的工作量,从而大幅度降低防御成本。
0x02 hunting Team组成
·事件管理员 – 一位技术人员,了解每种威胁如何使业务面临风险,并有权指导团队调查并解决恶意活动的迹象。
·响应分析师 – 一个可以分析来自一个或多个来源的数据,然后记录和传达调查结果的人
·恶意软件分析师 – 可以使用自动化恶意软件分析工具来理解和反向处理恶意软件样本的人员,以及可以为响应分析师生成解码器和其他实用程序的人员
·运营人员 – 具有系统和网络管理知识,应用程序开发和其他IT功能的人员
0x03 Hunting Team需要寻找什么
Hunting Team寻找的不是安全操作中心(SOC)中的发现的已知的恶意软件样本以及已知的IOC威胁指标。Hunting Team需要专注于揭露攻击者技术和活动的行为和其他证据。
我们并不是说你的安全团队应该忽略诸如文件哈希,IP地址和DNS记录之类的“已知不良”指标。 相反,安全团队应该创建自动搜索和查询它们。 自动匹配可以释放您最宝贵的资产:人力资源。 将这个匹配过程的结果视为警报,对它们进行分类,并将这些发现作为threat hunting的输入。
作为一种惯例,hunting Team的成员应该研究攻击者的攻击工具,技术和攻击流程(TTP)。
大多数组织都是针对不止一种对手的。 具有金融动机的攻击者,有黑客行为主义者,还有国家资助的专业团队。 研究所有可能瞄准你企业的人。 请记住,对手的防守方式不受限制,有些个体会使用在多个威胁分类中进行攻击。
大多数组织都是针对不止一种对手。 具有金融动机的攻击者,“黑客行为主义者”和国家资助的黑客团队。 研究所有可能瞄准你企业的人。 请记住,对手的防守方式不受限制,使用不止一种威胁分类攻击。
入侵行为指标
随着攻击者与环境的交互,他们的行为会产生可用于识别入侵的痕迹。 这些痕迹有几种,包括但不限于:
·Filesystem metadata
·Network metadata (such as NetFlow and DNS que- ries and responses)
·Application data and metadata
·User and authentication records
例如,如果攻击者正在使用Microsoft Internet信息服务(IIS)的Internet服务器应用程序编程接口(ISAPI)筛选器来持久保留网络服务器上的恶意软件,则可能会生成:
·One or more malicious files
·Modifications to the IIS configuration file
·User session artifacts in the registry and filesystem
·Authentication from remote access attempts
即使攻击者采取了很少的行动,如果您收集正确的数据并定期对其进行检查,那么这些行为也会留下可追踪的痕迹。
大多数攻击者,就像间谍一样,为了实现他们的目标,必须遵循几个通用流程。 如果你知道这些通用流程,攻击者可以查找到这些活动的痕迹。
·访问受害者环境
·创建并维护外部攻击者与内部系统控制下的软件之间的命令和控制(C2)通信
·获得并利用额外的权限
·进行网络和主机的侦察
·识别数据,应用程序和感兴趣的系统
·访问一个或多个系统
·收集或销毁敏感数据
·获取数据或以其他方式实现目标
在入侵特征中还有一些更高级的攻击特征包括:
·结合多种离散的技术
·发生相对密集的时间段
·包括良性和恶意可执行文件
·获取并利用某种类型的特权访问
·涉及一个或多个端点
·更改端点文件系统的内容
0x04 分类未知威胁
1.流行度
你可以通过测量它们在环境中发生的频率,来分类普通事件和攻击事件。
复杂的攻击通常只会影响网络上相对很少数量的系统。因此,稀缺的事件比那些比较流行的事件更有可能是恶意的。
例如,假设您在85%的Windows系统上找到以前未知的二进制文件。这几乎是肯定的良性软件。攻击者不可能在如此高比例的系统上安装恶意软件。另一方面,2%的Windows系统上的未知二进制文件可能是成功的钓鱼攻击活动的结果。作为指导原则,低流行率比高流行率更可疑。
在数百个系统上发生大规模暴发疫情的案例很少。 但是,这些规则的例外通常很明显,例如勒索软件。
2.远近程度
分析师可以通过将事件和工单分组到最新和最老的人进行判断。由于您需要担心的攻击大多数仍在继续,最近发生的攻击比较老的攻击更可能是恶意攻击。
例如,三天前出现在端点上的未知二进制文件比三年前安装的未知二进制文件更可能代表是正在进行的威胁。 同样,两年前没有更改的注册表设置比两天前更改的注册表设置更不可靠
3.行为模式
有很多行为在单独考虑的时候是无害的,但是连接到一起就形成了恶意行为
例如,网络上的端点始终与Internet上的服务器建立连接。 但是,当端点定期与未知服务器建立连接时,恶意软件可能会向攻击者控制的服务器回连。同样,登录每天都会成功并失败,但来自无效或禁用用户帐户的登录是可疑的。
4.异常行为
偏离标准行为可以帮助您分类未知威胁事件,值得调查的偏差类型包括:
·不寻常的数量和频率(在24小时内将10GB上传到外部网站;从一个端点每分钟尝试20次登录尝试失败)
·与标准配置的偏差(可执行文件未出现在黄金映像上;新创建的系统与环境中存在几个月的系统之间的注册表项差异)
·偏离惯例(不遵循组织命名约定的主机名和文件名)
寻找异常情况的其他地方包括:
·Run and RunOnce keys
·Windows services
·Image file execution options
·Application debuggers
·Registered COM servers
0x05 建立环境基线
在你的团队开始寻找异常行为和异常模式威胁之前,需要建立对环境的认识,确定预期的活动并创建基线。 你需要找到这样的问题的答案:
·我们的系统管理员如何与服务器交互以及从哪里进行交互?
·哪些帐户拥有特权组,哪些帐户是特权组的成员?
·这种环境中常用的远程执行工具是什么?
·哪些UserAgent字符串在这里很常见?
·哪里是最敏感的数据存储,以及用户如何正常访问数据?
·服务器到工作站,服务器到浏览器和工作站到服务器的横向移动的典型级别是什么?
0x06 结构化威胁狩猎
尽管你可以在这里和那里采取非结构化的方法,但对于大多数威胁搜索活动,你应该建立一些结构。 为每个狩猎定义一个可以步骤重复使用的过程。 这样可以更轻松地衡量结果并评估工具和团队方法的表现。 它还使您能够以一致的方式向狩猎向管理层展示调查结果。 定义狩猎过程的最佳方法是应用科学方法:
·说明要解决的问题以及解决问题的假设
·提出收集和分析证据的程序
·定义指标以评估工作的成功
0x07 选择一个框架
在定义单个 threat hunting之前,选择一个攻击生命周期框架是非常有用的,该框架可以打破典型网络攻击的阶段及其在每个阶段可能使用的技术。 包括:
·洛克希德马丁公司的Cyber KillChain
https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
·Mandiant的攻击者生命周期模型。
http://www.iacpcybercenter.org/resource-center/what-is-cyber-crime/cyber-attack-lifecycle/
·我们最喜欢的是MITRE敌对策略,技巧和常识(ATT&CKTM)框架。
https://attack.mitre.org/wiki/Main_Page
0x08 如何结构化
每个狩猎都是不同的,但正如我们前面提到的,根据科学方法构建每一个狩猎都可以帮助您使步骤重复,并且可以测量结果。
第一步:提出一个假设
陈述关于一个或多个对手的合理假设以及他们可能用于进入或坚持你的环境的技术。一个例子可能是:“不良行为者会利用良性和签名的Windows二进制文件执行恶意活动,这些活动不会被我现有的安全工具标记为可疑。”
第二步:找出证据来证明这个假设
确定可证明或否定假设的证据形式,并确定如何收集证据。 要继续上面开始的示例,您可以启用流程执行审计(Windows EID 4688或Sysmon EID 1)并开始汇总:
·进程名称,路径,散列和签名信息
·命令行参数
·捕获任何网络目标
·由可执行文件加载的DLL
Sysmon能够返回与Windows中的详细过程审核相同的信息。 它还有几个优点:Sysmon提供了更多关于父进程的信息,可以提供多种类型的文件散列,描述网络连接以及许多其他有价值的功能。
不要停止一种形式的证据; 通常需要两个或两个以上才能以高度的置信度证明一个假设。 在最不方便的时间,单一的证据或知名度来源可能会导致误导。 记录您选择的证据来源并确保从每个来源收集的数据一致是非常重要的。 否则,您可能会收到无法比较或组合的数据。 例如,如果您打算将编码数据与关键字匹配,则应确保在数据到达控制台之前进行解码操作。
第三步:建立分析流程
描述如何减少,分组和分析证据以得出结论。 通常,这涉及识别与攻击相关的异常活动或事件序列。 流行和丰富等技术(引入外部元数据以帮助确定某个给定的工件是否可以被描述为良性或恶意)可以显着减少分析所需的人力成本。 在开发分析工具时,请考虑这些技术在消除误报和减少需要分析的数据量方面的战术优势和战略优势
第四步:自动化
通常,您可以自动化和安排收集事件的过程,执行数据缩减以及将关键字与数据进行匹配。 自动化取代了手动流程,并让您的猎人对结果进行判断。 理想情况下,您可以将不需要知识或经验的任务分配给机器,同时将需要判断的人员预留给人类分析师。
第五步:文档
在持续狩猎的热度下,处理更多的数据并延迟文档直到后来 – 或从来都不是很诱人。 但是,这是一种战术错误计算。 通常情况下,不可能在事后追忆狩猎的细节:收集的证据,进行的分析类型以及结论的理由。 除非在狩猎过程中有记录,否则这些信息将丢失,至少在基本水平上是如此。
如有可能,请有经验的分析师记录他们识别可疑事件的方法。 这些文件和其他文件可以通过提高他们的速度,对经验较少的猎头队员非常有用
攻击者的策略和成功的狩猎技术。 考虑创建一个基于一些常用搜索的“训练数据集”,您可以用它来评估和培训新分析师
虽然你的分析师正在记录狩猎的细节,但要求他们强调减少收集数据量的机会。 通常这涉及过滤已知的或其他可信的事件。 这种做法付出了实质性的利益,因为减少保留的数据量最终提高了您快速回答问题的能力
第六步:沟通和报告
你应该在寻找开始时决定什么时候与管理层沟通。 此决定包括何时声明已检测到事件,以及提供更新狩猎进度的频率。在寻找结束时,你应该创建一个记录,其中包括:
·狩猎指标(下文讨论)检测到任何折中的根本原因
·受影响的机器,帐户和应用程序的范围
·这些技术的描述检测到用于检测类似攻击的IOC
·吸取的经验教训以及提高知名度和改善未来追捕的领域
·改变组织安全控制的建议