CN102103677A - 威胁模型驱动的软件安全评估方法 - Google Patents
威胁模型驱动的软件安全评估方法 Download PDFInfo
- Publication number
- CN102103677A CN102103677A CN201110056755XA CN201110056755A CN102103677A CN 102103677 A CN102103677 A CN 102103677A CN 201110056755X A CN201110056755X A CN 201110056755XA CN 201110056755 A CN201110056755 A CN 201110056755A CN 102103677 A CN102103677 A CN 102103677A
- Authority
- CN
- China
- Prior art keywords
- software
- security
- modeling
- attack
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及属于安全、可靠性测试领域。为缓和软件威胁,增强软件系统的安全性,本发明采用的技术方案是,威胁模型驱动的软件安全评估方法,包括下列步骤:1.构建软件系统的概图;2.分解软件系统;3.识别软件系统的关键资产;4.识别并建模软件威胁;5.基于攻击路径评估软件安全;6.根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软件系统的设计,缓和软件威胁,增强软件系统的安全性。本发明主要应用于增强软件系统的安全性。
Description
技术领域
本发明涉及属于安全、可靠性测试领域,具体讲涉及在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攻击者非法浏览秘密的账户信息的统一威胁模型。图中:
N1: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 traffic
N9:Attack switch
Mitigation 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所示。
用户成功登录后,可以进行查询账户、管理账户,等操作,在用户与系统交互的过程中,用户账户信息是系统的关键资产,成为可能被攻击的主要威胁目标。
要实现“非法浏览秘密的账户信息”这一安全威胁目标(N1),我们从攻击者的角度,应用统一威胁模型算法,得到攻击者非法浏览秘密的账户信息的统一威胁模型,如图3所示.
统一威胁模型驱动的软件安全评估依赖于统一威胁模型的攻击路径及其叶节点评估属性的赋值。赋值结果见表1。
表1 非法浏览秘密的账户信息的统一威胁模型的叶节点赋值
将此统一威胁模型及其叶节点属性的评估赋值输入给威胁建模的关键算法以及基于攻击路径的软件安全评估算法,可以计算出该模型攻击路径的按照攻击危害程度降序排列结果,如表4-2所示。经验证,该结果与人工计算结果相同。这表明,从案例研究的角度,上述算法是正确的。评估结果表明该统一威胁模型一共有四条攻击路径,而攻击路径<N6>的攻击危害程度最大。
表4-2 按攻击危害程度降序排列的攻击路径
各条攻击路径相应的缓和方案见表4-3
表4-3 攻击路径及其相应的缓和方案
案例研究结果表明:(1)统一威胁模型驱动的软件安全评估方法能够尽早地发现并缓和设计层次的漏洞,从而设计出能够抵御攻击的安全软件;(2)统一威胁模型引入攻击危害程度思想和关键节点分析方法,能够更加准确地找出对软件安全影响大的攻击路径,在评估结论和确定缓和方案优先级的准确性方面更优;(3)统一威胁模型引入攻击情景用于测试阶段构建安全测试用例,能够为软件测试阶段的安全测试提供更好的指导。
Claims (1)
1.一种威胁模型驱动的软件安全评估方法,其特征是,包括下列步骤:
1构建软件系统的概图:捕捉利益相关人和系统参与者与系统之间的交互关联以及系统主要功能,软件系统架构视图由带有资产注释信息的扩展UML(Unified ModelingLanguage统一建模语言)用例图表示,采用扩展用例图对软件功能需求进行建模,得到软件系统架构视图;
2分解软件系统:捕捉系统的功能设计中的数据流和控制流信息以及参与者和系统之间的详细交互过程,软件设计视图由带有资产注释和信任边界信息的扩展UML活动图表示,将扩展UML活动图缚到扩展UML用例图中相应的用例上进行动态建模,对软件系统架构进行分解,得到软件设计视图;
3识别软件系统的关键资产:捕捉架构设计和功能设计中的系统关键资产,对UML用例图进行扩展,引入资产注释建模元素捕捉系统架构设计中的关键资产信息;对活动图进行扩展,引入资产注释和信任边界建模元素捕捉系统功能设计中的关键资产信息,采用扩展UML用例图和活动图中的资产注释建模元素表示关键资产视图;
4识别并建模软件威胁:捕捉软件设计中系统关键资产可能面临的威胁,包括威胁目标、攻击者以及攻击者可能采用的攻击方法、攻击路径,用扩展UML活动图中的信任边界捕捉攻击者可能从哪里攻击系统;用扩展UML活动图中的泳道建模元素表示攻击者;用统一威胁模型的统一威胁树表示威胁目标和攻击者可能采用的攻击方法,采用统一威胁模型建模系统可能面临的威胁;
5基于攻击路径评估软件安全:捕捉基于攻击路径的软件安全评估结果,包括攻击路径的攻击成本、攻击成功的概率、攻击危害程度以及按照攻击危害程度的值降序排列的攻击路径集合;
6根据软件安全评估的结果制定缓和方案并确定其优先级,应用缓和方案改进软件系统的设计,缓和软件威胁,增强软件系统的安全性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110056755XA CN102103677A (zh) | 2011-03-09 | 2011-03-09 | 威胁模型驱动的软件安全评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110056755XA CN102103677A (zh) | 2011-03-09 | 2011-03-09 | 威胁模型驱动的软件安全评估方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102103677A true CN102103677A (zh) | 2011-06-22 |
Family
ID=44156435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110056755XA Pending CN102103677A (zh) | 2011-03-09 | 2011-03-09 | 威胁模型驱动的软件安全评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102103677A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289619A (zh) * | 2011-07-26 | 2011-12-21 | 天津大学 | 一种等级驱动的安全需求分析方法 |
CN102799834A (zh) * | 2012-06-07 | 2012-11-28 | 天津大学 | 基于系统资产的软件安全需求分析方法 |
CN107103244A (zh) * | 2017-05-12 | 2017-08-29 | 天津大学 | 基于AADL的Web应用架构安全性的评估方法 |
CN107251038A (zh) * | 2014-12-05 | 2017-10-13 | T移动美国公司 | 重组威胁建模 |
CN107390567A (zh) * | 2016-04-25 | 2017-11-24 | 通用电气公司 | 用于保护工业资产控制系统的系统以及方法 |
CN109582992A (zh) * | 2017-09-29 | 2019-04-05 | 卡巴斯基实验室股份制公司 | 硬件和软件系统及复合系统的自动化设计的系统和方法 |
CN109614096A (zh) * | 2018-11-27 | 2019-04-12 | 成都信息工程大学 | 一种基于uml需求建模过程用例与活动转换的方法 |
US10574675B2 (en) | 2014-12-05 | 2020-02-25 | T-Mobile Usa, Inc. | Similarity search for discovering multiple vector attacks |
CN111368302A (zh) * | 2020-03-08 | 2020-07-03 | 北京工业大学 | 基于攻击者攻击策略生成的自动威胁检测方法 |
CN113835696A (zh) * | 2021-08-26 | 2021-12-24 | 北京擎天信安科技有限公司 | 一种基于资产类型的汽车网络安全组件复用方法 |
CN114297659A (zh) * | 2021-11-12 | 2022-04-08 | 浙江大学 | 一种基于形式化验证的嵌入式设备安全启动方案设计方法 |
-
2011
- 2011-03-09 CN CN201110056755XA patent/CN102103677A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289619A (zh) * | 2011-07-26 | 2011-12-21 | 天津大学 | 一种等级驱动的安全需求分析方法 |
CN102289619B (zh) * | 2011-07-26 | 2013-07-03 | 天津大学 | 一种等级驱动的安全需求分析方法 |
CN102799834A (zh) * | 2012-06-07 | 2012-11-28 | 天津大学 | 基于系统资产的软件安全需求分析方法 |
US10574675B2 (en) | 2014-12-05 | 2020-02-25 | T-Mobile Usa, Inc. | Similarity search for discovering multiple vector attacks |
CN107251038A (zh) * | 2014-12-05 | 2017-10-13 | T移动美国公司 | 重组威胁建模 |
CN107390567A (zh) * | 2016-04-25 | 2017-11-24 | 通用电气公司 | 用于保护工业资产控制系统的系统以及方法 |
CN107390567B (zh) * | 2016-04-25 | 2021-06-15 | 通用电气公司 | 用于保护工业资产控制系统的系统以及方法 |
CN107103244A (zh) * | 2017-05-12 | 2017-08-29 | 天津大学 | 基于AADL的Web应用架构安全性的评估方法 |
CN107103244B (zh) * | 2017-05-12 | 2020-04-17 | 天津大学 | 基于AADL的Web应用架构安全性的评估方法 |
CN109582992A (zh) * | 2017-09-29 | 2019-04-05 | 卡巴斯基实验室股份制公司 | 硬件和软件系统及复合系统的自动化设计的系统和方法 |
CN109582992B (zh) * | 2017-09-29 | 2023-08-18 | 卡巴斯基实验室股份制公司 | 硬件和软件系统及复合系统的自动化设计的系统和方法 |
CN109614096B (zh) * | 2018-11-27 | 2022-05-06 | 成都信息工程大学 | 一种基于uml需求建模过程用例与活动转换的方法 |
CN109614096A (zh) * | 2018-11-27 | 2019-04-12 | 成都信息工程大学 | 一种基于uml需求建模过程用例与活动转换的方法 |
CN111368302A (zh) * | 2020-03-08 | 2020-07-03 | 北京工业大学 | 基于攻击者攻击策略生成的自动威胁检测方法 |
CN111368302B (zh) * | 2020-03-08 | 2024-02-02 | 北京工业大学 | 基于攻击者攻击策略生成的自动威胁检测方法 |
CN113835696A (zh) * | 2021-08-26 | 2021-12-24 | 北京擎天信安科技有限公司 | 一种基于资产类型的汽车网络安全组件复用方法 |
CN114297659A (zh) * | 2021-11-12 | 2022-04-08 | 浙江大学 | 一种基于形式化验证的嵌入式设备安全启动方案设计方法 |
CN114297659B (zh) * | 2021-11-12 | 2024-05-10 | 浙江大学 | 一种基于形式化验证的嵌入式设备安全启动方案设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103677A (zh) | 威胁模型驱动的软件安全评估方法 | |
Lopez-Rojas et al. | Money laundering detection using synthetic data | |
CN101452469B (zh) | 基于攻击模式的软件安全缺陷库系统及其管理方法 | |
CN101655787A (zh) | 加入攻击路径形式化分析的威胁建模方法 | |
CN103701783A (zh) | 一种预处理单元、由其构成的数据处理系统以及处理方法 | |
CN104123501B (zh) | 一种基于多鉴定器集合的病毒在线检测方法 | |
CN102360409B (zh) | 一种生成验证码的方法、验证的方法及其装置 | |
CN104281795B (zh) | 基于鼠标行为的密码容错方法 | |
CN109683854A (zh) | 一种软件安全需求分析方法及系统 | |
CN102236758A (zh) | 基于安全知识库的安全需求获取方法 | |
CN105376222A (zh) | 基于云计算平台的智能防御系统 | |
CN109981686A (zh) | 一种基于循环对抗的网络安全态势感知方法及系统 | |
CN104123497A (zh) | 一种防御sql注入的方法、装置及系统 | |
CN102799834A (zh) | 基于系统资产的软件安全需求分析方法 | |
CN112364003A (zh) | 一种用于不同行业的大数据治理方法、装置、设备和介质 | |
CN114039758A (zh) | 一种基于事件检测模式的网络安全威胁识别方法 | |
CN107729729A (zh) | 一种基于随机森林的滑动验证码的自动通过测试方法 | |
CN105045715A (zh) | 基于编程模式和模式匹配的漏洞聚类方法 | |
CN113962704A (zh) | 基于人脸识别的转账验证方法、装置、设备及存储介质 | |
CN113886817A (zh) | 主机入侵检测方法及装置、电子设备、存储介质 | |
CN110855654A (zh) | 基于流量互访关系的漏洞风险量化管理方法和系统 | |
Huang | Application of Computer Data Mining Technology Based on AKN Algorithm in Denial of Service Attack Defense Detection. | |
CN113542204B (zh) | 防护规则生成方法、装置和存储介质 | |
CN104980310B (zh) | 物联网即时通讯信息实时监控系统 | |
Li et al. | User behaviour authentication model based on stochastic petri net in cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110622 |