网络空间作为一个新的作战领域,有着自身独特的规律。美军评价这个作战领域"是一片未经勘测的深海",要充分理解其运行机制,"需要想象力的跨越"[1].这个全新的作战领域覆盖全球,其中的网络攻防行动快速、且会产生海量的网络事件,这对传统的网络防御技术提出了以下挑战: a) 网络环境处在不停的动态演化过程中,通过态势感知获取的海量数据需要分析、筛选、提取,才能形成全维的网络空间地图,并且在网络战对抗过程中会产生大量的网络事件,这些事件既包括网络自身正常的业务,也包括敌我双方的攻防行为,这些数据构成了整个网络战场的态势,需要具有高效的数据处理和分析手段才能有效辅助决策,为网络防御指挥决策形成及时、准确的反馈; b) 网络战武器在部署之后也要能够具备在陌生网络环境中的自主决策能力,正规化的网络防御需多种防御手段在动态的网络环境中实现分布式的协同以完成共同的使命[2].美军赖桂曼中将认为,美国必须缩短在网络防御中的决策-行动周期时间,这就意味着需要更多的自动化。自动化将解放有限的网络防御部队,聚焦关键网络空间的重要威胁。网络中心战也对网络防御提出更高的要求,使之能有效应对危险、变化的网络攻击手段[3].新的防御手段包括安全防卫圈的动态组建、复杂环境感知能力以及对网络中攻击行为的自主反应,这些防御手段都需要基于知识的人工智能技术的支撑。斯诺登披露了美国国家安全局研发的被称做"怪兽大脑"的网络战秘密防御系统[4],该武器实际上是一种智能化的软件操作系统,它可在特定网络遭受攻击时自主进行反击,而不需要人工操作。为应对以上挑战,研究人员借助人工智能技术解决这些难题,并推动了网络空间安全防御方法和手段的发展。
1 网络空间安全防御相关概念
为了更好地阐明人工智能技术在网络空间安全防御中的应用,对网络空间安全防御相关概念进行必要的解释和说明。
1. 1 网络空间
Cyberspace 是信息环境中的一个全球域,即由信息技术基础设施互相依赖结网而形成的空间,这些网络及基础设施包括了互联网、通信网络、计算机系统和嵌入式处理器及控制器[5].从人工智能学科中 agent 的角度来说,网络空间是网络空间作战中各方力量所处的环境,相比人工智能中传统的环境概念,网络空间有其独有的特性,包括对环境的部分感知、动态、离散、极度复杂且对抗激烈等特性。网络空间中对抗性极强,敌我双方共存于网络空间中,不仅要面对智能化的攻防技术手段,还面临来自防火墙、入侵检测系统和入侵防御系统等传统威胁。
1. 2 进攻性网络作战
进攻性网络作战是在网络空间领域对敌方信息系统和网络采取的计算机网络攻击(computer network attack,CNA) 与计算机网络刺探(computer network exploitation,CNE) 等军事行动和活动[6].CNA 是针对计算机系统或网络的数据、软件或硬件的一种恶意行为,这种行为具有破坏性、扰乱性、降解性和拒绝访问等特征。CNE 是指情报的搜集行为,它通过隐蔽的方式侵入计算机系统来获取需要的数据。
1. 3 网络防御
计算机网络防御(computer network defense,CND) 是指保护信息、计算机和网络免受扰乱或摧毁的措施,主要行动包括监视、检测和响应所欲非法授权的计算机行动,其常用技术包括被动信息保障、主动诱骗、网络空间冲突规避技术和入侵检测技术等[7].
1. 4 网络态势感知
1999 年 Bass 等人[8]首次提出了网络态势感知(cyberspacesituation awareness) 的概念,并将网络态势感知与最早的交通监管(ATC) 态势感知的概念进行了类比。目前,对于网络态势感知还未能给出一个公认的、准确的概念,但是普遍接受的理解是网络态势是指由各种网络设备运行状况、网络行为以及用户行为等因素所构成的整个网络当前状态和变化趋势。
2 典型应用
一种被普遍接受的观点是,人工智能技术被划分为两类:一类是去试图探索智能的本质并开发通用的智能机; 另一类是用于解决难以通过非智能化手段解决的复杂问题提供方法的科学,如基于大量数据进行辅助决策的方法。本文面向第二种人工智能技术介绍几种典型人工智能技术在网络空间安全防御中的应用。通过对国内外研究现状的分析,近年来,神经网络、多 agent 系统、专家系统、搜索、机器学习、自然语言处理等人工智能技术在网络空间防御中涌现出大量的研究和成果,其中较成体系、应用较多的技术主要有神经网络、多 agent 系统和专家系统,适用于应对网络空间防御面临的辅助决策、快速响应以及海量数据处理等挑战。本文重点介绍这几种人工智能技术的应用。
2. 1 神经网络
一个神经网络是一个由简单处理元构成的规模宏大的并行分布处理器[9],具有以下的特点: 信息分布存储,有较强的容错能力; 学习能力强,可以实现知识的自我组织,适应不同信息处理的要求; 神经元之间的计算具有相对独立性,便于并行处理,执行速度较快,有软件和硬件两种实现方式。神经网络这些特点尤其适合网络安全领域中模式识别学习、分类以及对攻击事件应对手段的选择等方面的应用。
目前,神经网络技术在网络入侵检测领域已得到了广泛应用[10 ~13],如 DDoS 检测、计算机蠕虫检测、垃圾邮件检测、僵尸检测、恶意软件分类和法理调查等方面。文献[10]使用神经网络作为用于网络检测的 agent 决策算法,能根据有限的网络状态提高检测能力并有效降低出错率。文献[11]在测量计算机行为的基础上通过神经网络技术来检测蠕虫病毒,与决策树等传统分类检测技术相比,该方法具有较高的检测效率,并能有效识别一些新出现的蠕虫病毒。文献[12]针对传统入侵检测方法存在的检测效率低和识别准确度不够等缺点,在不同的训练数据集的基础上,综合了再循环网络和多层感知器技术,提出了可用于入侵检测的神经网络体系结构。一些神经网络系统基于硬件或图形处理器实现,具备高速的处理能力,因此在网络防御领域得到广泛应用。神经网络自身也在发展,如由于更真实地仿真生物神经而带来的强化神经网络被称为第三代神经网络,为网络空间安全防御提供了更多的应用机会,而FPGAs(field programmable gate arrays,现场可编程门阵列) 的应用也促进了神经网络技术的发展和应对动态威胁的调整能力。
神经网络在网络空间安全防御领域的应用研究还处于起步阶段,有很多具有特色的人工神经网络模型与算法还没有得到很好的利用。随着对神经网络理论研究的进一步深入,其在网络空间安全防御领域将会有更为广阔的应用前景。
2. 2 多 agent 系统
Agent 是分布式人工智能领域的一门技术,agent 可以看做是一个自动执行的实体,它通过传感器感知环境,通过效应器作用于环境[9].随着多 agent 系统的发展和成熟,这一技术在网络安全防御中得到广泛应用。Agent 技术由于具备感知环境和具有规划能力等特点,在网络空间防御中主要用于网络态势感知、入侵检测和入侵防御。在提升网络态势感知能力方面,美国国土安全部等机构斥巨资支持对互联网空间的结构和拓扑进行测量,Archipelago[14]和 DIMES[15]是这方面的典型项目,通过部署在全球网络空间内的用于网络测量的大量 agent对互联网进行连续测量,并通过信息汇总形成全球互联网地图,以提升美国在互联网空间的网络感知能力。
互联网上的分布式网络攻击变得越来越频繁,这类攻击通常以自动化的手段对许多网络服务系统进行攻击。由于这些系统并不是由单独机构或个人掌管,用来检测并鉴别这类攻击的信息常常分布在多个系统中,对某一系统的安全管理员来说,为了处理这种分布式攻击,通常需要与其他系统的管理员进行沟通以获得全面的网络安全态势信息,而这常常又是非常困难的。针对这种分布式网络攻击模式,文献[16]基于 FIPA-OS 实现了一个多 agent 网络安全监测系统,这些 agent 被部署在不同的网络环境中,能够就所在网络的可疑事件与其他网络中的 agent 进行交流,通过协同的方式判断可疑事件是否是分布式网络攻击,并向其他网络的 agent 告知可能存在的威胁。
文献[17]基于多 agent 技术实现了分布式的入侵检测系统,文献[18]基于多 agent 和神经网络结合来实现入侵检测。美国海军使用智能代理安全管理者(intelligent agent security manag-er,IASM) 监视网络通信数据,能对数据进行收集、标准化、关联和分析,实时判断网络攻击的情况[19].网络防御方不仅要处理海量的网络态势信息,经常还需面对不完整和不一致的信息,这给网络安全事件的检测带来挑战。针对这种挑战,文献[20]基于多 agent 的知识表达、知识管理和行为约束,提出了一种新型网络入侵检测方法。
在网络入侵防御方面,文献[21,22]使用基于 agent 的技术来应对 DDoS 攻击,仿真模拟的结果显示合作的多个 agent能有效抵御 DDoS 攻击。
随着 P2P(peer-to-peer) 网络服务的广泛应用,这种体系结构理念也逐渐被网络安全研究领域所吸纳。文献[23]提出了一种基于 P2P 体系结构的多 agent 入侵检测系统,分布式的安全检测 agent,基于 overlay 网络实现了分布式的元知识库用于支持 P2P 分布式 agent 平台对网络攻击的协同防御,还给出了对 P2P 分布式 agent 的训练方式,基于这种训练方式可以有效处理和应对新的威胁。无线传感器网络和移动 Ad hoc 网络由于其开放性特征也面临着各种网络威胁,文献[23]使用多agent 技术实现了一个协同式无线入侵检测智能系统,通过强化的知识学习管理模块能够更有效地检测开放网络环境中的入侵行为。
在网络防御行动的指挥和控制方面,agent 及其控制者的联系方式既包括 agent 向控制者传递信息,也包括控制者向agent 发送反击和自我摧毁等命令。在这类网络防御系统的设计原则上,agent 的目标应该通过程序预设好,并尽可能控制在法律允许范围内,也要兼顾对 agent 的自主性的发挥。美军网络战 X 计划的一项研究内容就是确定 agent 自主运行的级别,研究一种面向领域的特定语言,用来描述通信失效或降级的情况下 agent 如何自主决策及自主程度,这些描述语言需要在agent 部署之前就注入到 agent 的程序逻辑中去。
多 agent 技术也开始被广泛应用于网络空间安全演练平台中,例如,DECIDE(distributed environment for critical infra-structure decision- making exercises)[25]是用于支持国家关键基础设施网络安全决策演练的分布式环境,通过多 agent 技术实现对虚拟对手非常真实的模拟,这些智能 agent 是在领域专家的协作下开发完成的,可以实现跟人类参演人员的实时交互。文献[26]基于以服务为中心的 agent 平台 JIAC 实现了一个网络安全模拟环境 NeSSi2,可以分析攻击事件并评估防御策略。
NetSim[27]是一个基于 Web 的分布式网络仿真器,曾用于美国国土安全部组织的 Livewire2003 网络安全演习,它支持沉浸式人机交互,基于 agent 技术实现了 UAA(user activity agent) 组件,能够模拟网络服务的使用者。当网络服务由于受到攻击而影响了可用性时,UAA 会模仿网络服务的普通用户向参演人员发送投诉邮件,而投诉的频度和语气也会随着网络服务可用性的进一步下降而增强,增加了参演人员的沉浸感。
基于 agent 技术的软件系统在结构上分为集中式和分散式两种。基于分散式 agent 技术的网络防御系统由于实现了分散式协作,不受集中控制节点失效的制约,抗毁性更强。
2. 3 专家系统
专家系统是发展较早、也是比较成熟的一类人工智能技术。专家系统主要由知识库和推理机构成,它根据某个领域的专家提供的特殊领域知识进行推理,模拟人类专家作出决策的过程,提供具有专家水平的解答,知识表示多基于规则,而专家系统的能力取决于知识的质量。借助于网络安全专家的经验和知识所构建的专家系统可以有效支持网络防御作战中的决策制定和自动化的网络防御系统开发,因此,在网络空间安全防御中引入网络作战专家的经验知识是十分必要的。
一些早期的入侵检测系统也曾广泛使用专家系统,这些入侵操作检测系统通常使用基于规则的方法,这些系统通过建立大量 if-then 规则来实现检测,这些规则是网络攻击和误用分析领域的专家制定并转换成入侵检测模块推理机可用的格式,通过检测日志等信息来检测可疑行为。一些实时的入侵检测专家系统[28 ~31]都是经典的基于规则的入侵检测系统。文献[32]提出了用于入侵检测的专家系统---NIDES,它是采用一种新型统计算法来实现异常检测的综合性系统,内嵌了将入侵场景编码在内的专家系统,该系统使用多种统计学方法根据审计日志计算用户行为的统计学特征,基于这些统计,系统建立不同权限用户组的正常行为的描述模型,然后通过一个子系统来监控用户行为并与以往的行为和专家制定的异常规则作比较,若差别超出阈值则认定该行为是入侵行为。
文献[33]将专家系统应用于网络空间的安全筹划,主要用于辅助安全手段的选择,并提供对有限资源最优化利用的指导。
文献[34]认为严格形式化的模型来描述和分析网络空间的冲突是十分必要的,也是基于人工智能开发网络防御系统的基础,提出了一种基于知识的框架用于管理网络武器和冲突,框架通过形式化的方式描述了信息的摧毁、窜改、一致性、可信性和可用性等概念,定义了网络武器、网络攻击、网络事件、网络冲突、网络间谍活动及网络冲突和战争等概念,为专家系统在网络空间安全防御中获得一致性、无歧义的应用奠定了基础。
3 发展趋势与展望
网络空间安全防御研究是一个新兴且蓬勃发展的领域,对海量动态信息的及时响应和自动化处理的需求是其面临的主要挑战,这将促使人工智能技术在网络空间安全防御领域应用的不断深入。目前,已有相当数量的人工智能技术应用在网络空间安全防御领域,而且从发展上来说,网络空间安全防御领域不断涌现出来的问题需要更智能的解决方案。
可以预见,未来的人工智能技术将会为网络防御中基于知识的态势管理和辅助决策带来新的方法和理念,这些新的方法包括辅助决策软件中模块化和层次化的知识体系结构的引入。
文献[35]就在联邦德国国防军的联合指挥控制系统中应用了此种体系结构来实现知识管理,文献[36]认为一个具有挑战性的研究领域是网络空间安全防御中的知识管理,只有自动化的知识管理才能够形成快速的态势评估,从而在指挥控制层次上为指挥员带来决策优势。专家系统尽管已取得很多应用,但形式上往往以内嵌在其他系统中的子模块来实现,文献[37]就是把专家系统作为安全措施计划软件的一部分。然而,如果知识库的开发可以更进一步完善,专家系统将得到更广泛的应用,但这些需要加大对知识获取和大型知识库开发的力量投入,未来的专家系统在体系结构上要注重专家系统工具的模块化设计和层次化的知识库建设。
多 agent 技术尽管作为网络防御手段已取得了很多研究成果,但现实网络作战中是否有真正的自主 agent 还未可知,并且在对已存在的网络病毒自主程度的界定上还存在一些争端,例如震网(Stuxnet) 作为目前已知的最先进的网络病毒之一,其是否属于自主 agent 就存在两种不同的看法。支持者认为震网使用了不需要人类干预的松耦合算法,使得震网在一个封闭的网络环境中能自主完成特定的任务,并且当震网与其控制者失联之后具有自我摧毁的能力; 反对者[38]
认为震网不是典型的自主 agent,真正的自主 agent 能在纷繁复杂的环境中识别出目标,而根据赛门铁克的报道,震网的程序逻辑是固定的,不能进行自主的目标评估和选择,主要是利用西门子公司控制系统(SIMATIC WinCC/Step7) 存在的漏洞感染数据采集与监控系统(SCADA) 向可编程逻辑控制器(PLCs) 写入代码并将代码隐藏,如果震网遇到了其他厂商的可编程逻辑控制器或是不同的西门子产品及网络环境,它会无所适从,并且震网也不具备时间持续性和学习能力。为 agent 设定目标时需避免在程序逻辑里写死,而应以一种像自然语言一样灵活的方式,如"摧毁离心机"这样的描述方式。
在互联网空间的防御方面,相互协作的可移动智能 agent有可能被用于充当网络空间警察的角色,除了需要相关法律的支持,在技术实现层面,需要网络运营商的合作,使得基础设施提供支持网络空间警察的移动和通信的机制,也要有效抵御破坏者利用这种机制。由于多 agent 可以通过协同和分布式信息处理实现对大规模网络的监控、通信、数据收集和分析,近年来,多 agent 在国家关键基础设施保护方面也开始得到应用[39],比如电子商务、数字医疗、通信和交通网络控制系统以及环境监控等国家关键基础设施。
国际 FLAIRS(Florida Artificial Intelligence Research Socie-ty) 组织近年来每年度专门召开人工智能和网络安全的专题会议,会议主要跟踪基于人工智能的解决方案在网络安全中的研究进展,2014 年会议的主题包括入侵检测系统中的机器学习、网络安全中的文本的自然语言处理、用于恐怖或犯罪活动检测的音/视频语义分析、人工智能和生物统计学,以及人工在数据采集与监控系统、网络系统、嵌入式系统、云计算领域中安全方面的应用等[40].
上面所介绍的神经网络、多 agent 系统以及专家系统等人工智能技术从不同途径实现了对网络空间安全防御不同方面的智能化支持,有着各自的长处,但同时也存在相应的不足。如何将这些技术结合起来形成一种综合的网络空间态势分析和辅助决策系统,使网络空间安全防御系统能够将不同方法的优势互补,扬长避短,是现在研究人员所关注的问题。
4 结束语
网络空间安全防御是围绕保护计算机系统和网络中信息和资源的可信性、一致性和可用性展开的跨学科的领域,现代信息系统的复杂性和来自社会和技术多个维度威胁的多样性需要具有智能化、自适应和多模式的解决方案,而人工智能技术恰恰适用于此。尽管很多研究还处于初期的探索阶段,一些应用也存在许多争论,但不可否认的是,人工智能技术在网络空间安全防御领域正得到越来越广泛的应用,相关的理论、系统与项目也将不断面世。希望通过本文的分析讨论以及对国际上与此相关研究工作的介绍,能够引起国内研究人员对这一新兴领域的关注与研究。
参考文献:
[1] 黄维真,何荷。"X 计划": 美军网络作战线路图[J]. 环球军事,2013(19) : 23-25.