概述
随着攻防对抗形势的白热化发展,对抗升级的过程不断对OPSEC提出更高的要求。现有CDN、域前置、云函数转发等手段进行C2保护已经具备一定的能力,但也同时存在一些缺陷,本文将结合CDN和FaaS探讨C2保护新的实现过程。
OPSEC之基础设施
OPSEC(Operational
Security,即操作安全),类似“红蓝对抗”,也源自现代军事对抗实践,指审视己方操作中可能被敌方利用的关键信息,评估风险,并采取有效应对措施的过程。简单的说,蓝军作战期间同样须要有自己的安全生产标准和规范,以规避行动暴露、被阻断以及被溯源等安全风险。
作战基础设施是为了支撑保障完成攻击全生命周期而存在的体系化辅助工具,可以理解为攻击者的阵地战壕,需要有绵亘正面和一定纵深的特点,在当作防线掩体的同时又可以用来灵活调整战术和作战状态。所以搭建一个好的基础设施也是完善OPSEC的关键一步。C2作为基础设施中的重型作战通道,一般会出于两个基础目的使用前置技术对其进行保护,首先前置会保障C2不被定位到真实的网络地址,其次防守方在进行攻击源封堵时,前置地址可以被用来当作C2的“替死鬼”,因为比较轻量可以快速进行攻击出口的切换以降低攻击者重新部署C2或切换C2网络地址的成本。当然一个更好的C2前置技术还可能具备绵亘、伪装、监控等特点。那如何搭建一个高质量的C2攻击前置的基础设施,是我们接下来要重点探讨的内容。
CDN or FaaS
域前置(Domain
Fronting)技术在诞生之日起就被大量的用于攻击基础设施当中,因为其滥用CDN服务加速了原本不存在的可信根域名的子域名,在保障真实C2地址不被定位的同时,可信根域名又增加流量来源的可信度,并且数量众多的CDN节点任意一个都可作为前置来转发攻击流量。而在防守方视角遇到这种情况首先会发现恶意通信地址不是固定的,被控机器会随机与一些CDN节点完成通信,所以封禁少量CDN节点地址是解决不了问题的,大面积封禁CDN节点又可能会影响正常业务,从而陷入两难境地。国际上的一些知名CDN服务商早已对域前置进行了限制,而在国内因为近两三年的红蓝对抗中蓝军也大量使用该技术,一些规模较大的CDN服务商也已做出逻辑校验来限制服务被滥用的情况。
另外,常规的CDN业务也可用于攻击前置,而与Domain
Fronting相比唯一的区别是所使用域名是攻击者自己注册的或者控制的,而不是被滥用加速实则不存在的可信子域名。总的来说两种方法都能很好的满足C2保护的前置需求,如果非说有哪些不足的话,可能包含:
所使用的域名是最显性的特征可被防守方用于标记拦截攻击流量
在防守方进行探测溯源攻击基础设施的时候,无法很好的进行监测、伪装和反制
域前置被CDN厂商进行限制
……
相对CDN前置的技术,近两三年随着各大云厂商推广各种形式的Serverless服务,攻击者又转而对其中一种称之为云函数(FaaS,Function as a
Service)或函数计算的服务进行滥用,比如微软云Azure Functions、亚马逊云