时间:2013-11-18 12:00 文章来源:http://www.lunwenbuluo.com 作者:谭啸 点击次数:
摘要:提高网络安全性的核心就是能够对网络安全风险进行精准的评估。采用隐马尔卡夫模型对实时网络安全风险进行量化,输入方式则选用入侵检测系统的告警,在对网络风险进行实施量化的同时,并能够对网络遭受的危险进行有效评估。但由于此项操作配置过于复杂,容易在评估过程中出现误差,为了简化其配置复杂度,该文针对其存在的一些问题提出了一些优化措施。
关键词:网络安全;风险评估;隐马尔卡夫模型;优化
中图分类号:TP393文献标识码:A文章编号:1009-3044(2013)28-6287-02
1基于HMM的网络安全风险量化
采取HMM方法实施网络安全量化的重点就是将每台网络中的主机定义为具有N个状态,采用[S=s1,…,sN]表示,由此可以得出该主机状态序列是[Χ=x1,…,xT],[xt∈S],一般将主机定义为拥有4种状态;分别用A,P,G,C表示Attacked,Probed,Good,Compromised,因此S={A,P,G,C}。对主体的风险进行定量分析,能够通过对主机状态的准确定位来进行。假若将能够观察到的主机遭受的攻击设为M种,用[A=a1,…,aM]表示,就能够获得攻击序列[Υ=y1,…,yT],其中[yt]属于A。HMM中还包含了一个[λ=(Trans,Obs,Init)]这样的三元组,这样就能够对状态进行计算。其中,主机状态之间的转换概率通过状态转矩阵Trans来表示,当t时刻的状态是[St]时,用[Transij]来表示,那么就可以通过[Transij=P(xt+1)=sj|xt=si),1≤i,j≤N]。来表示到t+1时刻状态[Sj]时的概率。通过观察矩阵Obs能够知道某种攻击在主机处于某一特定状态时所观察到的发生概率,主机处于[Sn]状态时,在时刻t观察到[am]的概率,就用[Obsnm]来表示,即[Obsnm=P(yt=am|xt=sn),1≤n≤N,1≤m≤M]。对于主机在一开始所处的各个状态的概率计算通过向量Init来进行,即[Init=(r1,…,rN)],Init表示主机的初始状态。而主机实时各状态的概率计算则利用Trans与Obs来进行,即[pt=(r1,…,rN)]。
通过[rt={rt(i)},1≤i≤N]来表示在t时刻的状态分布,状态的分布概率公式为
[rt(i)=P(xt=si|yt)](1)
为了表示一台主机在每个状态的风险值,需要再引入一个代价响亮,这样一来就可以用主机状态的定量分析取代原来的定性分析。假若将此主机在每种状态下的风险设为,C={1,10,20,100},那么就能够通过公式(2)来求出当前主机的风险值,计算公式为:
[R=i=1Nrici](2)
通过主机的风险值就能够知道主机的被攻击程度,当风险值处于1至10范围内时,就表示主机受到风险的几率十分大,处于10到20的范围时,就表示攻击已经发生,假若数值大于20时,就表明主机受到非常严重的攻击。假若某个网络是由L台主机构成,那么这个网络的风险值就能够通过式子(3)轻易算出,公式为:
[Rnet=i=1LRi](3)
输入方式选取IDS告警,并通过HMM对网络安全风险进行量化,具有下面这些优点:1)输出通常是和输入相对应的,而由于IDS告警为动态输入,因此输出亦是动态,这样就能够根据系统遭受攻击的具体情况,实时的对系统的风险作出反应。能够正确的体现出风险的含义,对于不影响到内部网络的一些攻击或漏洞,如被IPS或边界防火墙阻断的攻击,或是存在于内部网络的一些漏洞等,都不会将它们视为风险。2)量化简单,能够通过当前主机一个明确风险值的大小,对主机安全事故的具体情况进行直观观察,如事故的严重程度或里面的一些细微变化等。这个风险值能够通过为主机的每个状态配备一个风险代价,并与没各状态的概率相综合来获取。3)能够进行参数配置,能够采用不同的初始状态矩阵、Obs矩阵、Trans矩阵与风险代价向量对不同的网络进行风险评估,获得结果也不尽相同,因此对于所有的网络环境都具有相当强的适应性。4)通常情况下,内部网络中的主机都不是很多,而所采用的隐马尔可夫模型计算量亦不大,所以能够快速地进行风险评估,该文曾经对一个C类地址网络进行一次风险评估,整个计算过程仅消耗不超过10ms的时间。因此在网络遭受攻击时,能够对对其风险值进行即时更新。
然而有两个显著的问题在通过HMM方法对网络安全风险进行量化的过程中出现,首先,就是对Obs矩阵与Trans矩阵的具体数值的确认问题。要对这两个矩阵进行精准配置,操作难度很大。由网络管理员进行手动设置是最常用的方法,这种方法明显具有很大的随意性,容易出现错误,管理员水平的高低往往是决定效果情况的关键,不建议进行大范围推广应用。最后,就是对Obs矩阵规模的控制问题。由于IDS告警中对于攻击方式的分类非常广泛,就是Snort基本告警个数就超过八千,假如将Obs矩阵和IDS告警直接关联的话,Obs矩阵的规模就十分之大,运行时间就会很长,运行效率十分不理想。为了提高计算速度,就需要寻找一种恰当的方法对告警进行归类,进而将HMM的Obs矩阵的规模压缩到与要求相符的大小。对于这些问退,该文通过采用遗传算法和引入攻击威胁度来进行应对。HMM中的矩阵就利用遗传算法进行自动求解,而攻击的归类方法则采用攻击威胁度来实现,并把用户配置、网络环境与攻击相互结合起来。在遗传算法优化目标的设定过程中,为了对网络安全风险与攻击之间的联系进行形式化的描述,该文提出了一种通用的网络安全风险描述通则,并建有一个风险描述规则库,里面共有29条常用规则。上面这些措施都是在原来方法的基础上进行创新和优化得出的,由于风险描述通则是作为一种通用标准来对各类方法进行有效性评价的,因此还要对其进行更深入的研究。
2Obs矩阵与Trans矩阵的求解
本文通过遗传算法来对Obs与Trans矩阵进行自动求解,为了不与手动配置的矩阵搞混,将通过这种形式获得的矩阵称为优化的Obs与Teans矩阵。遗传算法(GeneticAlgorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则,已在组合优化、机器学习、信号处理、自适应控制和人工生命等领域得到广泛应用。遗传算法主要由适应度函数设置、编码表示及变异运算策略这三部分组成,因此对于遗传算法与HMM方法的结合,亦是通过对这些部分的进行设置来完成。其中适应度函数设置的操作难度最高,下面将对对这个问题进行一些简要的分析。
3适应度计算
这个方法最难处理的地方就是对染色体适应度的准确判断,由于风险评估中本身存在着很多难以准确确认的地方,因此对网络风险值进行精准描述是一件非常困难的事情。如就算管理员了解某种攻击会对网络造成很大的风险,但是要他就这个问题在0到100之间选取一个具体的数字来表示,就十分困难了,可能是90,可能是98,这两者似乎都是可行的,最麻烦的是随着网络环境的不同,这个数值也会跟着改变。此外,假若对于每一个攻击都要求管理员给出一个具体的风险值,管理员的工作量就会非常庞大,恐难以负荷,容易出错。为了解决这个问题,该文通过对风险描述规则进行定义的方法来求取适应度。
相关内容
联系方式
随机阅读
热门排行