作者:{Anice,RealWorlds}@ArkTeam
背景
DARPA的HACCS (Harnessing Autonomy for Countering Cyberadversary Systems )计划于2017年6月启动。该计划将网络空间中脆弱的和已被恶意控制的节点集合统称为“灰色地带(Gray Space)”。灰色地带的节点(Gray System)可能表现为僵尸程序、远控木马、后门、跳板等形态,可能被多个攻击者利用。灰色地带给网络空间安全带来诸多不稳定因素。
目标
在IPv4网络空间内,发现灰色地带的节点,并利用n-day漏洞投递自治代理(Autonomous Agent,以下简称AA),然后由AA在内网自动化识别被感染的设备、渗透被感染设备并清除其上的恶意代码,从而防止灰色地带被攻击者恶意利用(如作为跳板、发起DDoS、信息窃取、挖矿劫持)。
主要思路
(1)网络空间存在大量节点,因未能及时升级、未正确配置或未正确使用,导致存在脆弱性并可被恶意控制,而定点应急响应或关闭整个僵尸网络往往是缓慢、昂贵和困难的过程。灰色地带因此得以长期存在且被恶意利用,需要研制一种(半)自动化手段来抢夺灰色地带控制权;
(2)首先面临的问题是发现那些感染了恶意代码(特别是僵尸程序)的网络,可通过多种渠道(如主动探测、旁路监测、威胁情报共享)发现,然后生成被感染网络的指纹;

(3)基于已知n-day漏洞漏洞并通过Software Reasoning Systems (SRS)分析,自动产生Exploit,可攻击目标包括PC、智能手机、办公设备、IoT设备、云节点等;
(4)利用Exploit,远程植入预先研制的自治代理(Autonomous Agent),AA感染灰色节点后,在其内网中横向平移,精准发现并加固(如清除、打补丁)其他灰色系统;
(5)利用类似于Plan-X的系统,实现总体集成和指挥控制。
面临挑战与评价标准
首先,对于识别僵尸网络而言,如何在互联网规模级别实时检测具备隐蔽C2的僵尸网络?AA如何准确地在目标网络中对灰色节点建立指纹?DARPA提出的参考解决方案包括自动化流量分析、网络行为白盒分析等,并使用正确率、建立指纹速度和工作量作为衡量指标。
在利用n-day漏洞入侵目标网络的过程中,如何自动生成exploit? DARPA认为,这里可以利用软件推理系统(Software Reasoning System,SRS)分析已知漏洞的代码,例如通过自然语言处理技术处理非结构化和半结构化的公开信息以供软件使用,并将SRS分析扩展到其他漏洞类别,比如Web或命令注入、认证绕过、提权等。这个过程的衡量指标包括exploit数量和稳定性、漏洞类别的覆盖度等。
在识别和消除僵尸网络影响的阶段,需要开发能够在灰度空间中自动发现受感染设备的AA。这里的问题主要是如何在部分已知的环境中自主横向移动、如何判断AA植入的正确性和操作方案的正确性。DARPA提出可以在网络演习、对抗活动和类似来源中学习和归纳人为操作,开发适用于AA生成的工具或采用基于合约的编程。衡量此过程的指标主要有识别受感染设备的成功率和速度、代码的可证明正确率等。
最后一个阶段是积累过程,需要此系统在真实的网络对抗演习中使用并验证系统的有效性。
项目周期
整个项目预计开始于2018年4月1日,并分3个阶段,共计48个月完成。第一阶段面向5%的IPv4网络空间,僵尸网络发现准确率和指纹标识准确率约80%,储备10个n-day exploit;第二阶段分别提升到25%、90%和100个;第三阶段预计能特征化80%的IP地址空间,并具备95%的准确率,能够涵盖1000个n-day exploit,有包含10000台计算机的模拟拓扑,有确定的操作准则,并能在国防部演习中使用。
法律问题
未经用户同意入侵其系统带来的法律问题,不在HACCS计划考虑范围之内,该计划仅探索技术可行性。