更新时间:2024-01-31 18:37:42
封面
版权信息
版权
内容提要
献词
作者简介
技术审校者简介
推荐序
自序
致谢
前言
第一部分 概念
第1章 基础
1.1 理解安全
1.2 信任
1.3 经典原则
第2章 威胁
2.1 对抗性视角
2.2 4个问题
2.3 威胁建模
2.4 隐私方面的考量因素
2.5 无处不在的威胁建模
第3章 缓解
3.1 解决威胁
3.2 结构性缓解策略
3.3 访问策略与访问控制
3.4 接口
3.5 通信
3.6 存储
第4章 模式
4.1 设计属性
4.2 暴露最少信息
4.3 强力执行
4.4 冗余
4.5 信任与责任
4.6 反模式
第5章 密码学
5.1 加密工具
5.2 随机数
5.3 消息摘要
5.4 对称加密
5.5 非对称加密
5.6 数字签名
5.7 数字证书
5.8 密钥交换
5.9 使用加密
第二部分 设计
第6章 安全设计
6.1 在设计中集成安全性
6.2 建立缓解措施
6.3 将隐私融入设计
6.4 规划整个软件生命周期
6.5 权衡取舍
6.6 设计的简洁性
第7章 安全设计审查
7.1 SDR基本概念
7.2 SDR流程
7.3 评估设计的安全性
7.4 处理分歧
7.5 练习
第三部分 实施
第8章 安全地编程
8.1 挑战
8.2 案例研究:GotoFail
8.3 编码漏洞
8.4 非常嫌疑犯
第9章 低级编码缺陷
9.1 算术漏洞
9.2 内存访问漏洞
第10章 不受信任的输入
10.1 输入验证
10.2 字符串漏洞
10.3 注入攻击漏洞
10.4 缓解注入攻击
第11章 Web安全
11.1 建立在框架之上
11.2 Web安全模型
11.3 常见的Web漏洞
11.4 更多的漏洞和缓解措施
第12章 安全测试
12.1 什么是安全测试
12.2 对GotoFail漏洞执行安全测试
12.3 编写安全测试用例
12.4 模糊测试
12.5 安全回归测试
12.6 可用性测试
12.7 安全测试的最佳实践
第13章 安全开发最佳实践
13.1 代码质量
13.2 依赖关系
13.3 漏洞分类
13.4 维护一个安全的开发环境
后记
附录A 设计文档示例
附录B 词汇表
附录C 练习
附录D 备忘单