一种具有时序控制的多队列事件注入装置和方法与流程

文档序号:11949773阅读:213来源:国知局
一种具有时序控制的多队列事件注入装置和方法与流程

本发明涉及的是一种计算机系统的安全性测评装置与方法,具体地说是一种具有时序控制的多队列事件注入装置和方法。



背景技术:

随着计算机以及网络技术的发展,计算机系统的安全性越来越受到人们的重视,因此,测试与评估计算机系统的安全性成为系统研发过程中一个重要的环节。通过对测试数据的统计可以得出系统面临一些故障时的反应速度和解决方案,从而发现系统的瓶颈,便于系统的维护和进一步设计。由于计算机系统执行任务过程中出现故障的小概率性,决定了其不可能通过长时间等待的方式来获取计算机系统在面临故障情况下的反应以及应对措施,因此,人为地使系统发生故障,并观测系统在发生故障时的反应十分必要。

申请号为201410125856.1的专利文件中,公开了“一种基于组合测试集的分布式事件注入装置”,提出了基于组合测试集的分布式事件注入方式,引入压力负载,可实现更具针对性,更加灵活、高效的事件注入,但没有考虑分层注入和时序控制。申请号为200620020624.0的专利文件中,公开了一种“基于事件注入的计算机网络可信性评测装置”,是以事件注入技术为基础,针对不同级别容错机制,向目标系统注入各种网络事件,主要关心网络安全方面的问题。但是该发明主要适用于注入单一的网络事件,事件注入不够高效。申请号为201410216140.2的专利文件中,公开了“一种基于多级反馈队列的事件注入引擎的任务调度方法”,其好处是可以更加合理的实现批量型事件注入的任务调度,但是,该发明需要为批量型事件中的每个事件均设置事件控制块,增加了系统负担。

现有公开文献主要涉及基于事件注入的可信性、可靠性、安全性等问题,均是先提出事件模型或评测模型,针对不同目标系统选择相应事件类型,最终评测目标系统或软件的相关指标。例如文章“基于事件注入的安全性评测方法的设计与实现”基于事件注入,仅选取了网络攻击事件来验证计算机系统的安全性,攻击事件单一,不具有广泛性(颜国平,吴智博,周达民,第十三届全国容错计算学术会议,2009年7月20日,http://d.wanfangdata.com.cn/Conference/7240182)。

综上所述,现阶段事件注入研究存在系统测评的效率较低、开销较大以及注入事件单一化并且存在延时等问题,不能够完全满足系统全面测评的要求。



技术实现要素:

本发明的目的在于提供一种效率高、开销小,能实现对事件注入过程的时序控制的具有时序控制的多队列事件注入装置。本发明的目的还在于提供一种具有时序控制的多队列事件注入方法。

本发明的具有时序控制的多队列事件注入装置包括总控制器、事件库、事件选择器、事件注入器、监视器以及数据分析器六个模块,还包括事件注入的后备队列和就绪队列;

总控制器用来协调各个模块之间的关系,以及控制各模块的控制流和数据流;

事件选择器在事件库中选择事件类型,并与参数产生具体的事件例,存放到后备队列;

事件库是各类故障事件以及计算机服务功能下降行为的总和;所述事件库是依据与系统相关性最高的三个角度构建的事件库,包括寄存器、内存和I/O;

事件注入器将就绪队列中的事件例注入到待测试目标系统中;

监视器监控被注入系统的实时反应;

数据分析器收集被注入系统的实时反馈信息,并生成系统日志,为系统的可用性测评提供数据参考。

本发明的具有时序控制的多队列事件注入装置还可以包括:

1、事件注入器内嵌计时器,所述计时器设定事件注入的时间间隔。

2、所述被注入系统的实时反应包括内存占用率和CPU占用率。

3、所述数据分析器分为两个功能模块,分别是功能测试模块和性能测试模块;所述功能测试模块用于定性评定事件注入成功、事件注入失败和系统的有效性;所述性能测试模块用于测试事件潜伏期、检测延迟时间、事件注入成功率和可恢复性事件覆盖率。

本发明的具有时序控制的多队列事件注入方法包括如下步骤:

步骤一,总控制器向事件选择器发送指令,由事件选择器在事件库中对事件类型进行筛选,其中事件类型包括寄存器事件、内存事件、I/O事件;

步骤二,事件选择器将筛选好的事件与参数结合,生成具体的事件例,将具体的事件例存放到后备队列;

步骤三,总控制器根据系统需要按照时序控制方法(TC-method)将后备队列中的事件存放到就绪队列;

步骤四,在总控制器的控制下,事件注入器将就绪队列中的事件例注入到待测试目标系统中;

步骤五,当事件注入到待测试目标系统后,由监视器监测待测试目标系统发生故障时的反应,包括系统故障的预测性和容错的有效性;

步骤六,待监视器完成监测信息,数据分析器收集事件注入结果,并进行统计分析。

所述时序控制方法(TC-method)具体包括:

1)初始化注入就绪队列

在计时器开始计时之前,首先构建就绪队列,就绪队列选取于后备队列;

2)执行注入

在构建完成就绪队列后,执行注入,注入的事件为后备队列中的事件例;

3)计时器计时

在步骤2)开始的同时,计时器开始计时,同时设置超时等待策略,使单次事件注入时间不得超过最大的门限值T,T>0;计时器不仅设置单次的最大等待时间,同时通过设定注入时间,使注入时间间隔以均匀分布的概率图来实现;

4)检测注入结果

执行注入之后,开始每隔时间t,检测事件注入结果,0<t<T,判断单次事件注入是否成功,其中T=kt,k=1,2,3…;

5)判断注入时间

在单次过程中,一旦检测到事件注入时间t超过了最大门限值T,不管注入是否成功,都停止本次试验。

所述构建就绪队列的方式为分层构建,具体方法为:在生成就绪队列过程中,单一选取一种后背队列作为就绪队列,当选取寄存器事件后备队列作为就绪队列时,关闭对内存事件以及I/O事件的选择;当选取内存事件后备队列作为就绪队列时,关闭对寄存器事件以及I/O事件的选择;当选取I/O事件后备队列作为就绪队列时,关闭对寄存器事件以及内存事件的选择。

所述构建就绪队列的方式为组合构建,具体方法为:在生成就绪队列的过程中,以循环组合的方式对后备队列中的事件例进行接通,使得就绪队列中的事件例种类不是单一的事件类型。

本发明提出了一种具有时序控制的多队列事件注入装置和方法,该模型拟从与进程相关性最高的三个角度,即寄存器、内存和I/O,分别对事件注入系统进行设计,在事件注入模型中引入计时器机制,并设置超时等待应对策略,从而实现对事件注入过程的时序控制。同时,在构建就绪队列过程中采用排队机制,可以实现分层注入和组合注入的功能。

本发明的有益效果体现在:

1、本发明拟从与进程相关性最高的三个角度,即寄存器、内存和I/O分别对事件注入系统进行设计,提高事件注入的易处理性和覆盖率。

2、在构建就绪队列过程中采用排队机制,可以实现目标系统的分层属性测试。

3、在事件注入模型中引入计时器机制,并设置超时等待策略,从而实现对事件注入过程的时序控制。

附图说明

图1是具有时序控制的多队列事件注入装置的模型图。

图2是具有时序控制的多队列事件注入装置的模块结构图。

图3是具有时序控制的多队列事件注入方法的流程图。

具体实施方式

下面结合附图距离对本发明做进行详细说明。

图1展示了一种具有时序控制的多队列事件注入装置的模型图。该装置包括总控制器、事件库、事件选择器、事件注入器、监视器以及数据分析器,事件注入后备队列和就绪队列。

事件库是各类故障以及引起计算机服务功能下降行为的总和,本事件库的设计从与系统进程相关性最高的三个角度(即寄存器、内存和I/O)来构建。事件选择器的功能是在事件库中选择事件类型,并结合参数产生具体的事件例,如寄存器事件注入,需要选择相关的寄存器类型事件,结合参数形成寄存器事件例,并将筛选结果(分层构建和组合构建)存放于相应的寄存器事件后备队列中。事件注入器内嵌的计时器设定门限值T(T>0),根据系统需要,事件注入器将后备队列中的事件有选择的存入到就绪队列中,这里可以选择分层构建注入事件和组合构建注入事件,例如选择分层构建可有以下几种情况:

(1)当选取寄存器事件后备队列作为就绪队列时,关闭对内存事件以及I/O事件的选择;

(2)当选取内存事件后备队列作为就绪队列时,关闭对寄存器事件以及I/O事件的选择;

(3)当选取I/O事件后备队列作为就绪队列时,关闭对寄存器事件以及内存事件的选择。

之后将就绪队列中的事件注入到目标系统中,注入的时间间隔服从均匀分布,且时间间隔由内嵌计时器设定。

监视器的主要功能是监控被注入系统的实时反应,如被注入系统的内存占用率及CPU占用率等。数据分析器的主要功能是收集被注入系统的实时反馈信息,并生成系统日志,为系统的可用性测评提供数据参考。总控制器是模型的核心,用来协调各器件之间的关系,以及控制各模块的控制流和数据流。

图2展示了事件注入的具体模块结构。本发明设计的事件注入按照注入位置的不同,划分为寄存器事件注入模块、内存事件注入模块和I/O事件注入模块。寄存器事件注入模块实现的主要功能是修改当前进程在寄存器中的映像,模拟寄存器的SEU(Single Event Upset)现象。内存事件注入模块包括内存泄露事件注入子模块、内存改写事件注入子模块和栈溢出事件注入子模块。内存泄露事件注入模块的主要功能是模拟目标机中的内存过载事件;内存改写事件注入模块的主要功能是模拟内存的SEU现象;栈溢出事件注入模块的主要功能是模拟并行MPI程序栈溢出事件。I/O事件注入模块包括读指针偏移子模块和写指针偏移子模块。读写指针偏移事件注入的主要功能是模拟进程I/O过程中的错误。

结合图1和图2,具有时序控制的多队列事件注入装置具体为:

(1)总控制器:模型的核心,用来协调各个器件之间的关系,以及控制各模块的控制流和数据流;

(2)事件选择器:主要功能是在事件库中选择事件类型,并与参数产生具体的事件例,存放到后备队列;

(3)事件库:是各类故障事件以及计算机服务功能下降行为的总和,本事件库依据与系统相关性最高的三个角度构建事件库,即寄存器、内存和I/O;

(4)事件注入器:将就绪队列中的事件例注入到待测试目标系统中,内嵌计时器,该计时器设定事件注入的时间间隔;

(5)监视器:监控被注入系统的实时反应,如被注入系统的内存占用率和CPU占用率等;

(6)数据分析器:收集被注入系统的实时反馈信息,并生成系统日志,为系统的可用性测评提供数据参考。数据分析器可分为两个功能模块,分别是功能测试模块和性能测试模块。其中,功能测试模块可以定性的评定为事件注入成功、事件注入失败和系统的有效性等;性能测试模块包括事件潜伏期、检测延迟时间、事件注入成功率和可恢复性事件覆盖率等。

图3主要展示了本发明的流程。具体步骤如下:

(1)首先总控制器向事件选择器发送指令,由事件选择器在事件库中对事件类型进行筛选(筛选方法为抽样法),其中事件类型包括寄存器事件、内存事件、I/O事件;

(2)事件选择器将筛选好的事件与参数结合,生成具体的事件例,将具体的事件例存放到后备队列;

(3)总控制器根据系统需要按照时序控制方法(TC-method)将后备队列中的事件存放到就绪队列;

(4)在总控制器的控制下,事件注入器将就绪队列中的事件例注入到待测试目标系统中;

(5)当事件注入到待测试目标系统后,由监视器监测待测试目标系统发生故障时的反应,包括系统故障的预测性和容错的有效性;

(6)待监视器完成监测信息,数据分析器收集事件注入结果,并对其进行统计分析。

在事件注入的过程中,有两个考虑的主要因素,一是注入时间问题,另一个是注入的空间问题。本发明设计的计时器,意在控制注入时间间隔,使得注入时间变量X服从均匀分布。上述一种具有时序控制的多队列事件注入装置和方法的实现步骤(3)中时序控制方法(TC-method)具体如下:

1)初始化注入就绪队列。在计时器开始计时之前,首先构建就绪队列,就绪队列选取于后备队列。其中构建就绪队列有以下两种方式:

a)分层构建。

分层构建是指,在生成就绪队列过程中,单一选取一种后背队列作为就绪队列。当选取寄存器事件后备队列作为就绪队列时,关闭对内存事件以及I/O事件的选择;当选取内存事件后备队列作为就绪队列时,关闭对寄存器事件以及I/O事件的选择;当选取I/O事件后备队列作为就绪队列时,关闭对寄存器事件以及内存事件的选择。

b)组合构建。

组合构建是指,在生成就绪队列的过程中,以循环组合的方式对后备队列中的事件例进行接通,使得就绪队列中的事件例种类不是单一的事件类型。组合构建方式生成的就绪队列更加贴近于真实环境中系统面临的故障,因为现实应用环境中,被测试计算机不可能仅存在一种类型的故障,这种测试方式角度更加全面,所得的测试结果也更有说服力。

2)执行注入。在构建完成就绪队列后,执行注入,注入的事件为后备队列中的事件例。

3)计时器计时。在步骤2)开始的同时,计时器开始计时。同时设置超时等待策略,使得单次事件注入时间不得超过最大的门限值T(T的值根据具体的实验环境设定,T>0)。计时器不仅可以设置单次实验的最大等待时间,同时通过设定注入时间,可以使注入时间间隔以均匀分布的概率图来实现。

4)检测注入结果。执行注入之后,系统开始每隔时间t(0<t<T)检测事件注入结果,判断单次事件注入是否成功,其中T=kt(k=1,2,3…)。

5)判断注入时间。在单次实验的过程中,一旦检测到事件注入时间t超过了最大门限值T,不管注入是否成功,都停止本次试验。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1