- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件安全设计
本讲要点1.软件设计阶段的主要工作2.软件安全设计阶段的主要工作3.软件安全设计原则4.软件安全功能设计5.威胁建模6.应用案例
1.软件设计阶段的主要工作软件设计可以看作是从软件需求规格说明书出发,根据需求分析阶段确定的功能,设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法等内容,形成软件的具体设计方案,即从整体到局部,从总体设计(也有称为概要设计)到详细设计的过程。从工程管理的角度,软件设计可以分为总体设计和详细设计两个子阶段。
1.软件设计阶段的主要工作目前采用的很多软件开发方法,例如面向对象方法,其设计过程从概念模型逐步精化到实现模型,并且不断进行迭代,设计过程很难用总体设计和详细设计进行明确的区分。所以,再从技术的角度看软件设计阶段的主要工作,包括:软件架构设计、界面接口设计、模块/子系统等构件设计、数据模型设计、过程/算法设计以及部署设计等。
1.软件设计阶段的主要工作目前采用的很多软件开发方法,例如面向对象方法,其设计过程从概念模型逐步精化到实现模型,并且不断进行迭代,设计过程很难用总体设计和详细设计进行明确的区分。所以,再从技术的角度看软件设计阶段的主要工作,包括:软件架构设计、界面接口设计、模块/子系统等构件设计、数据模型设计、过程/算法设计以及部署设计等。
2.软件安全设计阶段的主要工作目的和作用:软件安全设计的目的是将安全属性设计到软件架构中,以实现软件产品本质的安全性。软件安全设计对于软件安全有着举足轻重的作用,大多数软件安全问题都是由于软件设计上安全性考虑不足或不完整所导致的。
2.软件安全设计阶段的主要工作软件安全设计与软件设计的联系:简单地说,软件安全设计就是将软件的安全需求转化为软件的功能结构的过程。软件设计过程通常包括架构设计、接口设计、构件设计、数据模型设计等工作安全设计也要不仅考虑系统架构及相关的安全问题,同时还要考虑如何将安全需求嵌入到软件的功能结构中,与功能结构相融合并且成为一个有机的整体,为高质量地实现软件的业务目标提供安全保障。软件安全设计的主要工作包括软件架构安全性设计,软件架构安全性分析以及软件安全功能设计。
2.软件安全设计阶段的主要工作软件架构安全性设计首先需要进行系统描述,包括系统功能、安全要求、系统部署和技术需求,确定软件系统的安全级别。接着,设计软件网络、数据库等应具备的安全功能,根据软件具体安全需求的不同,设计的安全功能包括加密、完整性验证、数字签名、访问控制以及安全管理等等。在架构安全设计过程中,还需要解决软件安全功能的易用性、可维护性和独立性问题。
2.软件安全设计阶段的主要工作软件架构安全性分析分析过程:首先进行架构建模,然后根据软件的安全需求描述或相关标准,对架构模型是否满足进行检查,如果不满足,需要修改设计架构,如此反复,直至满足所有安全需求和相关标准。
2.软件安全设计阶段的主要工作软件架构安全性分析分析方法:1)形式化分析技术。使用形式化方法描述软件架构和安全需求,最终的分析结果精确、可量化,且自动化程度高,但实用性较差。形式化分析主要包括UMLSec建模描述分析法等。2)工程化分析技术。从攻击者的角度考虑软件面临的安全问题,实用性强,但自动化程度较低。软件架构的工程化分析主要包括场景分析法、错误用例分析法和威胁建模。相对而言,威胁建模方法实用程度较高。
2.软件安全设计阶段的主要工作接下来将介绍软件安全设计中涉及的3个主要内容:1)软件安全设计原则:这是一套在软件生产过程中关注软件安全性的卓有成效的开发经验总结。2)软件安全功能设计:考虑如何将安全需求融入软件架构和设计方案中,将它们转化为可实现的功能组件。3)威胁建模:通过抽象的概念模型对影响软件系统的威胁进行系统地识别和评价。
3.软件安全设计原则这些基本原则是针对一些普遍存在的不安全的软件设计问题,总结提炼而成的安全实践经验。(1)Saltzer和Schroeder提出的安全设计8条原则
3.软件安全设计原则(2)JohnViega和GaryMcGraw总结的10条软件安全设计原则
3.软件安全设计原则(3)MichaelHoward总结的13条安全设计原则1)从错误中吸取教训(Learnfrommistakes)。2)尽可能减少软件受攻击面(Minimizeyourattacksurface)。3)纵深防御(Usedefenseindepth)。4)使用最小特权(Useleastprivilege)。5)采用安全的默认设置(Employsecuredefaults)。6)向下兼容总是不安全的(backwardcompatibilitywillalwaysgiveyougrief)。7
您可能关注的文档
- 软件安全技术课件:软件安全部署.pptx
- 软件安全技术课件:软件安全测试.pptx
- 软件安全技术课件:软件安全概述.pptx
- 软件安全技术课件:软件安全开发模型.pptx
- 软件安全技术课件:软件漏洞概述.pptx
- 软件安全技术课件:软件知识产权保护.pptx
- 商品及品类管理课件:纺织品商品管理.pptx
- 商品及品类管理课件:家用电器商品管理.pptx
- 商品及品类管理课件:品类管理.pptx
- 商品及品类管理课件:日用工业品商品管理.pptx
- 2025年扎兰屯职业学院单招综合素质考试题库附答案.docx
- 2025-2030中国金笔尖行业市场发展趋势与前景展望战略研究报告.docx
- 2025年高考考试《人文科技常识》试卷带解析(综合卷).docx
- 2025年高考考试《人文科技常识》试卷带解析(综合卷).docx
- 2025-2030中国金红石型二氧化钛行业市场发展趋势与前景展望战略研究报告.docx
- 2025年高考考试《人文科技常识》试卷带解析(满分必刷).docx
- 2025年高考考试《人文科技常识》试卷带解析(突破训练).docx
- 2025-2030中国金红石型二氧化钛行业运营态势及投资策略战略规划报告.docx
- 2025年高考考试《人文科技常识》试卷带解析(有一套).docx
- 2025-2030中国金红石市场供需现状调研与未来前景展望报告.docx
文档评论(0)