面向对象Petri网的网络攻击模型

2016-05-04 00:25郭允博
2016年11期
关键词:攻击行为面向对象脆弱性

郭允博



面向对象Petri网的网络攻击模型

郭允博

摘要:为了解决基本Petri网建模存在的问题,结合面向对象技术定义网络安全要素和攻击规则,提出面向对象Petri网的网络攻击模型。该模型能够有效缩减状态空间的规模,适合对复杂网络攻击建模。

关键词:面向对象Petri网;网络攻击模型

一、引言

单一的建模技术由于其自身的特点和局限性,无法描述当前复杂的网络攻击场景,将面向对象的思想融入到Petri网的定义中,能够增强模型的描述能力[1]。在建模过程中对论域中的每个节点创建对象,对象内部封装安全要素及对漏洞可实施的攻击方法,可以形式化描述大规模网络的攻击环境,同攻击图和渗透图等模型相比,面向对象Petri攻击模型具有描述并发的协同式攻击的能力又有效地解决了状态空间的“爆炸”问题[2]。

二、面向对象技术在网络安全建模中的应用

网络安全建模是从攻击者视角,依据网络中存在的安全要素及攻击行为发生利用的攻击规则,构造网络的攻击场景。

定义2.1:节点对象O定义为三元组。A为节点对象的状态信息集,Method表示节点对象中封装的方法;Relation为节点对象之间的关联关系。

定义2.2:节点类,是对拥有相同关联关系、相似状态信息和操作方法的节点对象的集合。不同的网络节点具有不同的功能与性质,分为:Host、Server、Firewall、Router、IDS。节点类记录为,其中攻击者节点类没有状态信息A与操作方法R,其余节点类定义同定义3.1。

定义2.3:攻击规则集Attack-Rules,表示节点对象脆弱性状态发生变化时依据的规则。AR=,其中,rule_id为攻击规则的编号;action_name为攻击行为名称;pre_con为攻击的前件状态集,即该攻击行为发生应满足的前提条件pre_conditions A∪R。post_con为攻击后件状态集,即该攻击行为发生后产生的结果,结果的表示形式为主机脆弱性状态的转变post_conditions VS。攻击规则只是对一类攻击行为的抽象,在具体攻击过程中需要对攻击规实例化,即对攻击规则的前件状态与后件状态赋值。

网络安全要素包括节点对象的状态信息以及节点对象之间的关联关系。状态信息包括:网络服务、应用程序、数据等级、漏洞;关联关系为网络连接、信任关系及访问权限。

定义2.4:属性集Attitude表示节点对象中的状态信息,定义为二元组。attitude-type表示属性类型,attitude-value表示属性值,属性值的记录形式O.attitude-value。attitude-type表示静态属性static;反之,attitude-type表示动态属性dynamic。其中:静态属性的attitude-value=,host为节点对象的名称,address为节点对象的IP地址,type为节点对象的类型;service表示节点对象上的网络服务定义为service=,ser_name为网络服务名称,portocol表示服务所使用的网络协议,port指网络服用监听的端口;application为节点对象上运行的应用程序;data为节点对象上存放数据的等级;leak表示节点对象服务存在的漏洞,leak=,leak_id为漏洞编号,leak_description为漏洞描述。动态属性表示脆弱状态,attitude-value={Access,User,Root,DoS,Info-leak,Controlled},Access,User,Root表示攻击行为发生时可从该节点对象获取的权限;DoS表示该节点对象处于拒绝服务状态;Info-leak代表对象上的数据被非授权访问或者读写;Controlled代表主机处于可控状态,允许执行远程代码或任意命令[3]。脆弱性状态的属性均为布尔变量,值为真时表示利用该脆弱性状态的攻击行为发生,反之未发生。

定义2.5:方法Method是一系列函数的集合,表示攻击者的攻击行为。Method定义为二元组。其中,name表示方法的名称;realize表示方法的实现,方法的过程和步骤存放在攻击函数库中,通过参数调用,调用结果是脆弱性状态发生变化。

定义2.6:关联关系Relation表示为P(X),P为谓词,X为参数集。物理连接PR表示攻击者节点与主机间及主机与主机之间的物理联通关系,记录形式为PR(Oi,Oj);访问关系AR表示攻击者节点具有某节点对象所有的权限,记录形式为AR(Oi,Oj);信任关系TR表示节点对象间访问不需要认证,记录形式为TR(Oi,Oj)。

三、面向对象Petri网(OOPN)的网络攻击模型

定义3.1:面向对象Petri网OOPN=(O,P,T,Tok,IA,IO),其中:O表示节点对象集合,O={O0,O1,O2,…ON},O0表示攻击者节点;P表示库所的有限集合,P={O0.p0,O1.p1,…,Oi.pj,…,ON.pn},Oi.pj表示节点对象Oi上的库所pj,pj由脆弱性状态表示;T表示变迁的有限集合,T={T1,T2,…,Tm},m为变迁个数,P∩O=?;Tok表示库所中的托肯,托肯中存储用来携带攻击路径信息的数据结构,Tok记录为二元组。其中,rout={p0,t1,p1,t2,…,pk,tl},rout记录攻击路径经历的库所和变迁;information记录激发托肯到达当前库所的信息;Oi表示变迁的输入弧集合,OA={δij}。δij表示从pi到tj的弧,1≤i≤n,1≤j≤m,i、j都是正整数。OA表示变迁的输出弧集合,OA={δji}。γji表示从pj到ti的弧,1≤j≤n,1≤i≤m,j、i都是正整数。

四、结论

OOPN攻击模型反映了网络安全状态,给出网络中各脆弱性的依赖关系,依据此模型可以分析目标网络可能面临的威胁,计算其风险概率,找出降低或消除威胁的安全措施。本文重点完成了OOPN攻击模型的定义,此方法给网络攻击形式化建模提供一种思路。(作者单位:西安建筑科技大学)

参考文献:

[1]乐晓波,汪琳,庹清.面向对象的Petri网建模技术研究,计算机工程,2002.5.

[2]刘道斌,郭莉莉,白硕.基于Petri网的安全协议形式化分析.电子学报.2004.11

[3]王纯子,黄光球.基于脆弱性关联模型的网络威胁分析.计算机应用2010,30(11):3046-3050.

作者简介:郭允博(1990-),男,汉,陕西西安人,硕士研究生,西安建筑科技大学,研究方向:网络安全。

猜你喜欢
攻击行为面向对象脆弱性
住院精神病人暴力攻击行为原因分析及护理干预
基于人工蜂群算法的无线网络攻击行为的辨识研究
面向对象的计算机网络设计软件系统的开发
面向对象的数据交换协议研究与应用
煤矿电网脆弱性评估
杀毒软件中指令虚拟机的脆弱性分析
基于攻击图的工控系统脆弱性量化方法
面向对象Web开发编程语言的的评估方法
基于电流介数的电力系统脆弱性评估
面向对象信息提取中影像分割参数的选择