代码安全PPTQA-第二章 软件安全需求与设计.pptx
《代码安全PPTQA-第二章 软件安全需求与设计.pptx》由会员分享,可在线阅读,更多相关《代码安全PPTQA-第二章 软件安全需求与设计.pptx(33页珍藏版)》请在文库网上搜索。
1、目录2.1 安全需求概述2.2 安全需求分析方法2.3 安全设计概述2.4 安全设计方法2.5 威胁建模1本章学习目标1.了解安全需求的定义和标准;2.了解安全需求分析过程;3.了解软件安全设计的内容;4.了解什么是威胁建模;5.理解安全设计的分析方法;6.理解安全需求的原则;7.掌握安全设计的方法;8.掌握威胁建模的过程;2安全需求概述2.1安全需求的定义传统软件需求由功能需求、非功能需求和约束构成。安全需求的定义有三种:(1)将安全需求看作传统软件需求的非功能性需求部分,用于补充产品的功能描述,从安全方面描述产品特性。(2)将安全需求看作与业务功能需求同等重要的安全功能需求,是开发人员必须
2、实现的软件功能,对业务功能需求进行安全约束。(3)使用安全策略或质量需求来定义安全需求。安全需求的三个安全属性软件安全需求是为保障实现业务功能而对相关信息的机密性、完整性和可用性提出的要求。(1)机密性(Confidentiality)指保护敏感信息不被未授权用户访问。(2)完整性(Integrity)指保护数据不被更改或破坏。(3)可用性(Availability)指确保资源被授权用户的使用。安全需求的标准安全需求常用的标准有:安全开发标准ISO27034;信息技术软件安全保障规范GB/T30998-2014;功能安全基础标准IEC61508;信息技术安全性认证通用标准(CC标准)。CC标准
3、定义了安全功能需求和安全保障需求来规范安全需求。(1)安全功能需求是指安全系统应该提供的安全功能。开发者可参照CC标准第二部分安全功能要求中定义的安全审计、通信/不可抵赖、密码支持、用户数据保护、标识和鉴别和安全管理等确定需求。(2)安全保障需求是指安全可信度及为保障可信度而应采取的措施。开发者可参考CC标准第三部分安全保障要求定义的保护轮廓评估、安全目标评估、配置管理、交付和运行、脆弱性评估和保障维护等。安全保障级别安全保障级别(EVL)是CC标准定义的系统安全可信度评价方法。安全保障级别(EVL)通过安全系统在构造管理、生命周期支持和脆弱性评估等方面所采取的措施来确定系统的安全可信度,EV
4、L1至EAL7评估等级对开发系统的安全要求不断增加。安全风险值,系统的病毒感染率和平均失效时间MTTF都是除安全保障级别(EAL)外当前成熟流行的评价系统安全保障程度的指标。安全需求分析方法2.2安全需求分析过程安全需求分析的过程是一个不断发展的过程,安全需求的内容需要不断地进行修正以保持分析结果的有效性。软件安全需求的分析过程有以下步骤:(1)系统调查:了解系统所处的安全环境及其它安全信息,确定需要保护的资产,评价各个资产的相对价值。(2)分析系统的脆弱点和安全威胁:确定系统的脆弱点,针对每个脆弱点可能由此引发的安全威胁及其对资产可能造成损害的程度进行定性和定量分析。(3)确定需求:结合定性
5、分析和定量分析的结果,确定信息系统的安全需求,开发人员根据需求实施相应的安全措施。安全需求分析方法安全需求分析方法目前均是对传统需求分析方法的扩展,在传统需求分析过程中融入安全性考量。安全需求分析的常用方法有滥用案例、滥用框架和安全质量需求工程(SQUARE)等。滥用案例滥用案例是在传统的需求分析方法用例上的安全扩展,开发者通过将自己置于攻击者的状态,考虑当安全机制无效或被破坏时的后果,可更深入了解系统和防范恶意攻击。滥用案例的典型方法有误用用例和滥用用例:(1)误用用例方法是从功能性用例的文本描述中分析可能存在的安全漏洞并识别出对应的威胁,建立威胁用例和对应的安全需求用例。(2)滥用用例方法
6、用于捕获攻击者与系统之间的交互所产生的威胁,对攻击者的企图、攻击能力进行评估,针对识别出的威胁单独建立威胁用例,这些威胁用例与误用用例中的功能性用例并不产生交互。滥用案例的创建步骤(1)用UML 的方法描述参与者和用例。(2)引入主要的滥用者和滥用用例。(3)研究滥用用例和用例之间潜在的include关系。(4)引入新的用例来发现或阻止滥用用例。(5)形成详细的需求记录。滥用框架滥用框架是在传统的需求分析方法中问题框架上的安全扩展,开发者从攻击者的角度考虑系统面临的问题,采用已有的问题框架方法针对问题领域进行分析并获取安全需求。滥用框架通过滥用框架威胁图和安全需求描述图来描述系统面临的安全问题
7、。滥用框架定义“攻击者领城”表示攻击者;定义“受害者领域”表示系统遭受威胁的资产;引入“反需求”表示攻击者对系统的需求,先获取反需求,再制定相应的安全需求。滥用框架威胁图图中E1表示反需求在受害领域产生的安全威胁现象。E2表示机器领域和受害者领域之间的共享现象,机器领域通过E2对受害领域进行操作来完成软件系统的功能。实线的E3表示恶意攻击者对机器领域产生的攻击现象。虚线的E3表示反需求受到攻击者领域的需求引用,它和反需求一起描述了攻击者领域对机器领域的攻击效果。滥用框架威胁图滥用框架安全需求描述图图中E1表示在攻击情况下受保护领域所期望的现象。E2表示机器领域和受害者领域之间的共享现象,机器领
8、域通过E2对受害领域进行操作来完成软件系统的功能。实线的E3表示恶意攻击者对机器领域产生的攻击现象。虚线的E3表示反需求受到攻击者领域的需求引用,它和反需求一起描述了攻击者领域对机器领域的攻击效果。安全需求描述图SQUARE过程模型SQUARE过程模型在软件开发周期的早期植入安全概念,在系统实现后分析系统的安全性,并对系统将来的修改和更新起着重要作用。SQUARE过程分析安全需求应当在项目发生变化时重新应用。SQUARE模型需要项目投资者、需求工程师和安全专家的参与,过程相对复杂,适合在大型项目中运用。SQUARE模型的执行过程(1)统一定义:查阅IEEE和SWEBOK等安全相关资料进行统一定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代码安全PPTQA-第二章 软件安全需求与设计 代码 安全 PPTQA 第二 软件 需求 设计