威胁模型驱动的软件安全评估方法

文档序号:6355748阅读:323来源:国知局
专利名称:威胁模型驱动的软件安全评估方法
技术领域
本发明涉及属于安全、可靠性测试领域,具体讲涉及在CC标准下基于活动图扩展 的安全需求分析方法。
背景技术
随着计算机和互联网的普及,软件已经成为信息时代资源获得和利用的重要载 体。在这种形势下,软件的安全就成为各项工作正常、高效进行的重要保障。因此,人们对 软件安全的关注度越来越高,安全性成为高可信软件的一个重要的可信性质,如何在软件 的开发中进一步解决软件设计中潜在的安全隐患,提高其安全性,对于可信软件的开发具
有重要意义。为了安全的开发软件,提高软件的安全性,人们从形式化和工程化这两大研究途 径来开发安全软件,本发明从工程化研究途径探讨开发安全软件的方法,提出了一种统一 威胁模型,采用AND/OR树的结构形式化地表示计算机系统可能面临的威胁、建模攻击者实 现威胁的潜在攻击方法,为威胁模型驱动的软件安全评估方法奠定了基础。一个统一威胁模型M是一个三元组M = (Tr,Al,H),其中,Tr是一棵统一威胁树, Al是一个统一威胁模型的关键算法的集合,H是一个安全事件的历史统计信息的集合。统 一威胁树表示了软件安全威胁的实现方式。统一威胁模型关键算法集合给出了软件威胁 建模、分析统一威胁模型中节点的可达性、检测统一威胁模型回路、从统一威胁模型生成攻 击路径以及检测统一威胁模型重复路径的方法,这些方法是威胁模型驱动的软件安全评估 方法的基础。安全事件的历史统计信息的集合则用于辅助指导设计软件安全威胁的缓和方 案。也就是说,通过威胁建模,用根节点表示最终威胁目标,然后进一步划分为若干个 子目标。叶节点表示攻击者实现最终威胁目标所采取的攻击行为或所需要利用的计算机系 统的脆弱点。中间节点是根节点和叶节点之间的节点,表示为实现其上层节点的目标而划 分出的一些子任务,代表达到最终目标的中间级的攻击方式。

发明内容
为克服现有技术的不足,缓和软件威胁,增强软件系统的安全性,本发明采用的技 术方案是,威胁模型驱动的软件安全评估方法,包括下列步骤1构建软件系统的概图捕捉利益相关人和系统参与者与系统之间的交互 关联以及系统主要功能,软件系统架构视图由带有资产注释信息的扩展UML(Unified ModelingLanguage统一建模语言)用例图表示,采用扩展用例图对软件功能需求进行建 模,得到软件系统架构视图;2分解软件系统捕捉系统的功能设计中的数据流和控制流信息以及参与者和系 统之间的详细交互过程,软件设计视图由带有资产注释和信任边界信息的扩展UML活动图 表示,将扩展UML活动图缚到扩展UML用例图中相应的用例上进行动态建模,对软件系统架构进行分解,得到软件设计视图;3识别软件系统的关键资产捕捉架构设计和功能设计中的系统关键资产,对UML 用例图进行扩展,引入资产注释建模元素捕捉系统架构设计中的关键资产信息;对活动图 进行扩展,引入资产注释和信任边界建模元素捕捉系统功能设计中的关键资产信息,采用 扩展UML用例图和活动图中的资产注释建模元素表示关键资产视图;4识别并建模软件威胁捕捉软件设计中系统关键资产可能面临的威胁,包括威 胁目标、攻击者以及攻击者可能采用的攻击方法、攻击路径,用扩展UML活动图中的信任边 界捕捉攻击者可能从哪里攻击系统;用扩展UML活动图中的泳道建模元素表示攻击者;用 统一威胁模型的统一威胁树表示威胁目标和攻击者可能采用的攻击方法,采用统一威胁模 型建模系统可能面临的威胁;5基于攻击路径评估软件安全捕捉基于攻击路径的软件安全评估结果,包括攻 击路径的攻击成本、攻击成功的概率、攻击危害程度以及按照攻击危害程度的值降序排列 的攻击路径集合;6根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软 件系统的设计,缓和软件威胁,增强软件系统的安全性。本发明具有如下技术效果构建软件系统的概图、分解软件系统、识别软件系统的关键资产这三项共同实现 的模型能够帮助软件分析和设计人员在软件开发生命周期早期的设计阶段理解软件系统 的主要利益相关人、关键资产、系统体系架构、系统功能模型;识别并建模软件威胁能够帮 助软件分析和设计人员在软件开发生命周期早期的设计阶段理解软件系统的交互过程中 产生的软件安全威胁之间的关系,这为后续的安全评估奠定了坚实的基础;基于攻击路径 评估软件安全能够有效地发现软件潜在的威胁,然后根据软件安全评估的结果制定缓和方 案并确定其优先级,应用缓和方案改进软件系统的设计,缓和软件威胁,增强软件系统的安 全性。通过以上六个部分的工作,可以在软件开发的初期设计阶段,对软件进行建模,并 通过统一威胁建模驱动软件评估,进而根据可能存在的威胁做出缓和方案,大大提高了软 件的安全性。




图1网上银行系统在线账户查询和管理业务功能子系统的概图 图2注册用户访问网上银行的扩展活动图。 图3攻击者非法浏览秘密的账户信息的统一威胁模型。图中 Nl :Illegally access to secret account information N2 :Access to secret account information on the wire N3 :Attack on account password N4 :Unprotect HTTP traffic N5 :Attacker views traffic
N6 :Attacker guesses the password of account N7 :Attacker reads confidential Cookie data
N8 :Listen to router trafficN9 :Attack switchMitigation measures :K1, K2, K3, K4, K5图4统一威胁模型驱动的软件安全评估方法的流程。图中1 构建软件系统的概图;2:分解软件系统;3 识别软件系统的关键资产;4 识别并建模软件威胁;5 基于攻击路径评估软件安全;6:根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软 件系统的设计,缓和软件威胁,增强软件系统的安全性。
具体实施例方式基于软件开发的现状及规避攻击的基本规律,本发明的目的是通过统一威胁建 模,对软件进行评估,明确当中可能出现的安全隐患,并找到一些可行的缓和方案,从而在 软件开发过程中有效提高软件的安全性。具体来讲,包括以下几个方面1.软件功能建模模型能够帮助软件分析和设计人员在软件开发生命周期早期 的设计阶段理解软件系统的主要利益相关人、关键资产、系统体系架构、系统功能模型。2.威胁建模该模型能够帮助软件分析和设计人员在软件开发生命周期早期的 设计阶段理解软件系统的交互过程中产生的软件安全威胁之间的关系。3.软件安全评估基于威胁建模,可对统一威胁模型的攻击路径及其叶节点评估 属性赋值,并将这些值输入给威胁建模的关键算法以及基于攻击路径的软件安全评估算 法,可以计算出该模型攻击路径的攻击危害程度结果,从而对软件系统做出评估。4.制定并应用缓和方案根据基于攻击路径的软件安全评估结果,制定统一威 胁模型各条攻击路径的缓和方案,并依据攻击路径的攻击危害程度确定缓和方案的优先 级——攻击危害程度越高的攻击路径,其缓和方案的优先级越高。最后应用缓和方案改进 应用程序设计以增强安全性。针对上述目的、目标,本发明提出的方法大致分为六个部分,即构建软件系统的概 图、分解软件系统、识别软件系统的关键资产、识别并建模软件威胁、基于攻击路径评估软 件安全、根据软件安全评估的结果制定缓和方案并确定其优先级。最后将这些信息呈现给 用户。其主体过程如图4所示。1构建软件系统的概图捕捉利益相关人和系统参与者与系统之间的交互关联以 及系统主要功能。软件系统架构视图由带有资产注释信息的扩展UML用例图表示。采用扩 展用例图对软件功能需求进行建模,得到软件系统架构视图。2分解软件系统捕捉系统的功能设计中的数据流和控制流信息以及参与者和系 统之间的详细交互过程。软件设计视图由带有资产注释和信任边界信息的扩展UML活动图 表示。将扩展UML活动图缚到扩展UML用例图中相应的用例上进行动态建模,对软件系统 架构进行分解,得到软件设计视图。3识别软件系统的关键资产捕捉架构设计和功能设计中的系统关键资产。对UML用例图进行扩展,引入资产注释建模元素捕捉系统架构设计中的关键资产信息;对活动图 进行扩展,引入资产注释和信任边界建模元素捕捉系统功能设计中的关键资产信息。采用 扩展UML用例图和活动图中的资产注释建模元素表示关键资产视图。4识别并建模软件威胁捕捉软件设计中系统关键资产可能面临的威胁,包括威 胁目标、攻击者以及攻击者可能采用的攻击方法(攻击路径)。用扩展UML活动图中的信任 边界捕捉攻击者可能从哪里攻击系统;用扩展UML活动图中的泳道建模元素表示攻击者; 用统一威胁模型的统一威胁树表示威胁目标和攻击者可能采用的攻击方法。采用统一威胁 模型建模系统可能面临的威胁。5基于攻击路径评估软件安全捕捉基于攻击路径的软件安全评估结果,包括攻 击路径的攻击成本、攻击成功的概率、攻击危害程度以及按照攻击危害程度的值降序排列 的攻击路径集合。6根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软 件系统的设计,缓和软件威胁,增强软件系统的安全性。网上银行是当今发展最为迅速的Web应用程序之一,近年来,诸多网上银行系统 因为存在漏洞而被攻击。因此,本发明对网上银行系统的案例研究按照所提出的统一威胁 模型驱动的软件安全评估方法的流程进行,并且以网上银行系统在线账户查询和管理业务 功能子系统的具体软件安全评估过程为例,系统地阐明所提出的软件安全评估方法。应用统一威胁模型工具构建网上银行系统在线账户查询和管理业务功能子系统 的概图,如图1所示,针对图1所示的网上银行系统在线账户查询和管理业务功能子系统概图中各个 用例,应用统一威胁模型工具,采用扩展活动图动态建模对其进行分解,可以得到相应的扩 展活动图;然后识别该系统的关键资产并用资产注释予以标注;接下来使用威胁模型识别 并归类软件安全威胁,可以得到“攻击者非法浏览秘密的账户信息”、“攻击者使应用程序拒 绝服务”、“攻击者提升特权”以及“攻击者欺骗计算机执行用户请求”等威胁。此处以“攻击者非法浏览秘密的账户信息”威胁为例,阐明统一威胁模型驱动的软 件安全评估方法。该威胁源于注册用户访问网上银行活动,其扩展活动图如图2所示。用户成功登录后,可以进行查询账户、管理账户,等操作,在用户与系统交互的过 程中,用户账户信息是系统的关键资产,成为可能被攻击的主要威胁目标。要实现“非法浏览秘密的账户信息”这一安全威胁目标(m),我们从攻击者的角 度,应用统一威胁模型算法,得到攻击者非法浏览秘密的账户信息的统一威胁模型,如图3 所示.统一威胁模型驱动的软件安全评估依赖于统一威胁模型的攻击路径及其叶节点 评估属性的赋值。赋值结果见表1。表1非法浏览秘密的账户信息的统一威胁模型的叶节点赋值
权利要求
1. 一种威胁模型驱动的软件安全评估方法,其特征是,包括下列步骤 1构建软件系统的概图捕捉利益相关人和系统参与者与系统之间的交互关 联以及系统主要功能,软件系统架构视图由带有资产注释信息的扩展UML(Unified ModelingLanguage统一建模语言)用例图表示,采用扩展用例图对软件功能需求进行建 模,得到软件系统架构视2.分解软件系统捕捉系统的功能设计中的数据流和控制流信息以及参与者和系统之 间的详细交互过程,软件设计视图由带有资产注释和信任边界信息的扩展UML活动图表 示,将扩展UML活动图缚到扩展UML用例图中相应的用例上进行动态建模,对软件系统架构 进行分解,得到软件设计视3.识别软件系统的关键资产捕捉架构设计和功能设计中的系统关键资产,对UML用例 图进行扩展,引入资产注释建模元素捕捉系统架构设计中的关键资产信息;对活动图进行 扩展,引入资产注释和信任边界建模元素捕捉系统功能设计中的关键资产信息,采用扩展 UML用例图和活动图中的资产注释建模元素表示关键资产视4.识别并建模软件威胁捕捉软件设计中系统关键资产可能面临的威胁,包括威胁目 标、攻击者以及攻击者可能采用的攻击方法、攻击路径,用扩展UML活动图中的信任边界捕 捉攻击者可能从哪里攻击系统;用扩展UML活动图中的泳道建模元素表示攻击者;用统一 威胁模型的统一威胁树表示威胁目标和攻击者可能采用的攻击方法,采用统一威胁模型建 模系统可能面临的威胁;
5.基于攻击路径评估软件安全捕捉基于攻击路径的软件安全评估结果,包括攻击路 径的攻击成本、攻击成功的概率、攻击危害程度以及按照攻击危害程度的值降序排列的攻 击路径集合;
6.根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软件系 统的设计,缓和软件威胁,增强软件系统的安全性。
全文摘要
本发明涉及属于安全、可靠性测试领域。为缓和软件威胁,增强软件系统的安全性,本发明采用的技术方案是,威胁模型驱动的软件安全评估方法,包括下列步骤1.构建软件系统的概图;2.分解软件系统;3.识别软件系统的关键资产;4.识别并建模软件威胁;5.基于攻击路径评估软件安全;6.根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软件系统的设计,缓和软件威胁,增强软件系统的安全性。本发明主要应用于增强软件系统的安全性。
文档编号G06F21/22GK102103677SQ20111005675
公开日2011年6月22日 申请日期2011年3月9日 优先权日2011年3月9日
发明者何可, 冯志勇, 李晓红, 胡静, 许光全, 闫波波 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1