熊英乔,邱 芬
(南昌大学科学技术学院,江西 南昌 330029)
恶意软件可以利用多种破坏机制毁坏文件,导致网络无法正常运行,对信息安全带来严重威胁,甚至会采用不法手段窃取军事机密,造成国家不可估量的损失。为此,恶意软件攻击防护已经发展为备受瞩目的网络安全话题。随着攻击类型的多样化与复杂化,入侵检测技术得到广泛应用,不但可以检测出未授权的目标,也可以对非法资源占用进行有效检测。但面对日益复杂的攻击方式,传统的特征匹配检测方式已经无法精准识别恶意行为,为此相关学者纷纷提出一些恶意行为检测方法。
文献[1]提出基于云计算的恶意软件攻击行为检测。利用Fourier变换方式获取数据的震荡衰减规律,分析此规律得到网络输出解析模型,获得高阶累积量切片函数;通过高阶累积量后置搜索方式对解析模型进行搜索,全方位识别攻击行为特征;在云计算环境下对攻击行为数据特征进行表示,实现攻击行为检测。文献[2]提出基于LSTM-CNN的恶意软件静态检测。利用无代理的方法获得待测软件特征,提取调用序列当作行为数据,通过模型对序列进行向量化表示,提取语义信息特征以此实现恶意行为检测。
本文通过构建恶意软件攻击行为的时序逻辑来模型来分析是否会发生攻击事件。时序逻辑可表示与推理“时间限定”的相关命题,通常用在形式验证。其主要成分为时序语句,包括时间确定与不确定两种。常用时态包含未来、过去与进行时态算子,通过对攻击行为构建时序逻辑,确定形式语义和证明规则,确保系统在同种逻辑中进行推理,是一种高效推理方法。
1)探测攻击:对能够连接成功的开放端口进行扫描,确定主机端口的配置状况、服务种类与程序版本号。此外,还能获取网络漏洞等信息,当攻击者找出有安全隐患的端口后即可开展攻击行为。
2)网络监听:对网卡模式进行设置,使其处于混杂状态,监听某网段经过的全部数据包,获得敏感数据。
3)解码攻击:利用各种方式得到文件,再通过猜测程序完成用户账号与密码的破解。
4)未授权访问:抓住系统管理漏洞,获得较高的操作权限,一般使用的手段包括电子邮件、IP攻击等。
5)伪装攻击:利用虚假地址,用伪造身份和其它主机之间进行非法通信,使主机做出错误响应。
6)协议漏洞:攻击者通过协议自身存在的缺陷进行攻击,此种攻击主要包括Web欺骗、泪滴攻击等。
7)缓冲区溢出:向系统缓冲区域发送大于其容量的内容,导致缓冲区溢出,破坏软件程序,生成其它指令。如果这些指令存入root权限中,此时指令得到运行,攻击者即可获取系统权限。此种攻击的主要目的为使运行程序混乱,有助于攻击者对权限的控制。此外,缓冲区溢出会导致匿名用户获取全部控制权,是一种非常严重的软件攻击行为。
8)拒绝服务:此种攻击类型包括两种,其一为软件自身弱点造成的,此种攻击由开发商修补即可;另一种是通过合理请求占用太多服务资源,减少空间容量,造成系统无法响应。
步骤一:隐匿身份者一般是具有针对性的,例如盗取关键数据等。隐匿身份属于攻击者的预设过程,可通过IP伪造等方法掩盖攻击源。攻击者需获取海量信息当作攻击起点,此过程难以事先防范。
步骤二:信息采集,网络架构一般是分层设计的,攻击者很难直接进行信息采集。但随着攻击方式的多样化,信息收集变得尤为方便,利用搜索引擎即可查找和网络有关联的全部设备。
步骤三:用户破译,只需经过底层操作系统的认可,就能全面破解用户的账号与密码。如果破解成功,可直接对其它程序进行控制。若底层协议对其没有认证成功,则可通过暴力枚举获得用户角色。
步骤四:发送恶意代码,当攻击者获得足够权限时,便能对目标进行恶意攻击。攻击者需将恶意代码传输到目标设备中,或使软件执行恶意代码。
步骤五:攻击操作,这是攻击者的最终目的,可通过蠕虫病毒与木马方式执行。无论哪种方式都会给网络带来严重破坏,泄露大量隐私信息。
步骤六:产生效果,主要包括两种形式:窃取式攻击与行为攻击,前者造成的后果是信息泄露,后者则会造成系统崩溃、软件毁坏等后果。
步骤七:消除痕迹,寻找后门与去除痕迹属于恶意攻击的后续策略,也是长期入侵的必备手段。一些新型攻击方式很难被入侵检测系统发现,但在最后开后门过程时会发现异常,达到及时止损目的。
结合上述恶意软件攻击类型与主要过程,构建基于Petri网的行为攻击模型。Petri网是支持运行的系统模型,主要表示系统状态、事件与条件之间的存在的关系。其中条件能够将事件激活,此时会造成系统状态变化,进而促使其它条件变化。和其它攻击模型比较,该方法不但能反映静态的攻击过程,还可以准确模拟执行条件与结果。
本文将Petri网当作某三元组PN
=(P
,T
,F
),且P
={p
,p
,…,p
}属于有限集合,元素p
表示库所,可以描述网络运行状态;T
={t
,t
,t
}为有限集合,元素t
被定义为变迁,表示系统事件,F
={T
×P
}表述P
和T
之间的关系结合,P
和T
符合P
∪T
≠∅同时P
∩T
≠∅的要求。除上述要求外,Petri
网还有如下特点:在两库之间不具备有向弧、两变迁也不具备向弧。假设P
={p
,p
,p
,p
,p
}代表库所集合,T
={t
,t
,t
,t
,t
,t
}属于变迁集合。p
表示t
的输入库所,t
表示p
的输出变迁,若要从状态p
抵达状态p
,必然路过t
。P
、T
、F
属于Petri
网内静态属性,能够表示软件攻击模型中目的、状态、技术等静态要素。如果将Petri
网当作攻击模型,则需对其中静态要素进行详细说明。如果P
是攻击状态,p
为原始状态,T
是攻击技术集。结合状态、原始状态与攻击技术之间的关系可得出:p
可能变为下一个攻击状态。经过t
可抵达p
,所以t
的子目的表示为经过t
促使攻击状态变为p
。在Petri网攻击模型中,攻击路径即为状态P和技术T的交叉序列,其中包括初始状态和目的状态。每条攻击路径对应一种攻击方式,结合攻击模型内的三种关系能够得出:攻击路径取决于关系,关系会使恶意攻击过程发生分叉现象,进而生成多条攻击路径。
探明恶意软件攻击的类型与攻击过程后,基于Petri网构建了攻击模型,采用行为时序逻辑分析方法获取攻击过程的时序特征,结合此特征,即可达到恶意软件攻击检测目的。
行为时序逻辑属于规约并发逻辑,其形式语义及规则可在同种逻辑中完成推理。此种方式实现了时序与行为逻辑的有效整合,是一种高效推理方式。
x
描述状态变量,则x
′为下个状态值。Δ描述逻辑算子,F
的意义为公式F
始终是正确的。∃符号则是一种量词。状态函数与谓词的语法一致,均包括变量、运算符号、常量符号。其中状态函数是对状态进行赋值的方式,状态谓语则是与状态相关的布尔表达式,它的取值只包括true
和false
两种。在时序逻辑中,状态变迁指连接两种状态的行为。语义上表示某行为就是某状态对〈s
,t
〉是否成立,及状态s
是否成功变迁到状态t
。而在语法中,其代表具备变量及变量新状态的布尔公式。将符合行为A
的状态〈s
,t
〉称作A
步,且A
在状态s
使能。行为时序逻辑的标准公式表示为
∃x
=init
∧[N
]∧L
(1)
式中,init
代表原始状态的谓词,[N
]=N
∨(v
′=v
)则为状态变迁需要符合的行为条件,其功能允许变量组v
在不同状态时取值不变,L
属于约束条件。n
个从属变量,但是现阶段仅获取m
(m
<n
)中变化形式。为改善此问题,本文增加了一些假设。将该思想与时序逻辑相结合,提出假设时序逻辑模型。下述是本文引入的基本假设。1)假设变量:和一般变量不同,该变量必须通过假设完成,可利用这些假设变量值使系统达到理想状态。假设V
为变量集合,V
与V
分别描述柔性与刚性变量集合。2)状态:假设的状态能够第缺失的信息添加假设内容,获取整个网络系统状态。
3)异常:异常即为正常状况下理想或不理想的状态,在改进的时序模型中,异常包括假设变量、常量等,通过符号⊥描述。其分为两个状态值即true
与false
。4)行为和假设:时序逻辑模型的行为数据两个公式的合取。一个时序行为A
对某状态〈s
,t
〉成立,且A
(∀∈V
:s
(v
)/v
)=ture
。经过上述假设后,获得改进的时序模型标准形式
(2)
经过上述改进后,时序逻辑保留了公平性,使系统不会出现异常状态。利用时序逻辑的标准公式,确定语法形式规则,构建恶意软件攻击行为的时序逻辑模型。首先给出如下语法:
约束表达式为
δ
=T
+c
(3)
式中,T
表示约束因数,c
表示约束常数。区间表达式
φ
=δ
+p
(4)
式中,p
表示区间距离值。时间表达式
ψ
=φ
×s
(k
)(5)
式中,s
(k
)表示在状态k
下真实值。利用上述语法形式与时序关系共同构建了时序逻辑模型,该模型根据不同攻击事件的时序逻辑,可分析出是否有恶意软件攻击行为发生。仿真中使用Pentium42.8GHz,4G内存的仿真平台,操作系统型号是XP SP2,为了对文献[1]方法、文献[2]方法与本文方法进行公平的性能比较,使用Workstation5.0虚拟机,并将驱动系统引入到实际系统内,安装恶意软件攻击分析系统。当全部软件完成安装后,对虚拟机拍照,储存照片,便于系统状态回滚。仿真平台拓扑结构如图1所示。
图1 仿真平台拓扑结构图
本文实验设计的恶意软件攻击类型与攻击时间如表1所示。
表1 恶意软件攻击表
图2 文献[1]方法丢包数量
图3 文献[2]方法丢包数量
图4 本文方法丢包数量
由图2到图4可知,本文构建的时序逻辑模型可有效分析出恶意软件攻击行为发生的时间,与表1设计的发起攻击时间完全对应。当120s、135s与150s发生攻击事件时,本文方法的接收数据表数量明显下降,表明该时间段有攻击行为发生。
在此次仿真中,仿真总时长为165秒,对网络软件发起恶意攻击,利用三种方法进行计算。实验指标包括:D代表在系统并发压力下,模型检测出的恶意攻击行为占总攻击行为的数量;D代表总攻击行为总数,检出率P:指模型认定的攻击行为中属于真实攻击行为的比重,其表达式为
(6)
三种方法的决策率及检出率测试结果分别如图5和6所示。
图5 不同方法决策率对比图
图6 不同方法检出率对比图
由图5和图6可知,文献[1]方法的决策率下降速度较快,这是因为随着系统并发输入数量的增多,多个活动事件在相同时刻发生,导致该方法不能进行精准决策;此外,三种方法的检出率随着并发输入数量的增多均呈现先下降后稳定的趋势。利用本文方法构建的行为时序逻辑模型进行软件恶意攻击检测时,决策率与检出率均高于两种方法。表明本文方法经过一段时间检测后已经完全掌握恶意攻击的行为特征,提高攻击行为的识别准确率。
由于数据量的飞速增长与攻击模式的多样化,必须通过有效方式分析出恶意攻击行为。本文对恶意软件攻击构建行为时序逻辑模型分析。利用该模型推理出是否存在恶意软件攻击行为,仿真结果证明,该模型无论对于哪种攻击方式都有较高的决策率与检出率,同时建立了防火墙与漏洞扫描技术。随着网络环境的变化,必须加强安全防御体系来解决不断涌现的新型攻击问题,逐渐完善攻击模型库,为恶意攻击检测提供较为规范的平台。