零信任在攻击链模型中的运用
2020-09-23
作者:冀托
来源:互联网安全内参
美国最大的军火商,也是顶级的网路战公司,洛克希德马丁公司提出的“攻击链”模型认为,一次成功的黑客攻击一般都会经历以下这7个步骤:
1、侦察
2、准备武器
3、投放武器
4、渗透攻击
5、植入后门
6、控制
7、目标行动
这7步环环相扣,完整地描述了黑客进攻的一般规律。
了解攻击链模型,可以帮助我们了解如何防御黑客的进攻。
从防御的角度看,如果想阻止一次网络攻击,那就必须打断攻击链中的一步或几步。打断的步骤越多,防御体系越全面,黑客攻击的成功率就越低。最新一代的综合多层防御体系就是“零信任”体系。
下面就来介绍攻击链模型中,黑客每一步会如何攻击,我们一般要如何防御,以及零信任在不同阶段如何发挥其独特的作用。
1、侦察
任何攻击的第一步都是收集信息,了解目标的弱点。
黑客可以从公开渠道收集信息。例如,
(1)WHOIS查询域名注册信息
(2)百度、谷歌搜索目标公司信息
(3)SHODAN上搜索目标服务器信息
(4)查看公司官网
公开信息搜集完成,下一步就是直接去扫描目标的服务器。
(1)NMAP扫描IP段和开放的端口
(2)Banner信息抓取
(3)漏洞扫描(通常漏洞扫描行为都太明显了,所以目前很多黑客都会缩小范围、降低扫描速度,以防被发现)
公开渠道的保密工作:
(1)不在招聘网站、微博上暴露自家的机密
(2)不在官网的错误提示中暴露服务器信息
服务器的防护措施:
(1)服务器上不必要的端口一定要关掉。端口开的越少,攻击者可以利用的入口就越少
(2)采用蜜罐产品,可以用来吸引黑客,转移攻击目标,让黑客暴露自己
(3)带IPS(入侵防御)的防火墙产品可以过滤一些威胁,监测黑客的扫描行为
(4)一些黑客会通过TOR网络连接或多层代理跳转连接过来,大多数下一代防火墙都可以阻断一些已知的恶意IP
之所以黑客可以侦察到信息,是因为服务器对陌生人是默认信任的,除非发现异常才进行防御。
而零信任默认对任何人都不信任,陌生人必须验证自己的身份之后,才能看到服务器的信息。所以,在合适的场景下,零信任体系可以完美地对抗攻击者的侦察行动。
(1)零信任体系中一般有一个零信任网关作为网络的统一入口。
(2)零信任网关平时不对外映射任何端口,合法用户通过私有协议通知网关,网关验证用户身份后,才会对合法用户的IP开放指定端口。
(3)对没有合法身份的人来说,零信任网络是完全不暴露任何端口的。
黑客一般都会寻找有价值的目标下手。如果使用了零信任体系,那么正在寻找目标的攻击者很可能会发现侦察不到什么信息,然后转向其他目标。
2、准备武器
知道目标的弱点之后,就可以针对弱点准备攻击用的工具了。
制作攻击工具的方式很多,下面是一些常见的:
(1)用Metasploit框架编写一些攻击脚本
(2)Exploit-DB上查询已知的漏洞
(3)用Veil框架生成可以绕过杀毒软件的木马
(4)用各类社会工程学工具制作钓鱼网站
(5)其他如CAIN AND ABEL、SQLMAP、AIRCRACK、MAL TEGOWEB APP、WAPITI、BURPSUIT、FRATRAT等等不一一说明了。
黑客可以准备攻击工具,我们可以准备防御工具:
(1)补丁管理:时至今日,大部分的攻击还是针对漏洞的,补上就没漏洞了,没漏洞就不会被攻击了
(2)禁用office宏,浏览器插件等等
(3)安装杀毒软件,部署防毒墙
(4)IPS上设置检测规则,以便检测攻击行为
(5)邮件安全产品,检测钓鱼邮件
(6)敏感系统开启多因子认证
(7)开启服务器的日志审计功能
零信任需要部署客户端和网关,为后续的攻击做好准备
(1)零信任需要部署网关,作为网络的统一入口
(2)零信任一般会要求用户安装一个客户端,以便进行设备检测
(3)还可以提前收集数据,分析用户行为习惯,建立行为基线
3、投放武器
有针对性地将武器(恶意代码)输送至目标环境内。
不同的投放方式:
(1)网站:感染用户常用的网站,以便传播木马或病毒
(2)邮件:侦察阶段如果发现目标公司有合作伙伴的话,黑客可以伪装成合作伙伴发送邮件,邮件附带病毒,公司的小白员工很可能就上当了
(3)USB:U盘病毒越来越少见了
(1)邮件安全检测产品,可以识别垃圾邮件,把来自恶意IP邮件会被屏蔽掉,把没有合法数字签名的邮件屏蔽掉,这样可以减少病毒的传播
(2)上网行为管理产品,屏蔽恶意网站,避免员工乱下载东西
(3)关闭USB,或者不给用户管理员权限,可以避免大部分USB病毒传播的情况
(4)DNS过滤,在DNS解析时过滤恶意域名,可以阻断病毒利用Https协议通信
零信任客户端持续对用户进行检测,检测合格了才允许接入零信任网络。
电脑上如果存在恶意代码或者可疑进程,零信任会对用户的可信等级进行降级。信任等级低的用户不能连接敏感度高的业务系统。
这样,就可以大大降低病毒木马在企业内部传播的可能性。
4、渗透攻击
利用漏洞或缺陷触发已经投放的恶意代码,获得系统控制权限。
(1)缓存溢出攻击
(2)SQL注入攻击
(3)运行木马、恶意软件
(4)在客户端执行Javascript恶意代码
如果黑客已经到了可以执行恶意代码这一步了,那么我们剩下的防御手段也就不多了
(1)DEP(数据执行保护)可以检测内存中是否有恶意代码正在执行
(2)有些杀毒软件会监测内存,拦截恶意的漏洞利用行为
(3)检测沙箱技术,可以让软件在模拟环境里运行,通过对软件的行为进行分析,进而识别恶意软件
零信任的主要针对网络内连接的管控,端上的安全需要与传统产品进行集成。
5、植入后门
植入恶意程序及后门,以后即使漏洞被修复了或者系统重启了,黑客还可以利用后门进来持续获得控制权限。
(1)DLL劫持,替换正常的DLL,每次运行都会执行恶意操作
(2)meterpreter或类似的攻击载荷可以在触发漏洞后能够返回一个控制通道
(3)安装一个远程接入工具
(4)修改注册表,让恶意程序自动启动
(5)利用PowerShell运行恶意代码
(1)Linux上可以利用chroot jail隔离恶意程序,限制它的访问权限
(2)Windows可以关闭Powershell
(3)建立应急响应机制,发现威胁时,隔离设备,远程擦除设备上的信息
(4)日常备份,被入侵后可以恢复到正常状态
大部分零信任架构都会融入UBA/EDR方案,监控系统上是否有恶意程序安装、是否发生了异常行为、注册表是否发生改变。
如果发现了入侵迹象,将记录日志并发出告警,严重时在零信任网关上执行相应的隔离策略。
6、指挥控制
到了这一步,服务器已经完全被黑客控制了,被控制的服务器可以立即执行攻击,也可以等待来自黑客远端服务器的进一步指令。
被控制的服务器与外部的指挥控制(command & control)服务器建立加密的通信连接。
限制异常通信
(1)网络分段隔离可以限制设备的访问权限,阻断黑客的通信
(2)通过异常行为日志及时发现攻击者和被入侵的设备
(3)下一代防火墙可以拦截已知的C&C服务器的通信
(4)有些DNS提供僵尸网络和C&C服务器的拦截功能,有些攻击者或利用fast flux技术躲避拦截,阻断对新出现的域名的访问,可以有效阻断这类远程访问
(5)利用下一代防火墙的应用层管控功能,阻断非必要的telnet、ssh、rdp、netcat、powershell的通信,如果确实需要用的话,一定要做IP白名单限制
(6)黑客一般会对通信进行加密,使用SSL深度包检测(DPI)技术可以检测每个数据包的内容
(7)IOC(失陷指标)是一种用来发现入侵的工具,在主机或网络上出现IOC时,代表主机可能被入侵了,IOC可以通过本地agent收集
零信任架构中的微隔离模块可以对网络进行更细粒度的隔离。
(1)平时对设备的访问权限进行白名单机制的管控,默认不允许设备访问未知IP,即使被黑客入侵了,也无法与C&C服务器的通信
(2)被感染的设备被检测到之后,会被完全隔离,只留一个端口用来确认设备是否恢复正常,正常后才能继续接入零信任网络
7、目标行动
开展直接的入侵攻击行为,窃取数据、破坏系统运行,或者在内部网络进一步横向移动。
攻击者进攻的目的可能是为了金钱、为了政治、从事间谍活动,或者内部恶意破坏等等。
(1)拖库,窃取机密文件,窃取重点人员的邮件、聊天记录
(2)扫描整个内网,以受控主机为跳板,横向攻击更重要的系统
(1)DLP数据防泄密工具可以保护本地数据,禁止数据通过网络传输离开设备
(2)UBA可以分析用户试图窃取数据的行为
零信任的理念就是假设设备最终大概率都会进入攻击链的最后一步,被入侵。所以,任何设备都是不可信的。除非设备能证明自己是安全的,才能获得接入网络的权力。
用户的每一次访问请求(per request)都会被检测。用户的访问请求到达零信任网关时,网关会对请求进行一系列的检查。
(1)检查是否包含敏感数据,包含的话,会依据后台规则进行阻断或日志记录
(2)检查此次行为与之前的用户行为习惯是否相符,如不相符,则立即触发强认证,用户需要输入短信验证码进行验证,才能继续访问其他资源
零信任会对每个服务器做细粒度的访问控制。即使一个服务器被攻陷,也不会在内网大面积蔓延。
总 结
攻击链不只是揭示黑客如何进攻的模型,也是一个安全规划的蓝图。
对照攻击链模型,可以发现零信任是一个非常全面的防御体系。零信任可以切断黑客攻击链上的多个关键节点。
1、侦察阶段,可以隐藏服务器信息,极大减少信息暴露
2、投放武器阶段,可以通过对设备可信等级的检测,及时隔离威胁,减少病毒木马的传播
3、植入后门阶段,可以通过对终端行为的检测,及时发现威胁,并进行响应
4、指挥控制阶段,可以通过白名单策略,默认阻断被入侵设备与远端服务器的通信
5、目标行动阶段,可以通过微隔离手段限制黑客进一步的横向攻击