一种基于形式化建模的软件安全需求获取方法与流程

文档序号:16984762发布日期:2019-02-26 20:31阅读:465来源:国知局
一种基于形式化建模的软件安全需求获取方法与流程

本发明公开了一种基于形式化建模的软件安全需求获取方法,具体为软件安全技术领域。



背景技术:

随着计算机的广泛运用,软件和信息系统已经深入到各行各业中,且在信息设备扮演者一个重要的角色。然而,在软件的整个生命周期中,软件安全问题却带来高维护成本,这些持续增加的运营成本要求组织仔细考虑他们如何解决软件安全问题。

软件安全需求工程能够极大的提高被开发软件的质量,降低开发和维护的成本,但还没有引起业界的足够重视,也缺乏综合考虑软件资产、软件缺陷、安全目标、威胁分析和风险评估等多个要素的工程框架和自动化方法。在现有的安全需求获取方法中,其规范程度和易用性并不进入人意,由于其非常庞大,涉及的面较广,要需要完全理解其内涵,对于一般用户来说相当困难,只适用于安全专家。因此,需要开发一个更智能化、自动化、评估难度更低的安全需求获取方法势在必行。为此,我们提出了一种基于形式化建模的软件安全需求获取方法投入使用,以解决上述问题。



技术实现要素:

本发明的目的在于提供一种基于形式化建模的软件安全需求获取方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于形式化建模的软件安全需求获取方法,该方法的具体步骤如下:

s1:识别软件系统中所包含的资源和信息;

s2:对资源和信息造成潜在的威胁行为进行识别,以满足软件系统的安全需要;

s3:确立安全目标并提出安全需求,并对安全需求进行验证;

s4:建立形式化模型,并进行模型验证;

s5:基于对软件系统信息及行为的充分了解,描述系统内各种属性及系统行为后得到最终状态,并在此基础上根据问题需求对软件系统深入分析,实现对软件系统的解释、评估和验证。

优选的,所述步骤s2中,对资源和信息造成潜在的威胁行为包括软件合法用户疏忽操作导致的信息泄露和病毒攻击、木马攻击软件系统。

优选的,所述步骤s3中,安全需求的验证包括安全需求之间的冲突和安全需求与软件系统功能需求之间的冲突,验证安全需求是否满足用户方的期望,正式安全需求是完备、有效的,可采用模型检查器、模型解释器或快速原型生成器的需求验证技术。

优选的,所述步骤s4中,形式化模型的建立包括如下步骤:

s41:首先根据被验系统的需求,归纳所涉及的各类状态,状态的划分准则一般以典型功能集合而定;

s42:各状态内分离出所包含的各类变量类和变量,包括控制变量、过程变量,建立变量间关系;

s43:建立建立模型状态转换的触发时间描述,事件描述为变量及变量关系组合形成;

s44:建立模型内事件或状态断言,断言描述为事件组合或变量组合形成;

s45:通过模拟器为形式化模型提供变量和事件的初始化和人工赋值,利用模拟器由模型内任何状态开始运行,绘制变量或事件的依赖关系图。

优选的,所述模拟器选用scr工具,该工具基于表格式建模-状态、事件和变量确定后,填入scr的各类表格模板,内部编译器提取表格内说明项自动生成模型运行代码,经由scr所生成的模型描述,通过其内置的promela转换器生成spin所识别的模型描述方式。

优选的,所述步骤s5中,通过有色petri网描述软件系统相关属性信息和软件行为,并在此基础上作进一步的分析和验证,其具体的流程为:n=(p,t;f)为一个基本有向网系统,其中p,t,f满足下列条件

(其中×表示笛卡尔乘积)

dom(f)∪cod(f)=p∪t,其中

分别为f的定义域和值域,p为n的库所集合,t为n的变迁集合,f为n的流关系集合,在有色petri网图形中,p所代表的库所一般情况下由圆圈或椭圆来表示,t所代表的变迁一般是由黑色或白色的矩形或者粗实线来表示,f所代表的流关系则由有向箭头表示,库所集和变迁集是有向网的基本组成元素,流关系是由库所集合变迁集构造,变迁代表有向网的一种元素,库所代表另一种元素,二者在网系统中不相融故同时有向网中必须要存在一个元素,故表示有向箭头直接在库所与变迁之间,库所代表不同的资源,资源在库所的流动方向取决于流关系方向,dom(f)∪cod(f)=p∪t则说明网系统中不能有任何孤立的元素存在。

与现有技术相比,本发明的有益效果是:本发明首先通过识别软件系统中的信息,获取信息安全威胁描述,通过对问题领域的现象分析,判定问题领域的现象描述是否满足安全威胁所发生的条件,建立形式化模型并验证,通过获取软件系统的安全需求是开发高安全性、高可靠性软件的有效途径,弥补了传统的安全需求分析方法的不足,能够让需求分析人员进一步的捕捉软件系统的安全需求。

附图说明

图1为本发明系统流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种基于形式化建模的软件安全需求获取方法,该方法的具体步骤如下:

s1:识别软件系统中所包含的资源和信息;

s2:对资源和信息造成潜在的威胁行为进行识别,以满足软件系统的安全需要,对资源和信息造成潜在的威胁行为包括软件合法用户疏忽操作导致的信息泄露和病毒攻击、木马攻击软件系统;

s3:确立安全目标并提出安全需求,并对安全需求进行验证,安全需求的验证包括安全需求之间的冲突和安全需求与软件系统功能需求之间的冲突,验证安全需求是否满足用户方的期望,正式安全需求是完备、有效的,可采用模型检查器、模型解释器或快速原型生成器的需求验证技术;

s4:建立形式化模型,并进行模型验证,形式化模型的建立包括如下步骤:

s41:首先根据被验系统的需求,归纳所涉及的各类状态,状态的划分准则一般以典型功能集合而定;

s42:各状态内分离出所包含的各类变量类和变量,包括控制变量、过程变量,建立变量间关系;

s43:建立建立模型状态转换的触发时间描述,事件描述为变量及变量关系组合形成;

s44:建立模型内事件或状态断言,断言描述为事件组合或变量组合形成;

s45:通过模拟器为形式化模型提供变量和事件的初始化和人工赋值,利用模拟器由模型内任何状态开始运行,绘制变量或事件的依赖关系图,模拟器选用scr工具,该工具基于表格式建模-状态、事件和变量确定后,填入scr的各类表格模板,内部编译器提取表格内说明项自动生成模型运行代码,经由scr所生成的模型描述,通过其内置的promela转换器生成spin所识别的模型描述方式;

s5:基于对软件系统信息及行为的充分了解,描述系统内各种属性及系统行为后得到最终状态,并在此基础上根据问题需求对软件系统深入分析,实现对软件系统的解释、评估和验证,通过有色petri网描述软件系统相关属性信息和软件行为,并在此基础上作进一步的分析和验证,其具体的流程为:n=(p,t;f)为一个基本有向网系统,其中p,t,f满足下列条件

(其中×表示笛卡尔乘积)

dom(f)∪cod(f)=p∪t,其中

分别为f的定义域和值域,p为n的库所集合,t为n的变迁集合,f为n的流关系集合,在有色petri网图形中,p所代表的库所一般情况下由圆圈或椭圆来表示,t所代表的变迁一般是由黑色或白色的矩形或者粗实线来表示,f所代表的流关系则由有向箭头表示,库所集和变迁集是有向网的基本组成元素,流关系是由库所集合变迁集构造,变迁代表有向网的一种元素,库所代表另一种元素,二者在网系统中不相融故同时有向网中必须要存在一个元素,故表示有向箭头直接在库所与变迁之间,库所代表不同的资源,资源在库所的流动方向取决于流关系方向,dom(f)∪cod(f)=p∪t则说明网系统中不能有任何孤立的元素存在。

本发明首先通过识别软件系统中的信息,获取信息安全威胁描述,通过对问题领域的现象分析,判定问题领域的现象描述是否满足安全威胁所发生的条件,建立形式化模型并验证,通过获取软件系统的安全需求是开发高安全性、高可靠性软件的有效途径,弥补了传统的安全需求分析方法的不足,能够让需求分析人员进一步的捕捉软件系统的安全需求。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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