一、背景
Kill Chain模型是洛克希德·马丁公司借用军事领域的“杀伤链”概念,结合对大量网络攻击、尤其是APT类攻击案例的分析成果,从攻击者的角度出发,以分段式任务模型描述网络入侵攻击的过程,具体描述了网络攻击从最早的侦察跟踪阶段,到最终的达成目标阶段,对网络攻击的各个阶段生命周期进行了系统性的阐述。
二、阶段介绍
杀伤链模型包括7个有序的步骤,具体为:侦察跟踪、武器构建、载荷投递、突防利用、安装植入、通信控制、达成目标。只有当攻击者完成了第7步工作,前面的6步才真正产生意义。
阶段一:侦察跟踪
在侦察阶段攻击者的工作是识别目标对象。侦察可以是静默状态的,也可以是是主动状态的。在此阶段,攻击者会选择攻击目标,并制定攻击计划,同时将尝试尽可能收集被攻击者的相关信息,侦察阶段的活动示例有:收集被攻击者的邮箱地址、查看与被攻击者相关的主页(例如:企业网站、社交网站等)、通过公开的媒体收集信息(例如:报纸、电视新闻等)。
阶段二:武器构建
在武器构建阶段攻击者将进行攻击前的准备工作,针对攻击目标的系统和防护措施,选择已有恶意软件和制作专用的恶意软件,现在很多的恶意软件已经可以通过自动化/半自动化的系统进行生产。由于系统的复杂性,在这一阶段,攻击者有可能与外部恶意软件生产者合作。需要注意的是,“后门”往往是武器化常用的手段。
阶段三:载荷投递
在载荷投递阶段,攻击者将完成把已经生产好的恶意软件投放到目标网络中。常用的攻击手法包括“钓鱼”、“水坑“等。武器化有效载荷最常见的传送媒介包括网站、可移动磁盘和电子邮件,这是安全团队可以阻止攻击的最重要阶段。
阶段四:突防利用
在突防利用阶段,攻击者通过网络的弱点以及被攻击者的安全意识不足问题,实现对被攻击者的访问,以获取敏感数据,例如密码文件,证书,甚至RSA令牌。如果攻击已进行到此阶段,则系统已遭到破坏,数据处于危险之中。
阶段五:安装植入
在安装植入阶段,攻击者将安装能够避过安全软件检查或杀灭的工具,这些工具可以用于获得被攻击者的访问权限和后续攻击活动,例如:在web服务器上安装webshell、部署后门工具、部署键盘/鼠标捕获工具等。这也是可以使用 HIPS(基于主机的入侵防御系统)等系统阻止攻击的另一个重要阶段。
阶段六:通信控制
在通信控制阶段,攻击者已经通过对被攻击者网络植入恶意软件获得了控制被攻击者网络的能力,开启通信通道,用于控制被攻击者的网络,通常这些控制手段是隐蔽的,隐藏于最常见的web、邮件、DNS协议中。攻击者为了隐藏自己的真实身份,通常会采用跳板的方式,即级联的受害者链进行远程控制。
阶段七:达成目标
在本阶段,既然攻击者已经控制了受害者的网络,那么接下来的工作就是完成其目标了,例如:破坏受害者的网络与信息、盗取业务信息、盗用受害者身份进行活动,以及提升权限进行更深度的破坏活动等。
三、防御策略
在网络杀伤链模型中,由于只有当攻击者完成了第7步工作,前面的6步才具有真正产生意义,并且攻击者往往只有完成了前6步的工作才能来到第7步,因此,在攻击者发起第1-6步时执行相应的行动对于网络攻击的防御具有重要意义。
1、侦察跟踪阶段
这一阶段,防护者可以通过主动检测尝试发现攻击者的“侦察“行为,侦察可以是静默状态的,也可以是是主动状态的,在攻击者采用静默状态时,被攻击者往往很难发现他们的对手,例如:攻击者收集被攻击者的邮箱地址;采用主动状态时,被攻击者可以从中发现攻击者的痕迹,例如:攻击者访问被攻击者的社交网络时可能会留下痕迹,从相应日志中可以获知攻击者的部分信息,如IP地址等。防护者可以采取以下行动:
收集各类设备、系统日志用于分析;
尽可能地收集网络流量信息,用于威胁分析;
采用UEBA的分析方法,发现潜在的威胁者;
利用威胁情报,匹配访问访问源、身份等信息。
2、武器构建阶段
虽然防护者在攻击者发起攻击之前无法检测武器化的信息,但这一阶段仍然很重要。随着威胁情报服务商的出现,防护者可以使用威胁情报跟踪恶意软件的发展,从而为选择网络安全合作伙伴提供输入,对可能出现的恶意软件进行推测,从而节约后续部署拦截工具的时间,实现高效拦截。另外,由于恶意软件的研发者的知识、习惯通常有一定的模式,对恶意软件开发者进行研究,也可以为拦截恶意软件提供信息。防护者可以采取的行动包括:
分析恶意软件,研究恶意软件工作原理;
分析恶意软件,分析恶意软件开发者行为习惯和模式;
分析恶意软件的时间线,推断使用者的专业能力;
利用威胁情报,判断APT攻击。
3、载荷投递阶段
对于防护者而言,这是最重要的阶段,也是进行拦截的第一个阶段,这个阶段也是衡量一个企业的网络安全有效性的重要指标,即是否能够在交付阶段对攻击者进行有效拦截。在这一阶段,防护者的活动可以包括:
分析载荷投递的手段,例如:钓鱼邮件、U盘等;
分析载荷投递的启动时间;
分析被攻击的人员、设备/设施信息;
推断恶意软件制作者;
推断攻击者的目标物以及攻击者;
收集攻击信息,用于未来可能出现的司法阶段。
4、突防利用阶段
在这一阶段,如果攻击者采用0-day攻击,对于防护者是个挑战,但对于非0-day攻击,防护者应当注意传统的安全防护措施还是非常有效的。在此前提下,防护者能够做的是尽量利用传统的加固措施增加防护措施的弹性,通过以纵深防御思路为基础的框架,增加补偿性安全措施,对目标物进行防护。防护者可以采取的行动包括:
采用最小权限原则;
采用权限冲突/约束机制;
定期进行漏洞扫描;
定期进行渗透测试,包括外部渗透测试和内部渗透测试;
关注开发安全和所交付的软件的安全性;
安全意识的培养。
5、安装植入阶段
在安装阶段,防护者可以通过对终端设备的日志进行分析来发现潜在的威胁,并在此阶段分析恶意软件,以优化终端设备的保护。在该阶段,防护者可以采取的行动包括:
使用基于主机的IPS;
检测可能出现恶意软件的介质;
在检测到恶意软件时告警,并进行必要的拦截;
进行权限管理,分析恶意软件所需的最小权限;
对可执行文件进行签名管理;
分析恶意软件属性,包括版本、编译时间等;
使用威胁情报加强未知威胁的防护,例如:恶意软件的MD5、SHA1、SHA256等。
6、通信控制阶段
通信控制阶段是防护者进行拦截的最后一个机会,一旦让攻击者通过C2阶段,将会给企业带来直接损失。在本阶段,防护者的目的是对C2通道进行阻断,使得攻击者无法向攻击目标物的恶意软件发出相应指令,从而做到对目标物的防护。在该阶段,防护者可以实施的活动包括:
采用白名单/黑名单等措施加强网络访问控制;
分析恶意软件,从而发现C2的来源设施,并并进行反制;
采用代理机制进行通信,例如:http、DNS等。
7、达成目标阶段
攻击者对受害者的访问的时间越长, 受害者的损失就越大。受害者在这一阶段需要评估其损失,并评估使用司法手段的必要性,为司法取证采集必要的信息(例如:日志、数据流)。受害者可以采取的活动包括:
检测数据泄漏;
检测未授权使用;
评估企业损失;
采集日志;
检测横向移动;
采集网络流信息;
重现攻击;
采取司法手段;
优化应急响应、网络安全策略、流程、技术。
四、企业入侵事件案例
本文从网络杀伤链的视角对一起典型的企业入侵事件进行分析。
1、侦察跟踪阶段
2、武器构建阶段
3、载荷投递阶段
4、突防利用阶段
5、安装植入阶段
6、通信控制阶段
7、达成目标阶段