蔡红柳,田 磊,高 朦
(装甲兵工程学院信息工程系,北京 100072)
专家们认为[1],建模仿真正在成为继理论研究、科学实验之后第3种认识世界的手段。运用建模仿真手段,建立网络对抗训练模拟系统,为网络攻击、网络防御等作战样式和
网络战法的运用提供对抗模拟、效果演示和攻防训练环境,是培养掌握网络攻击和防护技能人才的训练手段。
网络对抗是采取各种手段摧毁、破坏和瘫痪对方网络系统,阻止对方对有效信息的获取、传递与处理流程,同时对自己的计算机网络实施整体防护,保证自己网络信息畅通的1种活动,包括网络攻击、网络防御以及探测。网络对抗的基本特征是以计算机网络空间为战场、以计算机为主要武器、以信息和软件为作战手段、以计算机网络系统为主要目标进行信息网络进攻与防御。网络对抗包括攻击性网络对抗活动、防护性网络对抗活动和支持性网络对抗活动3种。
经过分析发现,网络攻击持续的时间有长有短,方法和手段多种多样,达到的效果各异,纷繁复杂。若将网络攻击过程按时间顺序归纳为若干阶段,则其可划分为攻击身份和位置隐藏、目标系统信息收集、弱点信息挖掘分析、目标使用权限获取、攻击行为隐蔽、攻击实施、开辟后门、攻击痕迹清除等。攻击者在各阶段使用不同的方法和工具,实现不同的目标,各阶段前后呼应,共同实现对最终目标的攻击。
任何攻击都包含攻击者、工具、访问、后果、目标5个基本因素,其分类如图1所示[2],并且每个因素又都包含若干子因素。例如,访问因素又包含了攻击准备(渗透)、攻击实施(渗透并攻击)、痕迹清除3个战术阶段的子因素。1次网络攻击可看作是诸多因素共同作用的复杂过程。这种分类方法明确地将源、目标以及后果和手段区分开来,有助于描述网络攻击模型。
图1网络攻击分类框架
网络防御是在加强防护能力的同时,加强对自身漏洞和状态的检测、管理、监控以及处理能力,形成对安全事件的快速响应。防护的目的在于阻止或延迟入侵时间,为检测和响应提供更多的时间[3]。检测和发现的目的在于做出快速防御反应。将防护、检测和响应结合安全策略,构成防御策略体系,如图2所示。
图2 网络防御策略体系
由于网络攻击会使网络和计算机主机出现拒绝服务、信息泄露、信息损坏和信息被盗用的后果,因此,检测网络通信度量和主机的可计算度量,并将这2个指标作为是否遭到网络攻击的依据,通过比较判断上述2个指标,可决定采取何种响应策略。主机的可计算度量[4]主要指主机的计算资源使用率(主要是CPU的使用情况)、存储资源使用率(包括内存以及硬盘资源使用情况)以及开放的服务信息等;网络通信度量指网络带宽、TCP连接数、丢包率、端口使用信息以及其他可测量的通信度量。
在网络对抗体系中,攻击者针对不同的目标和目的,可采取多种攻击工具实施网络攻击。而有效的防御策略必须能对网络攻击进行快速检测和判断,并做出快速、准确的防御响应。
归纳起来,网络对抗系统是1个由不同攻击者,攻击工具,访问途径,攻击后果,以及防御方信息采集、安全态势评估、防御响应等组成的复杂系统,体现出由网络攻、防(实体),各实体节点间(物理、逻辑)“连接/关系”以及各实体节点间信息“比特流”交互、输送、聚集、融合等构成的具有混沌、突变、分形、涌现等的高度复杂非线性系统特性[5]。
依据复杂适应系统理论,分析网络对抗系统中网络攻击与网络防御间的静态关系与对抗态势变化的动态关系。对于具有复杂特性的网络对抗系统的建模与仿真,可将网络对抗系统中攻防实体及攻防过程中需要的规则、策略抽象为Agent,并确定每个Agent具有的属性和承担的功能,如表1所示。
表1 网络对抗系统中的Agent及属性
每个Agent都是具有行为特征的动态实体,通用Agent结构模型如图3所示。Agent由感知模块、知识库、推理模块、内部状态模块、效应模块和通信模块组成。主体通过感知模块来感知外部环境,对环境信息做出一定的处理,并送到推理模块;推理模块在知识库的支持下,根据感知得到的外部信息做出推理,将推理结果传送给效应模块与通信模块;效应模块则根据传入的动作命令做出相应的行动,对外部环境做出响应;通信模块主要用来处理Agent之间的信息交换。
图3 通用Agent结构模型
在明确体系对抗生成与演化机制的基础上,运用多A-gent建模技术构建以复杂网络为中心的网络攻击方、态势显示、网络防御方的多 Agent系统(multi-agent system,MAS)模型体系框架,如图4所示,来模拟整个网络对抗系统的功能和对抗的过程。
识别网络对抗系统中各目标和任务对应的角色,分析目标和任务的相关性,将相关角色识别为1个粗粒度的Agent。根据系统的任务可知,系统由网络攻击方、网络防御方以及态势显示三大部分组成。其核心是各种类型的实体Agent:攻击者Agent、攻击工具Agent、过程控制 Agent、攻击执行 A-gent、信息采集 Agent、态势评估 Agent、防御响应 Agent以及态势显示Agent等。所有Agent都服从系统整体目标任务,通过Agent之间的通信来模拟真实系统各角色的交互,从而实现整个系统的功能。
各实体Agent的结构在通用Agent模型的基础上,根据自身功能和承担的责任确定内部功能模块。知识库是Agent的重要功能模块,是决策的重要依据,也是区别个体Agent的重要特征。数据库可采用XML文档表示,XML具有良好的数据存储格式、可扩展性、高度结构化、便于网络传输等特点,能够支持Agent从一个网络节点到另一个异构节点之间的移动[6]。
系统静态关系主要利用UML类图来描述,确定系统包含的Agent类及类之间的静态关系。通过该层信息的描述,可初步确定系统的组成及系统框架。
网络对抗系统的复杂性主要体现在系统的动态行为上。网络对抗系统包括攻击方实体、防御方实体以及其他功能性实体,各实体之间传递着大量的控制、信息数据流,使其成为1个动态的复杂系统。这里的动态行为有系统级的动态交互、模块级的内部行为和状态变化,以及实体级的自身状态迁移。网络对抗系统的动态行为建模就涉及到以上3个层面的模型,如图5所示。
图4 网络对抗系统体系MAS结构框架
图5 网络对抗系统的活动
图5中描述了网络对抗系统从攻击到防御响应的整个活动。网络攻击方确定攻击目标、制定攻击策略并下达攻击指令;攻防实体实施具体攻防活动,并报告结果和自身状态;网络防御方完成攻击行为的检测、判断以及安全态势评估,制定和选择合适的防御策略,并做出合适的网络防御响应。图中的某个活动可能存有2个及以上的输入控制流,他仅表示输入流流向同一个活动,与输入流的同步“结合”无关。
在完成系统功能实体的抽象,确定整个系统的静态体系结构和总活动图后,须对模型进行细化。根据Agent的责任和功能确定其具体的内部功能模块,确定Agent需要响应的外部事件以及需要对外做出的反应。此外,还需确定Agent之间的通信方式、通信语言以及与其他Agent之间要遵循的交互协议。最后,对设计的思路进行检查和修正,并进行程序的开发。
基于Agent的复杂系统建模理论与方法是最具活力、最有影响力的建模方法之一,他为分布式复杂系统的问题研究提供了新的思路。本文利用Agent建模思想,对网络对抗系统进行建模研究,通过对系统的静态结构和动态行为的建模分析,可为下一步的模型细化和仿真实现奠定基础。
[1] 胡晓峰,杨靖宇,司光亚,等.战争复杂系统仿真分析与实验[M].北京:国防大学出版社,2008.
[2] Howard J.An Analysis of Security Incidents on the Internet[D].USA:Carnegie Mellon University,1997.
[3] 卢昱.协同式网络对抗[M].北京:国防工业出版社,2003.
[4] Qu Guangzhi,Tushneem R.Vulnerability Analysis for Network Faults and Attack[M].California:University of Arizona and University of Southern California,2001.
[5] 郭雷,许晓鸣.复杂网络[M].上海:上海科技教育出版社,2006.
[6] 陈志伟.基于Agent的协同开发体系[J].东北林业大学学报,2008,36(8):90 -91.
(责任编辑鲁 进)