读软件开发安全之道:概念、设计与实施11安全地编程

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

1. 安全地编程

1.1. 在一个完整的软件设计过程中,我们要在创建和审查时就将安全性放在心中,但这只是产品开发过程的开始,接下来是实现、测试、部署、运行、监控、维护,并最终在生命周期结束时将其淘汰

1.2. 开发人员不仅必须忠实地实现一个优良设计中明确的安全规定,还必须避免无意中通过有缺陷的代码引入额外的漏洞

1.3. 深思熟虑的设计师可以预测编程中遇到的问题,并就注重安全性的领域提供建议等

1.4. 在理想情况下,在设计中应该指定主动的安全措施,即为了保护系统、资产和用户而构建的软件功能

2. 挑战

2.1. 安全编码的挑战主要在于避免引入缺陷,因为缺陷有可能成为可被利用的漏洞

2.2. 制作出能够真正运行的软件会带来更高的复杂性,并且需要在设计之外对细节进行填充,所有这些都不可避免地会带来安全风险

2.3. 完美并不是我们的目标,大多数会导致常见漏洞的编码失败模式都很好理解,而且不难纠正

2.4. 恶意影响

2.5. 漏洞是bug

2.6. 漏洞链

2.7. bug和熵

2.8. 警觉

3. 案例

3.1. 2014年,苹果公司为其大部分产品悄悄地发布了一系列关键安全补丁,并且出于“保护我们的客户”的考虑,拒绝解释问题的原因

3.2. 教训

3.3. 对策

4. 编码漏洞

4.1. 新类别的bug是无穷无尽的,不要徒劳地试图编写一份涵盖所有潜在软件漏洞的完整列表

4.2. 原子性

4.3. 时序攻击

4.4. 序列化

上一篇下一篇

猜你喜欢

热点阅读