发明名称 一种基于行为模型的软件安全性测试用例生成方法
摘要 本发明公开了一种基于行为模型的软件安全性测试用例生成方法,包括如下步骤:(1)确定软件安全性测试需求;(2)使用测试需求行为模型对安全性测试需求进行描述;(3)使用UML状态图对测试需求行为模型进行描述;(4)将UML图状态图转换为FSM;(5)基于FSM特征序列自动生成安全性测试用例。本发明提出的基于行为模型的软件安全性的测试用例生成方法,重点从SSD行为预防机制、SSD行为检测机制和SSD行为响应机制展开安全性测试,克服了传统软件安全性测试的片面性和需求不完整,保证了测试的有效性。同时,发明提供了测试用例的自动生成方法,减少了测试人员的工作量,提高了测试的效率和自动化程度,保证了测试效果。
申请公布号 CN101968769B 申请公布日期 2012.01.25
申请号 CN201010517588.X 申请日期 2010.10.22
申请人 中国人民解放军理工大学 发明人 黄松;任正平;姚奕;刘晓明;惠战伟;胡斌;洪宇;郑长友;饶莉萍;蒋圆圆;袁利华;刘艳云
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种基于行为模型的软件安全性测试用例生成方法,其特征在于:所述方法包括如下步骤:(1)确定软件安全性测试行为需求;(2)使用测试需求行为模型对安全性测试需求进行描述,包括:(2‑1)基于SSD分析确定其行为预防机制、行为检测机制和行为响应机制;(2‑2)对步骤(2‑1)中的三种机制,分别描述三种机制的三个阶段行为,即前置条件、处理行为和后置条件;(3)使用UML状态图对测试需求行为模型进行描述,包括:(3‑1)分别将测试需求行为模型中的行为预防机制、行为检测机制和行为响应机制的三个阶段行为映射为UML状态图中的三个顶层复合状态;(3‑2)依据典型安全性缺陷在每个阶段行为中的处理过程,将三个阶段分别映射为UML状态图中的行为预防状态子图、行为处理状态子图和行为响应状态子图;(4)将UML图状态图转换为FSM,包括:(4‑1)将UML状态图存储为XMI文本格式;(4‑2)依据文本转换算法将XMI格式的状态图转换为SCXML格式,即FSM的文本表示;(5)基于FSM特征序列自动生成安全性测试用例,包括:(5‑1)对FSM进行预处理,所述预处理包括非完全FSM的完全化、非精简FSM的最小精简化和连通性说明,具体包括:(5‑1‑1)为规约中没有出现的输入增加定义,达到FSM的完全化;(5‑1‑2)去除FSM中的冗余状态,使用等价的精简FSM取代原FSM;(5‑1‑3)对FSM中所有状态可达性和可复位性进行检查和说明;(5‑2)构造FSM的UIO树,并基于UIO树为FSM中的每个状态sj生成UIO特征序列,具体包括:(5‑2‑1)从FSM的初始向量出发,通过定义路径向量和扰动函数,产生新的结点,构造UIO树;(5‑2‑2)遍历整个UIO树,对每一个单一向量叶结点,将从树根到该叶结点所形成的输入/输出序列连接为该单一向量初始向量对应状态的UIO序列;(5‑2‑3)对每个状态,选取最短的一个UIO序列为其特征序列;(5‑3)基于UIO特征序列,对FSM的每一个状态迁移生成使用测试序列表示的测试用例,具体包括:(5‑3‑1)对FSM中的每个状态迁移(si,sj;x/y),使用Dijikstra算法确定s0到si的最短路径,得到s0到si最短输入/输出序列;(5‑3‑2)依次连接s0到sj的输入/输出,得到每个状态迁移(si,sj;x/y)的测试用例(reset/null).SP(si).(x/y).UIO(sj);所述步骤(5‑3)中,s0,si,sj表示FSM的状态;(si,sj;x/y)表示从状态si迁移到状态sj,其中输入为x,输出为y;reset表示将FSM复位到初始状态;SP(si)表示初始状态到状态si的最短输入/输出序列;其中,所述SSD表示软件安全性缺陷,所述UIO表示唯一输入/输出序列。
地址 210007 江苏省南京市白下区海富巷一号