APP下载

计算机免疫系统中知识库一致性的设计与实现

2011-03-18吴梅梅

河北软件职业技术学院学报 2011年2期
关键词:沙盒控制法客户机

吴梅梅

(河北软件职业技术学院 网络工程系,河北 保定 071000)

0 引言

随着信息科技的迅速发展以及计算机网络的普及,计算机网络深入到国家的军事、政府、金融和商业的诸多领域,网络无处不在,计算机网络资源共享进一步加强,计算机的安全问题日益突出,传统的信息安全方法已不能有效地解决这些问题。人们把生物免疫机理应用到计算机系统和计算机网络安全中,提出了计算机免疫系统,它克服了传统方法的被动和不灵活的缺点。本文主要介绍了计算机免疫系统GECISM[1]的重要功能部件——知识库一致性的设计与实现,如何保证各知识库的一致性,实现对访问的一致性判断,从而提高计算机免疫系统的执行正确性与效率。

1 计算机免疫系统简介

计算机免疫系统模型GECISM[1]包括适应性免疫模型和先天免疫模型,是模仿生物免疫机理的计算机系统安全模型。该模型的多个功能部件模仿不同免疫细胞的功能,通过相互协作,区分计算机系统中的“自我”和“非我”,有效记忆并消除“非我”,从而实现保护主机的功能。

模型如图1、图2所示。

图1 适应性免疫(客户机)

图2 先天免疫(沙盒主机)

知识库是计算机免疫系统中重要的功能部件,模型中对于“自我”和“非我”的判断是根据知识库中的规则进行的,由于各客户机是分散在不同地方的,而且每个客户机里都有一个知识库,每个客户机都有对应于其运行环境的本地规则,所以将沙盒主机设计成分布式的,相应的各个沙盒主机对应的知识库设计成分布式数据库的形式,因此,如何保证知识库的一致性对于计算机免疫系统的功能实现是非常关键的。

2 知识库一致性的设计与实现

2.1 各个客户机上的知识库里规则的一致性

既然将知识库设计成分布式数据库的形式,而分布式系统中通常将同一数据的不同副本存储在多个异地数据库上,那么,如何保证这些异地数据库中不同副本的数据一致,也就是如何保证各个客户机上的知识库里的规则的一致性成为开发高效、健壮的分布式知识库必不可少的关键。

2.1.1 保持各个客户机上的知识库里规则一致性方法的选取

数据库的一致性是指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。数据的一致性维护依据其时间特性分为两类,即同步一致和异步一致。同步一致保证各节点采取的是完全同步的方法来保证数据库的一致性(又称紧一致性),即任意时刻数据都是一致的;异步一致不要求实时一致,仅要求一定时间间隔内数据的一致(又称松一致性)[2],即数据各副本的修改是异步的,也就是说各副本将不保证任何时刻数据库都绝对一致;各副本同步的延迟时间可长可短,视系统的具体情况而定。与紧密一致性相比,松散一致性比较灵活,系统的可用性大为提高,适用于对数据一致性要求不是很高的应用。

数据库中数据不一致性主要是因数据冗余、并发控制不当或由于各种故障、错误造成的,所以针对以上原因,在分布式数据库领域中,维护数据一致性的方法有三种:复制控制法[2]、消息队列法和事务控制法。复制控制法是使用数据库的复制机制,实现源数据库与目标数据库间数据的同步或异步一致。消息队列法是操作系统的进程之间用于通信的一种机制,在两个或多个进程间共享公共的系统消息队列来交换数据信息,由消息请求代理MRB实现可靠的消息收发,进而保证异地数据库间的数据一致,而且相互通信的应用可以分布在一台机器上,也可以分布在相连接的网络的任何一个位置上。事务控制法是通过分布式两段锁协议来保证全局事务与局部事务的一致性调度,以及通过分布式两段提交协议来更新各副本数据。

同样,要维护分布式系统中的异地数据库的数据一致性,我们可以借鉴保证分布式数据库一致性的方法。其中,事务控制法的实现需要在不同数据库间建立一个统一的分布式数据库管理系统,其开发工作量比较大,可移植性较差,而且系统可扩展性不好,所以不太适合异地数据库之间的数据一致性维护。而消息队列法和复制控制法,都适合维护异地数据库的数据一致性。所以我们不选用事务控制法,而从其他两种方法中进行选取。

消息队列法和复制控制法都实现了分布式系统中异地数据库的一致性维护,但二者在技术上有下面的异同,通过进行简单的比较,可以帮助我们进行选取。

(1)在获取数据更新的方式上,消息队列法的实现原理是消息的发送者把自己想要发送的消息放入一个容器中,本地或异地的消息接受程序再从该队列中取出要接受的消息进行处理,其过程通过使用跟踪触发器来实现,而复制控制法依据的是读取系统日志信息。传递更新信息的方法都是通过网络以比特流或数据包的方式传送。虽然二者都可以满足同步和异步的要求,但由于消息队列法有第三方消息中间件的支持,与复制控制法相比,传输层的稳定性相对比较高。

(2)在程序执行的层次上存在的差别主要有以下两点:一是系统的开发效率,复制控制法比消息队列法使用简单;二是系统的灵活性,消息队列法的灵活性比复制控制法好。

由于计算机免疫系统中对于规则的更新频率比较高,而且系统要求实时保证各地数据库的规则的一致性,所以本文采用消息队列法来保证各知识库中规则的一致性。

2.1.2 采用消息队列法的系统框架

整个系统的设计结构如图3所示。

图3 使用消息机制的系统结构图

为了使用消息队列法实现知识库中规则的一致性,图3在每个知识库中除了包含应有的数据外,还新建了一个等待发送的消息表。当进程短调序列、操作系统版本、服务和危害发生位置等四个属性的任何一个发生改变时,便激发触发器,同时系统将更改的信息按照某种特定的格式写入相应的消息表。当消息发送后,相应的消息将从消息表中清除。

2.1.3 消息的格式

消息的格式如表1所示。

表1 消息格式

其中“编号”标识消息的排列次序;“消息类型”标识消息的不同类型,共有三种消息类型:添加、修改和删除;“属性信息”标识进程短调序列、操作系统版本、服务和危害发生位置等四个属性的取值信息。

2.1.4 系统的性能分析

采用消息队列法,系统具有以下优点:

(1)消息队列是异步的,一旦某个消息放入了消息队列,发送该消息的应用程序不必等待其他应用程序来读取该消息就可去做别的事情,从而提高了系统的执行效率;

(2)消息队列允许脱机工作,因故障未发送的消息存放在本地,一旦故障解除,该消息就可以进入消息队列进行发送;

(3)系统具有良好的扩展性和移植性,由于系统运行在分布式环境下,用户可以根据需求加入自己需要的消息处理程序,同时便于移植到其他领域;

(4)系统跨平台性好,系统的实现支持任何操作系统和数据平台,具有良好的跨平台性。

2.2 本地规则与本地知识库中规则的一致性

本地规则与本地知识库中的规则保持一致性,当本地规则的误判率及无法识别率超过一定的限度时或者当服务发生改变时,需要更新本地规则。由本地客户机中的传送器将进程迁移到本地沙盒主机的接收器,此迁移中包括进程运行的具体环境,如果在知识库中有运行环境与迁移的进程的运行环境严格一致的规则存在,则由知识库直接将规则提交沙盒主机中的传送器,再由传送器传给客户机中的接收器,然后更新本地规则;否则运行虚拟沙盒主机产生规则,放入知识库,再由知识库经过上边的一系列步骤更新本地规则。此处的虚拟沙盒主机可以是本地沙盒主机中的,也可以是远程沙盒主机中的。当本地虚拟沙盒主机提供的服务与运行进程的服务一致且本地沙盒主机处于轻负载时,运行本地沙盒主机;否则,运行远程沙盒主机,而此时考虑各远程沙盒主机的负载情况、操作系统版本信息、能够提供的服务,并结合通讯开销查找总代价最小的沙盒主机。

3 结束语

计算机免疫系统中知识库设计成分布式形式,必然要考虑到各数据库中数据的一致性问题,包括本地规则与本地知识库的一致性和各客户机上的知识库的一致性,对于各客户机上的知识库的一致性采用了消息队列法,给出了消息队列的系统框架、消息的格式及进行了性能分析,保证系统正确可靠的完成“自我”、“非我”的判断以及规则的更新等。

[1]王凤先,刘振鹏,李继民等.一种仿生物免疫的计算机安全系统模型[J].小型微型计算机系统,2003(4):698-701.

[2]李欢,梁意文.一个基于Multi-Agent的计算机安全免疫系统模型[J].计算机科学,2001,28(8):53-55.

[3]徐洁磐,马玉书,范明.知识库系统导论[M].北京:科学出版社,2000.

猜你喜欢

沙盒控制法客户机
量化控制法指导髌骨粉碎性骨折术后功能锻炼的效果观察
不好惹的沙盒树
韩国版金融科技“监管沙盒”法案及其启示
Windows 10“沙盒” 不仅更安全
不对称电压的综合有源控制法
现象时间控制法回收沥青空白试验研究
热点追踪 角逐创新沙盒绝赛Phantom异军突起夺冠
浅析电力系统可靠性评估中的重要控制法
瘦客户机:安全与便捷的选择
升腾瘦客户机借神码翱翔“云端”