现代计算机网络中包括各种各样的设备和软件。这些设备和软件存在着大量的未知和已知漏洞,漏洞是安全问题的根本,在漏洞面前,攻守双方并不平等,一个弱点被黑客利用,最终可以导致危险在整个网络扩散。漏洞具有的高威胁性、突发性、高破坏性、大规模性的主要特点。地下黑市交易的零日漏洞、厂商设置的后门漏洞以及网络间谍的APT攻击威胁着国家、企业和个人的网络安全。
2017年2月,360互联网威胁情报中心发布《2016年中国互联网安全报告》,报告详细披露了我国当前面临的严峻网络安全形势,认为我国政企机构需重视APT、DDoS以及工业互联网等三大安全威胁。中国成为全球网络攻击的第一目标国。报告认为,网络空间目前已经成为大国博弈的新战场。日益频繁的APT等网络攻击,正在导致政企行业机密情报被窃取、工业系统被破坏、金融系统遭受经济损失,甚至对地缘政治产生影响。
2017年5月12日,中国、英国、意大利、俄罗斯等100多国爆发WannaCry勒索病毒攻击,并迅速蔓延,中毒的机器中的磁盘文件会被加密,只有缴纳高额赎金(有的要比特币)才能解密资料和数据。我国大量行业企业内网大规模感染:大批高校出现感染情况,造成了教学系统瘫痪,众多师生的电脑文件被勒索病毒加密;国内多地公安网系统受影响瘫痪;多地中石油加油站加油无法网络支付;部分医院因为受到攻击延迟了手术。此次勒索病毒爆发是由于美国国家安全局(NSA)旗下“方程式黑客组织”所使用的部分网络武器被公开导致,其中包括可以远程攻破全球约70% 使用Windows系统机器的漏洞利用工具。不法分子正是其中一款工具——“永恒之蓝”进行攻击。2017年6月27日,代号为“Petya”的病毒在全球多国肆虐。这一系列事件为我们敲响了网络安全的警钟。
▲犯罪分子将使用机器学习技术进行自动化攻击和绕过检测。近年来不断纰漏的网络安全事件及由此带来的严重后果也逐渐暴露了传统的网络安全防御技术存在的问题,凸显了传统防御技术难以有效抵御系统未知的软硬件漏洞的攻击,难以预防潜在的各类后门攻击,难以有效应对各类越来越复杂和智能化的渗透式网络入侵
传统防御的不足之处
传统的网络安全防御思想是在现有网络体系架构的基础上建立包括防火墙和安全网关、入侵检测、病毒查杀、访问控制、数据加密等多层次的防御体系来提升网络及应用的安全性。传统防御技术都是基于静态网络配置下的,即网络中的节点地址、网络结构、网络协议等均固定不变,这些配置信息一旦被入侵者搜集得到,就可以根据网络特点有针对性地入侵,达到事半功倍的效果。再者,传统防御的思想是根据已知病毒的数据、代码、行为等特征对攻击进行识别,对于未知的0day漏洞、后门漏洞没有有效的解决方案,往往攻击发生之后,经过安全审计才有可能发现攻击的线索,然后再进行亡羊补牢。
据统计,95%以上的企业只能通过外部通报或看到显著损失后才能发现其自身正在面临的网络威胁。新型的技术也不断被黑客利用,《迈克菲实验室2017威胁预测报告》中写道,犯罪分子将使用机器学习技术进行自动化攻击和绕过检测。近年来不断纰漏的网络安全事件及由此带来的严重后果也逐渐暴露了传统的网络安全防御技术存在的问题,凸显了传统防御技术难以有效抵御系统未知的软硬件漏洞的攻击,难以预防潜在的各类后门攻击,难以有效应对各类越来越复杂和智能化的渗透式网络入侵。
动态防御 改变游戏规则的主动防御
美国国家技术委员会在2011提出了“移动目标防御”(MTD)的概念,也有学者将MTD技术称为“动态防御技术”、“动态弹性安全防御技术”或者“动态赋能网络防御技术”。动态防御不同于以往的网络安全研究思路,它旨在部署和运行不确定、随机动态的网络和系统,让攻击者难以发现目标。动态防御还可以主动欺骗攻击者,扰乱攻击者的视线,将其引入死胡同,并可以设置一个伪目标/诱饵,诱骗攻击者对其实施攻击,从而触发攻击告警。动态防御改变了网络防御被动的态势,改变了攻防双方的“游戏规则”,真正实现“主动”防御。
美国政府和美军将动态防御技术作为网络安全研究的重点。以美国为主的一些研发团队纷纷投入到MTD技术的先期研发当中。例如,美国堪萨斯州大学2012年开始的“自适应计算机网络”项目,开启了MTD学术研究活动的先河。佛罗里达理工学院2013年与美国防部签订了总金额190万美元、为期3年的合同,引领一个全新的网络安全研究项目———设计、实现一个用于计算机网络移动目标防御管理和协调的指挥控制框架。美国陆军在2012年投资310万美元,授予雷声公司基于移动目标防御技术的变形网络项目。美国空军致力于在2015年~2020年,用5年的时间将移动目标防御技术与现有指挥框架集成。西北太平洋国家实验室(PNNL)开发了基于蚁群社会性行为的分散式协同网络架构,支持移动目标防御。这些团队取得了MTD技术的很多新进展,包括自适应计算机网络、IPv6移动目标防御和变形网络等等。
自从美国提出MTD的概念,动态防御技术已经成为网络安全理论研究的热点和技术的制高点。国际上许多网络安全研究机构都正在研究基于动态防御的理论和技术,比较著名的有美国SCIT实验室、IBM公司沃森实验室、美国麻省理工大学、堪萨斯州立大学、加州大学、弗吉尼亚大学、卡内基-梅隆大学、哥伦比亚大学、以及乔治·梅森大学。
我国也对动态防御技术进行了重点研究,邬江兴院士提出了网络空间拟态防御(CMD)思想。CMD理论在可靠性领域非相似余度架构基础上导入异构冗余动态重构机制,造成在功能不变条件下,目标对象内部的非相似余度构造元素始终在作数量或类型、时间或空间维度上的策略性变化或变换,用不确定防御原理来对抗网络空间的确定或不确定威胁。
美国阿贡国家实验室2016年3月22日报道,更多的动态防御技术被美国国家专利局授权。2015年美国新型动态防御公司吸引到投资界的关注,动态防御概念的3家公司获得超过5000万美元的融资。其中,CrowdStrike(动态防御概念)获得3000万美元天使轮融资,Morphisec获得800万美元融资,ShapeSecurity获得2600万美元融资。北京卫达科技有限公司将动态防御技术应用到内网防御、边界防御、工控防御、DDos防御、web应用防御、云安全等应用场景,研发了6个系列的产品。
动态防御的系统架构
一种随机变化形式的动态防御系统顶层结构,如图1所示。该防御系统会形成随机的变化。形成随机适配的关键基础是“逻辑任务模型”,该模型按网络的功能需求捕获物理网络当前状态的概貌。其驱动器就是“适配引擎”,它以随机的时间间隔,定制网络配置的随机变化。变化由“配置管理器”实施,它负责控制“物理网络”的配置。
图1显示的是一个完整的智能动态防御系统的结构组成。“适配引擎”对物理网络输入随机变化参数,使网络状态进行随机变化,“分析引擎”能够从“物理网络”获取实时事件、从“配置管理器”获取当前的配置,确定可能的脆弱性和正在进行的攻击。“适配引擎”扩展功能是观察网络当前状态以及安全状态,和“逻辑安全模型”捕获的一样。“逻辑安全模型”也由2个运行时间模型组成:一个是目标模型,一个是系统脆弱性模型。
目前对动态弹性安全防御思想的解释,主要从系统攻击面和攻击生存期来进行理解。系统通过改变自身各种资源配置、系统属性,向攻击者呈现不断变化的攻击面,使攻击者更难发起有效的攻击。攻击者制定有效攻击方案所需的时间较长,当建立攻击模型时,系统在这段时间已经发生足够的变化,这些变化足以破坏攻击模型的有效性。关于系统攻击面(系统安全指标,攻击面越大,系统越不安全),从直观上看,攻击面是攻击系统时使用的系统资源(程序、通道和数据)的子集。同时,防御者可以不断转移系统攻击面,以增加攻击者利用系统漏洞的难度。防御者转移攻击面示意图如图2所示。图2中,若防御者转移系统的攻击面,则原本有效的攻击,如攻击1,可能将不复存在。为此,攻击者需要花费更多心思使原来的攻击重新有效或寻求新的攻击途径,如攻击4。
图3显示了攻击生存期示意图。在时刻时间t0,系统防御者生成防御方案k0,并启动多样化服务STk0。te定义为攻击者从开始发动攻击到系统受损之间的时间,也可以认为攻击者从服务器获得秘密账户信息所需要的时间。
从图3可以看出,对于一次成功攻击,从探测到攻击完成总用时t1+te<tk0,在服务sTk0结束之前就完成了攻击过程。而对于一次受挫攻击,从探测到攻击完成总用时t2+te>Tk0,在服务STk0结束之前未能完成攻击过程。
通过上述模型,我们可以看出:动态防御使系统防御者以可控的方式随机的改变系统配置和结构,可以增加系统的不确定性和复杂度,从而增加攻击者的攻击复杂度和攻击花销,限制系统漏洞的暴露和遭受攻击的机会,增加系统的弹性。
动态防御的关键技术
动态防御技术是以保护信息系统中的某种实体为目的。一般来说,信息系统中的实体主要包括软件、网络、计算平台与数据等。下面我们从软件、网络、平台与数据层四个层面对现有的动态防御关键技术进行了梳理。
软件动态防御技术
软件动态防御技术是指动态更改应用程序自身及其执行环境的技术。相关的技术主要有地址空间布局随机化(ASLR)、指令集随机化技术、就地代码随机化技术、软件多态化技术等。
地址空间布局随机化是为了防止攻击者在内存中能够可靠地对跳转到特定利用函数,随机排列程序的关键数据区域的位置,包括可执行的部分、堆、栈及共享库的位置,Linux和Windows操作系统已经广泛应用了地址空间布局随机化技术。
指令集随机化是一种通过掩盖目标的指令集应对代码注入攻击的动态防御方法,随机化指令集不仅能够阻止代码注入攻击,而且能够降低网络蠕虫利用某一漏洞进行大规模扩散的可能性。
基于编译器的软件多态化主要包含了MVEE和MSSD两类技术,这两类技术都依赖于自动化的编译器产生功能相同但代码不同的程序。MVEE属于运行时的技术,其原理是一个程序构建多个变体,系统接收到的输入同时被送给所有的变体,这就使得入侵者几乎不可能针对所有的变体设计不同的入侵程序,然后在系统监控中比较所有变体的输出,如果输出不同,则预示着系统可能受到了入侵。MSSD是一种大规模的静态的软件多态化技术,其基本原理是,如果同一个软件产品可以有不同的副本(这些副本都可以实现相同的功能),那么入侵者要么对所有的副本进行研究,找出每一个副本的漏洞,然后入侵;要么找到一个非常巧妙的方法和漏洞,能够同时入侵不同的副本,这就增大了入侵者的入侵难度,能够更好地保护系统和软件的正常运行。
网络动态防御技术
网络动态防御是指在网络层面实施动态防御,具体是指在网络拓扑、网络配置、网络资源、网络节点、网络业务等网络要素方面,通过动态化、虚拟化和随机化方法,破除网络配置的静态性、确定性和相似性,提升攻击者进行网络探测和内网节点渗透的难度,进一步阻碍入侵者扫描、发现和渗透网络。
美国堪萨斯州大学开展了“自适应计算机网络”项目,并在2012年4月与空军科学研究办公室签订了为期5年金额超过100万美元的合同,开始了“了解和量化移动目标防御对计算机网络的影响”的专项研究,目的是研究计算机网络通过自动改变自身设置和结构来对抗在线攻击的可行性,并开发有效的分析模型,以确定MTD系统的有效性。
2012年8月,美陆军授予雷声公司价值310万美元的“限制敌方侦察的变形网络设施”(MORPHINATOR)项目,为其研制具有“变形”能力的计算机网络原型机。该项目主要研究在敌方无法探测和预知的情况下,网络管理员有目的地对网络、主机和应用程序进行动态调整和配置,从而预防、延迟或制止网络攻击。
北京卫达科技有限公司综合利用了动态防御、软件定义网络(SDN)、网络功能虚拟化(NFV)、欺骗、微隔离等技术研制了“内网动态防御系统”。该系统实现了网络拓扑和网络地址随机跳变,实时发现内网横向渗透行为,并可以实时阻断攻击行为,在全球范围内首先将网络动态防御产品化。首先,结合SDN技术,保持原有网络配置的完整性,在内网中隐藏终端的真实IP地址,为终端分配虚拟IP地址,并使正常网络应用不受影响的情况下,实现网络拓扑和终端的IP地址高速随机跳变,大幅提高攻击者发现目标的难度,从而大大地降低攻击成功地概率。其次,在内网中部署大量的伪装节点和虚开的端口,这些节点和端口能够迷惑攻击者,伪装节点的IP地址也能够和真实的节点IP一起随机跳变,极大地增加网络的复杂性,从而能够完全打破攻击者对网络的认知。无论攻击者用任何形式的方式(无论是利用已知病毒还是未知病毒)内网进行扫描或渗透,会以极大的概率碰到伪装的节点或者虚开的端口,伪装的节点或虚开的端口会向系统发出警报。另外,利用微隔离技术,每个节点都被定义为一个逻辑隔离的子网,一旦某个节点发起扫描或渗透行为,系统可以自动地、实时地对攻击者进行定位和封堵,斩断攻击链的第一环,从而可以进行事前防御,并防御未知新型病毒的威胁。
▲2017年5月12日,中国、英国、意大利、俄罗斯等100多国爆发WannaCry勒索病毒攻击,并迅速蔓延,中毒的机器中的磁盘文件会被加密,只有缴纳高额赎金才能解密资料和数据
平台动态防御技术
平台,主要指能够承载应用运行的软/硬件环境,包括处理器、操作系统、虚拟化平台以及具体应用的开发环境。目前,应用系统的设计往往采用单一的设计架构,在交付使用后长期保持不变,这就给恶意攻击者提供了足够的时间来探测和学习系统的构造和漏洞。平台动态防御系统通过构建动态变化的系统运行平台,在保证服务可用性的前提下,持续改变服务的可见特征,如运行平台、应用类型、版本信息等,防止攻击者对服务的有效探测及渗透。虚拟化技术为服务多样化提供了支撑保障。
基于可重构计算的平台动态化技术通过多样化的软/硬件任务划分和差异化的逻辑电路设计,设计满足应用任务,运行于通用处理器和可编程逻辑器件中的多个可执行文件和配置数据,并在系统运行过程中,随便变化加载在系统中的可执行文件和对应的配置数据文件。
基于异构平台的应用热迁移技术,是指通过构造异构的多种系统平台,包括异构的硬件和操作系统,并使运行在其中的应用程序能够以可控的方式随机地在不同的平台间迁移,从而减少单一平台暴露的时间窗口,使得恶意攻击者难以对系统进行有效侦查,最终达到提升系统防御能力的目的。
Web应用平台动态防御可以从Web应用、Web服务、OS和虚拟化基础层构建虚拟服务器,然后将每一个虚拟服务器都配置成具有唯一的软件特性,这样多个虚拟服务器就会呈现出不同的攻击面。采用动态替换轮循等机制随机选择若干个服务器构成一个在线服务器集,对外提供服务。
数据动态防御技术
数据动态防御,主要是指能够根据系统防御需求,动态化地更改相关数据的格式、句法、编码或者表现形式,从而达到加强攻击者攻击难度的效果。数据动态防御技术特点在于:一、寻找一种保持数据语义不变的策略,使数据动态化行为不影响数据语义本身;二、通过对选定数据的动态化,能规避漏洞或者有效发现攻击。数据动态防御的效果体现在以下三个方面:一、防止系统有意而为之的设计错误;二、防止攻击者恶意注入代码二进行缓冲区溢出攻击;三、防止Web应用程序中SQL注入和跨站脚本攻击。
结 语
基于先验知识和精确识别的传统防护手段,难以应对未知漏洞和未知威胁;基于静态性、相似性、确定性构建的信息系统,难以应对动态的、智能的、高强度攻击。动态防御是对网络空间安全防御技术和体系的一种探索,是将安全能力作为信息系统自身标准属性的一种设想。动态防御可以有效降低系统的确定性、相似性和静态性,让信息系统呈现不可预测的变化状态,让攻击者难以发现系统漏洞,并可以结合欺骗的战术战法,将攻击者引入死胡同,触发警告并实施阻断攻击。未来的网络空间防御体系一定是在动态防御思想指导下的安全体系。随着SDN、NFV、虚拟化、人工智能等技术的高速发展,动态防御思想将不断地与这些技术结合,推动动态防御技术广泛应用。