读软件开发安全之道:概念、设计与实施09安全设计

2024-08-25  本文已影响0人  躺柒
读软件开发安全之道:概念、设计与实施09安全设计.png

1. 安全设计

1.1. 过载、混乱和迷惑性并不是信息的属性,而是设计的失败。

1.2. 不应该将系统的安全性留给审查员进行修补

2. 在设计中集成安全性

2.1. 设计阶段为将安全原则和模式应用到软件项目中提供了绝佳的机会

2.2. 经验丰富的设计师会从一开始就将安全性纳入设计方案之中

2.3. 明确设计中的假定规则

2.4. 定义范围

2.5. 设置安全要求

2.6. 威胁建模

3. 建立缓解措施

3.1. 设计接口

3.2. 设计数据处理

3.3. 将隐私融入设计

4. 规划整个软件生命周期

4.1. 太多的软件设计都默默地假定了这个系统会永远存在下去,而忽略了一个现实,即所有软件的生命周期都是有限的

4.2. 从首次发布和部署,到更新和维护,再到最终退役,系统生命周期中的许多方面都存在重大的安全隐患,而且这些隐患随着时间的推移很容易被忽略

4.3. 至少任何设计都应该考虑数据的长期处理

5. 权衡取舍

5.1. 在无法简单地做出选择的情况下,权衡取舍需要进行大量的工程判断,同时还要考虑很多其他因素

5.2. 大多数设计工作都是在企业或项目社区中进行的,它们所需的安全级别在很大范围内都是统一的

5.3. 设计阶段是在软件的各项竞争需求之间取得适当平衡的最佳机会

5.4. 当考虑到预定的截止日期、预算和人数限制、遗留的兼容性问题,以及冗长的功能列表时,很少会(甚至完全不会)将安全作为重中之重

5.5. 安全软件设计的核心是在这些理想化的原则与现实世界系统的实用需求之间取得适当的平衡

6. 设计的简洁性

6.1. 如果安全性需要依赖于正确地做出一些复杂的决定或设计一些复杂的机制,我们都要小心:要看看是否有更简单的方法来实现相同的目标

6.2. 在软件中,我们却很容易在不经意间绕过外部保护层,打开通往内部的通道

上一篇 下一篇

猜你喜欢

热点阅读