首先了解一下真实的APT攻击以及使用的技术,以海莲花APT组织针对我国和东南亚地区的定向攻击事件为例:
相关攻击武器:Denis家族木马、Cobalt Strike、CACTUSTORCH框架木马
相关漏洞:微软Office漏洞、MikroTik路由器漏洞、永恒之蓝漏洞
攻击入口:鱼叉邮件和水坑攻击
通过该事件可将APT攻击分为几个阶段:
信息收集阶段:有针对性的搜集特定组织的网络系统和员工信息。
单点定向突破:主要通过鱼叉邮件和水坑攻击(例如网页伪装成升级FLASH插件),得到一个通往内部的‘跳板’。
构建控制通道:攻击者创建从被控个人电脑到攻击者控制服务器之间的命令控制通道。
内部探测&横向移动:一般攻击者对首先入侵的‘跳板’并不感兴趣,所以需要进一步获取内部服务器或其它重要PC的权限或信息。
数据回传:在这一步骤一般就是将有意识地搜集各服务器上的重要数据资产,进行压缩、加密和打包进行回传以获取最大利益。
目前,很多企业采用多种网络安全防御技术检测攻击,如采用网络防火墙、IDS、应用防火墙、日志审计等措施,然而由于APT攻击的可持续性以及攻击者具有丰富的对抗常规安全设备的经验,导致这些检测已知漏洞攻击的方式难以有效的发现APT攻击 。本文将介绍如何利用欺骗防御技术,在攻击者进行第4个阶段时发现APT攻击并及时上报,防止产生进一步损失。
要评估对抗APT攻击的能力,最好的方式莫过于找一个真实存在的APT组织并收集其使用过的战术和攻击手段来进行‘沙盘演练’,本文选择了APT39[1]这个组织,它是一个专注于窃取个人信息的伊朗网络间谍组织,其使用过的部分战术和技术如下图所示:
图1:APT39组织使用技术汇总
[1] https://attack.mitre.org/groups/G0087/
接下来分类进行‘沙盘演练’,如上图从左到右一共有12个战术,一般可以从左到右随机挑选若干个战术形成一个完整的攻击序列,其中每个战术类别下又有若干个技术,一种战术可能使用多种技术。例如,攻击者可能同时尝试鱼叉式网络钓鱼攻击中的钓鱼附件和钓鱼链接。
这里可以利用APT39组织使用过的战术模拟出一条攻击序列:
图2:APT39攻击序列
1) 在初始访问(Initial Access)阶段,该组织使用的主要攻击手段为钓鱼附件(T1193[2]),具体方式为向员工发送带有诱惑性的office宏文档、可执行文件,PDF或存档文件等,这个阶段主要考验的是员工的安全意识。假设在这一阶段,APT39组织向收集到的公司员工邮箱内发送大量带有诱惑性的邮件,而某位员工点击了来源不明的邮件附件并打开,此时该员工电脑已经存在持续化的后门,由于欺骗防御技术是非侵入式的,所以并不能在这一阶段发现或阻断攻击。
图3:某邮件附件恶意样本执行步骤
[2] https://attack.mitre.org/techniques/T1193/
2) 在探测(Discovery)阶段,此时员工电脑上的后门已经可以通过从控制端接收的指令进行相应操作,包括但不限于:开启指定进程、向控制端上传文件、与控制端保持连接、创建指定服务、杀死指定进程、从控制端下载后续文件。在这一阶段,由于员工电脑保存的信息不具有价值,从而进行内网探测,而这一阶段该组织会使用BLUETORCH工具进行网络服务扫描(T1046[3]),而在网络服务扫描阶段,只要扫描到部署的感知节点,那么就会产生触碰告警(一般扫描特定或者少量端口),欺骗防御系统会将沦陷主机IP信息记录下来,通过策略的配置发送邮件给管理员,等待管理员的排查。由于此时的告警级别较低,管理员安全意识较低时可能会进行忽略。
图4:关于端口触碰的告警
[3] https://attack.mitre.org/techniques/T1046/
3) 在横向移动(Lateral Movement)阶段,此时APT39组织已经初步掌握部分内网信息,并根据端口开放等信息判断内网存在的服务种类,为扩大‘战果’,该组织会使用远程桌面协议(T1076[4])和远程服务(T1021[5])来尝试进行横向移动,欺骗防御系统可以启用RDP蜜罐、SSH和TELNET蜜罐分别对应这两个技术所涉及到的服务,而该组织仅根据端口开放情况并不能判断主机是不是真实资产,所以当该组织尝试连接高SSH、TELNET等高交互蜜罐,攻击者可以通过暴力破解的方式进入蜜罐,那么欺骗防御系统就会产生级别较高的告警,并根据策略配置发送邮件给管理员。
图5:对于攻击者连接SSH的告警详情
[4] https://attack.mitre.org/techniques/T1076/
[5] https://attack.mitre.org/techniques/T1021/
因为APT攻击的特性,决定了其在获取最大利益前不会轻易暴露,且进行APT攻击的人员一般具有对抗安全监测工具的经验,所以常规的边界防护软件不易发现APT攻击。欺骗防御系统由于其非侵入式的特点,使得它不能防御APT组织通过0day或钓鱼附件的形式进入内网,但是在探测(Discovery)和横向移动(Lateral Movement)两个阶段,攻击者极有可能触碰到欺骗防御系统的诱捕节点,这个概率会随着感知节点的覆盖范围和仿真度的提升而提升。
同时可在员工电脑中撒放面包屑诱饵,在APT组织通过某些方式获得员工控制权之后,很大可能会发现面包屑的存在,而只要面包屑足够真实(面包屑中的IP地址,密码等信息不要太过于简单),攻击者很有可能会对面包屑中记录的信息进行利用(登录等),此时就会将其引向感知节点进而被发现。总结下就是欺骗防御系统可以在攻击者进行第4个阶段时发现APT攻击并及时告警。
提前发现:在网段中部署具有感知能力的诱捕节点,在APT的内部侦查和横向移动阶段就捕获到相应的行为,能在第一时间发现异常信息,从而提前采取措施降低损失的发生。
误报率低:建立在“正常的用户不会触碰诱捕节点,触碰诱捕节点的多半是非法用户或蠕虫”这一朴素但实用的理论基础上,误报率极低,极大的降低了安全运维成本。
容易发现新型威胁:基于行为而非规则来检测威胁,有助于发现一些 0day和变种的漏洞探测扫描行为,很好的应对了等保2.0中“在关键网络节点处,应采取技术措施对网络行为进行分析,实现对网络攻击特别是新型网络攻击行为的分析”
不影响用户业务:旁路部署在实际的业务环境中,不影响用户的实际业务,并且蜜网做了相应的加固、隔离和逃逸检测,所以将威胁行为局限在蜜网里。
主动防御理念:除了部署大量的诱捕节点,诱饵和蜜网外,在政策允许的情况下可以对于攻击者可以采取反制行为(如反向监控等),获取攻击者相应的信息,进行溯源取证,实现了主动防御的理念。