专利名称:一种基于缺陷分析的软件可信性评价方法
技术领域:
本发明以软件的设计开发阶段作为主要对象,致力于量化软件可信性评估、提高 软件可信性评价精度并提高软件的开发质量和效率,属于软件安全领域,特别涉及一种基 于缺陷分析的软件可信性评价方法。
背景技术:
软件恶意攻击行为的不断涌现与软件产品质量的不理想现状,使得可信问题越来 越受到关注。可信软件技术的不断发展,迫切需要合理的可信评价方法来考查这些技术在 提高可信性方面的贡献和效果。同时,在软件开发过程中,软件工程师也可以通过评价体系 对软件可信性进行评价,及时发现软件设计初期引入的缺陷、提高软件开发的质量和效率; 此外,可信性评价也为用户从众多软件产品中选取符合自己需求的软件提供重要参考。如 何提高软件可信性评价精度、实现软件可信性的定量评估,对于可信软件的开发具有重要
眉、ο虽然目前对可信性的准确定义尚无广泛共识,但在总体概念上,可以将可信性定 位为一种系统应该得到信任的保证无论是在环境干扰、人为操作错误、恶意攻击或设计、 实现错误的情况下,系统行为都不超出预期。针对软件可信性评价的标准,还存在一些争 论,比较容易被接受的原则是Dzida提出的评价标准应该意味着设计或评价中可度量部 分的属性。关于软件缺陷的分类,由美国国土安全部出资,MITRE公司建立并不断完善了 名为CWE (Common Weakness Enumeration)的安全缺陷标准词典,成为继CVE (Common Vulnerabilities Exposures)之后的又一个安全漏洞词典。它创建了一个正式的软件缺 陷漏洞列表,作为描述软件缺陷的通用语言,通过这一词典,MITRE希望提供识别、减轻、阻 止软件缺陷的通用标准,目前,CffE已经包含了 700个缺陷类别。攻击模式的思想来源于 Gamma, Helm等人提出的设计模式概念,攻击模式和设计模式一样,是对可以在许多情况下 如何解决问题的高层次描述。攻击模式所针对的问题对象即为软件产品攻击者的目标对 象,描述攻击者用来破坏软件产品的技术。使用攻击模式的动机是软件开发者通过将自己 想象为攻击者,并参与到威胁中去,从而有效提高软件产品的安全性。
发明内容
为了克服现有软件可信性评价体系只针对软件成品进行定性评价的局限性,本发 明提供了一种基于缺陷分析的软件可信性评价方法,所述方法包括以下步骤(1)以CAPEC为基础构建攻击模型库,增加威胁程度Damage属性,建立攻击模式和 软件缺陷之间的多对一映射关系,获取软件缺陷的威胁程度DW ;(2)根据所述攻击模式和软件缺陷之间的多对一映射关系、所述软件缺陷的威胁 程度DW、软件环境指数EVA和软件缺陷所属类别,构建缺陷库;(3)基于形式化语言和传统UML时序图,构建形式化的统一软件模型,根据所述统一软件模型构建软件安全缺陷知识库;根据所述统一软件模型、所述软件安全缺陷知识库, 通过定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;(4)根据分类标准、所述缺陷库将所述软件安全缺陷分为安全攸关类缺陷、隐私攸 关类缺陷及容错攸关类缺陷;(5)根据所述安全攸关类缺陷、所述隐私攸关类缺陷及所述容错攸关类缺陷的威 胁程度、以及相应的软件环境指数EVA、第二公式、第三公式和第四公式计算出所述安全攸 关类缺陷的可信量值"Ts、所述隐私攸关类缺陷的可信量值Tp和所述容错攸关类缺陷的可 信量值Te ;(6)通过运行可执行代码并进行扩展软件测试,从成品检测要素中获取隐私量化 值Tc、容错量化值Tr和用户感受量化值Tf ;(7)根据所述安全攸关类缺陷的可信量值Ts、所述隐私攸关类缺陷的可信量值Tp 和所述容错攸关类缺陷的可信量值Te,以及所述隐私量化值Tc、所述容错量化值Tr和所述 用户感受量化值Tf,实现软件安全缺陷的可信性评估,获取可信评估结果。所述软件缺陷的威胁程度DW具体为Dff = Max{Dl, D2, ...Dn}其中,软件缺陷为Weakness A,攻击模式为A1、A2.....An,且攻击模式Al、
A2.....An对应的威胁程度分别为D1、D2、-Dn, η的取值为正整数。所述统一软件模型包括需求部分、设计部分和实现部分,其中,所述需求部分由UML用例图、活动图和状态图组成,所述活动图和所述状态 图作为所述UML用例图的补充,描述需求中的动态信息;所述设计部分由顺序图与形式化 语言组成,以功能单元为最小单位,所述顺序图作为框架,描述了完成预设功能需要调用的 相应功能单元及调用规则;形式化语言通过形式化的描述增加了功能单元的语义信息;所 述实现部分由实现功能单元的程序设计语言代码单元组成,且满足形式化语言描述。所述根据所述统一软件模型构建软件安全缺陷知识库具体为根据CWE安全缺陷进行安全缺陷分析,抽象软件安全缺陷基本结构;对所述软件安全缺陷基本结构进行形式化建模,构建安全缺陷形式化模型;根据所述安全缺陷形式化模型,构建所述软件安全缺陷知识库。所述分类标准具体为可信要素:AttributeSet = {Security, Privacy, Survivability};可信要素攸关缺陷集AttributeffSets = {SecutityffSet, PrivacyffSet, SurvivabilityffSet};映射关系obey V attribute e AttributeSet, !彐 attributeWSet £ WeaknessSetobey :WeaknessSet — AttributeWSet ;Vw^ WeaknessSet, Va^ AttributeSet,obey (w, a) = w influncess a significantly缺陷分析准则Vw^WeaknessSet,VattributeeAttributeWSet,w £ attributeWSet obey(w,attribute)。
所述第二公式具体为
Ts =a*exp DW1 *EVAI /β|
所述第三公式具体为
Tp =a*exp DW1 *EVAI /β|
所述第四公式具体为
Te =a*exp DW1 ^YA1 /β|
其中α,β为影响可信度总体趋势的系数;n、m和k为正整数。 本发明提供的技术方案的有益效果是 本发明提供了一种基于缺陷分析的软件可信性评价方法,构建攻击模式库和缺陷
库,完成了攻击模式库和缺陷库的扩展与软件的环境指数EVA的量化,实现了对软件缺陷 威胁程度的评估,以及缺陷对整体软件影响的评估;软件安全缺陷发现部分,基于顺序图, 分析了统一软件模型中是否存在软件安全缺陷,实现了软件安全缺陷的查找,有利于软件 工程师在软件设计开发阶段及时发现软件设计初期引入的缺陷,也为接下来的缺陷分类工 作奠定了基础;软件安全缺陷分类部分,按照形式化分类准则进行软件安全缺陷分析,按照 可信要素的分类,将软件安全缺陷分为安全攸关类缺陷、隐私攸关类缺陷及容错攸关类缺 陷,为软件可信性评估提供了前提;最后可信性综合评估部分,结合了成品检测要素中得到 的三个量化值,最终实现了基于六个可信因素的可信性评估。通过上述步骤,可以有效的完 成软件开发过程中软件设计模型的缺陷查找,提高了软件可信性评价精度,并提高软件的 开发质量和效率。
图1为本发明提供的基于缺陷分析的软件可信性评价方法的结构示意图;图2为本发明提供的基于缺陷分析的软件可信性评价方法的流程图;图3为本发明提供的软件安全缺陷检测原理的示意图;图4为本发明提供的登录过程顺序示意图;图5为本发明提供的登录过程顺序图中包含的缺陷示意图;图6为本发明提供的地址薄更新顺序示意图;图7为本发明提供的地址薄更新顺序图中的缺陷示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。 为了克服现有软件可信性评价体系只针对软件成品进行定性评价的局限性,本发 明实施例提供了一种基于缺陷分析的软件可信性评价方法,参见图1,其中,构建攻击模型 库和构建缺陷库是评估工作开始前的准备工作,是可信性评估方法的基础,攻击模型库基 于攻击威胁程度实现对缺陷威胁程度的评价,缺陷库对软件模型缺陷进行分析。首先构建攻击模式库和缺陷库,扩展攻击模式库的属性和缺陷库的相关属性,准备工作做好后,开始 评估工作,即进入软件缺陷发现部分;分析软件设计模型中安全缺陷的存在与否,实现了软 件缺陷的查找,有利于在设计开发阶段及时发现软件设计初期引入的缺陷,也为接下来的 缺陷分类工作打下基础;然后,就要对缺陷按照可信要素进行分类,以进行可信评估分析; 最后,通过对这些缺陷的评价以及对软件的环境指数的评价来完成对软件整体可信度的评 价,详见下文描述101 以CAPEC (常见的攻击模式例举与分类库)为基础构建攻击模型库,增加威胁 程度Damage属性,建立攻击模式和软件缺陷之间的多对一映射关系,获取软件缺陷的威胁 程度Dff ;以CAPEC为基础构建攻击模型库,增加威胁程度Damage属性,Damage与攻击模式 的威胁程度相对应,参见表1,根据攻击造成的危害程度将Damage分为四个级别,分别为第 一级、第二级、第三级和第四级,其中,第一级为严重危害、第二级为较严重危害、第三级为 一般性危害和第四级为小的影响。具体实现时,可以根据实际的应用需要对Damage进行分 级,本发明实施例对此不做限制。表 权利要求
1.一种基于缺陷分析的软件可信性评价方法,其特征在于,所述方法包括以下步骤(1)以CAPEC为基础构建攻击模型库,增加威胁程度Damage属性,建立攻击模式和软件 缺陷之间的多对一映射关系,获取软件缺陷的威胁程度DW ;(2)根据所述攻击模式和软件缺陷之间的多对一映射关系、所述软件缺陷的威胁程度 DW、软件环境指数EVA和软件缺陷所属类别,构建缺陷库;(3)基于形式化语言和传统UML时序图,构建形式化的统一软件模型,根据所述统一软 件模型构建软件安全缺陷知识库;根据所述统一软件模型、所述软件安全缺陷知识库,通过 定理证明机,发现所述统一软件模型中潜在的软件安全缺陷;(4)根据分类标准、所述缺陷库将所述软件安全缺陷分为安全攸关类缺陷、隐私攸关类 缺陷及容错攸关类缺陷;(5)根据所述安全攸关类缺陷、所述隐私攸关类缺陷及所述容错攸关类缺陷的威胁程 度、以及相应的软件环境指数EVA、第二公式、第三公式和第四公式计算出所述安全攸关类 缺陷的可信量值"Ts、所述隐私攸关类缺陷的可信量值Tp和所述容错攸关类缺陷的可信量 值 iTe ;(6)通过运行可执行代码并进行扩展软件测试,从成品检测要素中获取隐私量化值 Tc、容错量化值Tr和用户感受量化值Tf ;(7)根据所述安全攸关类缺陷的可信量值Ts、所述隐私攸关类缺陷的可信量值Tp和所 述容错攸关类缺陷的可信量值Te,以及所述隐私量化值Tc、所述容错量化值Tr和所述用户 感受量化值Tf,实现软件安全缺陷的可信性评估,获取可信评估结果。
2.根据权利要求1所述的基于缺陷分析的软件可信性评价方法,其特征在于,所述软 件缺陷的威胁程度DW具体为Dff = Max{Dl, D2, ...Dn}其中,软件缺陷为Weakness A,攻击模式为Al、A2、. . .、An,且攻击模式Al、A2、. . .、An 对应的威胁程度分别为D1、D2、"dn, η的取值为正整数。
3.根据权利要求1所述的基于缺陷分析的软件可信性评价方法,其特征在于,所述统 一软件模型包括需求部分、设计部分和实现部分,其中,所述需求部分由UML用例图、活动图和状态图组成,所述活动图和所述状态图作 为所述UML用例图的补充,描述需求中的动态信息;所述设计部分由顺序图与形式化语言 组成,以功能单元为最小单位,所述顺序图作为框架,描述了完成预设功能需要调用的相应 功能单元及调用规则;形式化语言通过形式化的描述增加了功能单元的语义信息;所述实 现部分由实现功能单元的程序设计语言代码单元组成,且满足形式化语言描述。
4.根据权利要求1所述的基于缺陷分析的软件可信性评价方法,其特征在于,所述根 据所述统一软件模型构建软件安全缺陷知识库具体为根据CWE安全缺陷进行安全缺陷分析,抽象软件安全缺陷基本结构;对所述软件安全缺陷基本结构进行形式化建模,构建安全缺陷形式化模型;根据所述安全缺陷形式化模型,构建所述软件安全缺陷知识库。
5.根据权利要求1所述的基于缺陷分析的软件可信性评价方法,其特征在于,所述分 类标准具体为可信要素:AttributeSet = {Security, Privacy, Survivability};可信要素攸关缺陷集AttributeWkts={SecutityffSet, PrivacyffSet, SurvivabilityffSet}; 映射关系obey V attribute e AttributeSet, !彐 attributeWSet GWeaknessSetobey :WeaknessSet — AttributeffSet ; Vw^WeaknessSet, Va^AttributeSet,obey (w, a) = w influncess a significantly缺陷分析准则Vw£WeaknessSet, Vattributee AttributeWSet, w£ attributeWSet obey(w,attribute)。
6.根据权利要求1所述的基于缺陷分析的软件可信性评价方法,其特征在于,所述第 公式具体为Ts =a*exp DW1 *EVAI /β j所述第三公式具体为 Tp =a*exp DW1 *EVAI /β|所述第四公式具体为 Te =a*exp DW1 ^EYA1 /β|其中α,β为影响可信度总体趋势的系数;n、m和k为正整数。
全文摘要
本发明公开了一种基于缺陷分析的软件可信性评价方法,涉及软件安全领域,包括以CAPEC为基础构建攻击模型库,增加威胁程度属性,建立攻击模式和软件缺陷之间的多对一映射关系,获取软件缺陷的威胁程度;构建缺陷库;基于形式化语言和传统UML时序图,构建形式化的统一软件模型,根据统一软件模型构建软件安全缺陷知识库;通过定理证明机,发现统一软件模型中潜在的软件安全缺陷;根据分类标准、缺陷库将软件安全缺陷分为安全攸关类缺陷、隐私攸关类缺陷及容错攸关类缺陷;根据缺陷的威胁程度、相应的软件环境指数、以及计算公式计算出三类缺陷的可信量值;结合隐私量化值、容错量化值和用户感受量化值,实现了软件安全缺陷的可信性评估。
文档编号G06F21/00GK102073823SQ20111004676
公开日2011年5月25日 申请日期2011年2月25日 优先权日2011年2月25日
发明者徐超, 李晓红, 柳懿真, 王翔宇, 石红 申请人:天津大学