APP下载

基于隐马尔科夫模型下的实时风险管理

2014-05-30何丽

电脑知识与技术 2014年8期

何丽

摘要:在目前实时风险管理整体现状的研究基础上,该文独立设计出了一种实时风险管理的框架。理论分析表明,与传统做法相比较,改进后的实时风险评估子模块不仅节省存储空间而且在与其它子模块进行交互时更具有实时性,得到的风险值也更加合理。

关键词:实时风险管理;实时风险评估;隐马尔科夫模型

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)08-1711-02

由于传统风险管理不能及时采集到系统当前数据,导致评估结果滞后,以致采取控制措施也难以达到安全需求。目前在国内外,由于实时量化风险评估具有直观和动态的优点,但是相对也复杂得多,很多方法尚处于探索阶段。所以在2004年,Ashish[1]等人首次提出了实时风险管理的概念,并给出了基于Java Runtime的演示平台;所谓实时风险评估就是指在约定响应时间内获取到资产、威胁和漏洞的信息,计算出风险的变化。随后的2005—2006年Andre等人先后提出了基于隐式Markov模型(HMM) 的实时风险评估模型[1]—[3],在文献[2]所提出的基于连续时间隐式Markov的多传感器实时风险评估模型主要是基于Rabiner对HMM的研究工作,作者不仅提出了使用状态迁移率而不是状态迁移概率作为度量连续时间的方法,而且提出了将传感器输出的加权和作为计算风险的方法;

客观地讲,目前实时风险评估的研究虽取得了一些成果,但尚处于起步阶段,一些非常有意义的问题还有待被探讨和解决,这些问题包括:1)如何更好的确保实时性;2)预言机制的应用;3)实时风险评估在不同网络间的适应性问题。该文主要关注实时性这一方面,从整体上考察实时风险管理,提出实施实时风险管理的总体流程,通过各模块之间的交互实现实时风险管理。目前已完成了实时风险评估子模块的详细设计以及与其他模块之间的交互设计。

1 实施风险管理整体框架

本文在Ashish[2]等人提出的实时风险管理的形式化模型基础上,设计出了一个实时风险管理框架。此框架包括监测模块、数据标准化模块、数据库模块、实时风险评估模块、风险处理模块、规则库模块以及扫描模块共七个子模块,而其中实时风险评估模块又由两个子模块组成,分别为预处理模块以及HMM隐马尔科夫模块,各模块之间的交互关系如图1所示。

监测模块:主要是由传感器如IDS入侵检测系统等构成,负责监听网络上的攻击,然后将收集到的信息交由数据标准化模块;数据标准化模块:负责将监测模块传来的报警信息惊醒格式化处理,形成具有统一结构的记录,然后交由预处理模块进行分类处理;预处理模块:接收从数据标准化模块发来的具有统一结构的记录,然后提取Name字段的值,并通过nmap、Nessus工具扫描当前系统,然后查找知识库是否有匹配的记录存在,如果有则直接读取Alert_level字段的值并交给HMM模块,如果不匹配则通过Time字段的值以及其它相关信息计算出Alert_level的值并交给HMM模块,同时更新知识库。HMM模块:负责接收从预处理模块传来的信息实时计算出系统当前的风险值。规则库模块:储存有风险的阀值,及根据HMM模块计算出来的风险值来判定风险处理的方式:不处理、转移、采取控制措施规避等。扫描模块:利用nmap以及Nessus工具实现对主机的扫描,结果提供给预测模块以及数据库模块使用。风险处理模块:选择合适的控制措施来处理风险。将其降低到可接受的范围。数据库模块:包含知识库和以及标准模块,知识库主要是供数据标准化模块的调用,标准模块主要是供风险处理模块的调用。这里用到的标准主要是参考CC标准[4]、ISO/17799 [5]标准。当然这个模块也可以扩展。

2 整体框架分析

2.1 技术方面

1)监测模块:此模块采用的是传感器技术(如入侵检测系统IDS等技术),发展比较成熟,在技术上能得到相应的保障。

2)实时风险评估模块:此模块中又由两个子模块构成,分别为预处理模块以及HMM模块,预处理模块中提出的算法主要是通过目前已有的自动扫描工具来完成的。在技术上能够得到保障。HMM模块,主要是完成风险值的计算,先初始化各基礎数据之后再借助程序来实现,即保证了实时又在技术上可行。

3)规则库模块:主要是通过设定好的风险阀值来控制是否调用风险处理模块,通过门电路就可以实现。关键是风险阀值的确定,这个是由环境因素确定的,不存在一个普适的风险阀值。

4)数据库模块:此模块主要是完成知识库的构造以及标准中控制措施的存储,而存储的大致结构已有定义,借助SQL SERVER可以完成定义并存储各记录,下一步工作主要是如何优化数据库,因此在技术上也是能得到保障的。

5)扫描模块:该文利用nmap以及Nessue两种扫描工具来实现,所以在技术上是可行的。

3.2 实时性方面

本模型时间上的开销为:T总=[i=0...6Ti],其中i=0……6分别代表监测模块、数据标准化模块、实时风险评估模块、规则库模块、扫描模块以及风险处理模块。

1)监测模块通过IDS收集告警信息。现代的网络传感器技术在硬件实现方面使得网络传感器的处理能力达到10Gb/s,扫描模块通过扫描工具nmap以及Nessus扫描系统状态信息,时间上的开销都非常小。

2)实时风险评估模块的运行时间主要是由预处理模块以及隐马尔可夫HMM模块的时间决定。就预处理模块而言,时间主要由扫描模块以查找知识库、简单的乘法以及加法运算决定。经前面分析得出,与预处理模块的时间开销很小,能满足本文实时性的需要。隐马尔科夫模型时间复杂度为O(N2T),标准IDS告警信息经预处理模块处理后,使得隐马尔科夫模型中参数Q矩阵列规模缩小到10,从而大大缩短了计算风险值的时间。另外,预处理模块运行之前是首先匹配数据模块中知识库中的记录信息,如果匹配,直接读出Alert_level字段中的值即可带入HMM模块完成风险值的计算,进一步缩短了运行时间,实时性得到了更好的保障;

3)數据库模块中涉及到两个子模块,分别是知识库模块、以及控制措施模块。其中知识库模块中只维护了一张表,该表单共11个字段,对Name字段、Config字段查询的频率较高,可在这两个字段上建立索引来提高查找的效率,减少实时风险管理中时间上的开销。

传统风险管理所花的时间大约是6个月左右,通过分析本文所提到的实时风险管理整体框架比传统风险管理相对缩短了很多,当网络受到攻击时,其风险值是可以得到实时更新。

4 结束语

最后对本文所提出的实时风险管理整体框架做了理论分析,结果表明本文所提出的框架在技术上和实时性上是合理的。由于本文目前只是完成了对实时风险管理整体框架的设计以及实时风险评估子模块的详细设计,并模拟了现实环境的应用。剩下的六个子模块的设计及其与其它子模块之间的交互设计将是下一步工作的重点,另外还涉及到实验的仿真,这些将在后续工作中继续开展下去。

参考文献:

[1] Ashish Gehani,Gershon Kedem.2004.Rheostat:Real-time risk management[C]//Recent Advances in Intrusion Detection:7th International Symposium,RAID 2004,Sophia Antipolis,France,296-314.Arnes A,Sallhammar K.Real-time risk assessment with network sensors and intrusion detection systems.Proceedings of the International Conference on Computational Intelligence and Security.Springer-Verlag,2005:388-397.

[2] Arnes A,Sallhammar K,Haslum K,et al.Real-time risk assessment with network sensors and intrusion detection systems.2005 International Conference on Computational Intelligence and Security (CIS 2005), 2005: 388–397.

[3] Haslum K, Arnes A.Multisensor Real-time Risk Assessment using Continuous-time Hidden Markov Models[C]. International Conference on Computational Intelligence and Security (CIS 2006), 2006:153-1540.

[4] CC v3.1. Common Criteria for Information Technology Security Evaluation[S].2006.

[5] ISO/IEC 17799. International Organization for Standardization, Code of Practice for Information Security Management[S].2005.