软件安全开发 - (EPUB全文下载)
文件大小:0.71 mb。
文件格式:epub 格式。
书籍内容:
软件安全开发
第1章 软件安全开发基础
1.1 软件安全开发背景
1.1.2 软件安全问题产生的原因
1.2 软件安全开发概念
1.2.2 软件安全开发生命周期
1.3 软件安全开发方法
1.3.1 安全开发生命周期
1.3.2 内建安全
1.3.3 BSI成熟度模型
1.3.4 软件保障成熟度模型
1.3.5 综合的轻量应用安全过程
1.3.6 软件安全开发方法特点分析
1.4 软件安全开发其他相关内容
1.4.2 信息系统安全工程
1.4.3 CC标准
第2章 软件安全需求分析
2.1 需求和安全需求
2.1.1 需求的定义与分类
2.1.2 安全需求和安全需求工程
2.2 安全需求分析方法
2.2.1 常用安全需求分析方法
2.2.2 安全需求分析方法在实践中的应用
2.2.3 使用UMLsec方法对网上交易系统进行安全需求分析
第3章 软件安全设计
3.1 软件设计与安全设计
3.1.1 软件设计的主要工作
3.1.2 软件安全设计原则
3.1.3 减少软件受攻击面
3.2 软件安全设计方法
3.2.1 基于模式的软件安全设计
3.2.2 安全设计方法实践
3.3 软件架构安全性分析
3.3.1 软件架构的安全性
3.3.2 软件架构安全分析方法
3.4 威胁建模
3.4.1 建模
3.4.2 威胁识别
3.4.3 缓解威胁
3.4.4 验证
第4章 安全编码
4.1 软件漏洞含义及分类
4.2 软件安全编码原则
4.3 安全编程基础
4.3.2 防范整数溢出
4.3.3 处理竞争条件
4.3.4 正确处理异常
4.3.5 防范交互参数安全问题
4.3.6 防范拒绝服务攻击
4.4 Web应用安全编程
4.4.2 防范XSS跨站脚本攻击
4.4.3 避免重定向漏洞
4.4.4 避免跨站请求伪造漏洞
4.5 数据安全编程
4.5.1 常用密码算法和接口库
4.5.2 随机数生成
4.5.3 选择加密算法
4.5.4 密钥生成和使用
4.5.5 加盐哈希计算
第5章 软件安全测试
5.1 软件安全测试基础
5.1.1 软件测试与安全测试
5.1.2 软件安全测试流程与原则
5.1.3 软件安全测试内容
5.2 代码分析
5.2.1 源代码分析过程
5.2.2 源代码分析实例
5.3 模糊测试
5.3.1 模糊测试过程
5.3.2 模糊测试实例
5.4 渗透测试
5.4.1 渗透测试过程
5.4.2 渗透测试实例
第6章 软件部署和项目管理安全
6.1 软件部署安全
6.1.1 软件部署过程
6.1.2 软件自身安全
6.1.3 基础环境安全
6.1.4 软件安全部署案例
6.2 软件项目管理安全
6.2.1 项目管理阶段
6.2.2 安全管理关键因素
附录A CC标准中的安全功能需求类与安全保障类
附录B 安全编码规范检查列表
附录C 测试文档模板
附录D 安全测试工具列表
第1章 软件安全开发基础
软件自身存在安全漏洞是信息安全问题产生的主要原因之一。本章首先介绍了软件安全问题以及传统软件开发的局限,其次阐述了软件安全保障和安全软件开发生命周期的内涵,并介绍了国外相关标准和典型安全开发模型,以期读者能够了解软件安全问题产生的原因、安全开发的重要性,明确软件安全开发的指导思想,及其相互间的关系、特点和适用场景。
1.1 软件安全开发背景
1.1.1 软件的发展和安全问题
软件是指计算机程序、方法和相关的文档资料,以及在计算机上运行时所需要的数据。当今是一个全球化、信息化的时代,每时每刻都有无数软件系统正在运行。信息化是当今世界发展的大趋势,是推动经济社会变革的重要力量。软件则是信息化建设的重要组成部分。自进入互联网时代以来,信息化已经覆盖社会生产、生活的方方面面,包括政务、金融、电力、通信、能源、交通运输等重要行业,这些行业的软件系统的安全与稳定运行直接关系到国计民生,影响到国家安全。
在信息化建设过程中,软件系统的安全体系是一个复杂的体系,系统软件、应用软件和第三方软件的安全问题,以及开发、部署过程中的安全问题,如果处理不当或者不加防范,都可能给整个系统带来巨大的灾难。
(1)系统软件安全问题
最早的计算机蠕虫——莫里斯蠕虫,是在互联网刚刚开始发展的时候出现的。它在短短12小时内导致6200台采用UNIX操作系统的SUN工作站和VAX小型机瘫痪或半瘫痪,不计其数的数据和资料遭到破坏。莫里斯蠕虫利用了这些主机使用的UNIX操作系统中一个服务的缓冲区溢出漏洞,突破了系统自身安全功能的保护。
2014年9月“破壳”(Shellshock)漏洞首次爆发,该漏洞属于典型的脚本注入漏洞。基于Bash的常用远程服务在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断,导致在Linux等服务器操作系统上可能被远程执行任意命令。这个漏洞包含了远程代码执行和本地提权,可以直接获取权限。“破壳”漏洞影响Linux和Mac OSX操作系统平台,包括但不限于Redhat、CentOS、Ubuntu、Debian、Fedora、Amazon Linux、OS X 10.10等平台。而类UNIX系统是众多网络设备的底层操作系统,特别是Bash广泛地分布和存在于设备中,致使“破壳”漏洞的危害范围很大,涉及网络设备、网络安全设备、云计算和大数据中心等。
(2)应用软件安全问题
自2011年以来,网上陆续披露出一些社会保险信息系统的安全漏洞,导致上千万公民信息泄露。造成这一安全问题的原因是在开发过程中缺乏安全知识,导致开发出的系统存在SQL注入、任意路径遍历等安全漏洞。
近年来,互联网金融“异军突起”。据不完全统计,截至2014年11月,已有近165家P2P平台遭遇黑客攻击陷入系统瘫痪、数据被恶意篡改、资金被洗劫等安全问题中。行业中众多网站都遭遇过黑客攻击、数据泄露、威胁勒索等安全事件。很多互联网金融企业通过购买通用软件模板或组织自主开发P2P网贷平台,导致网站系统中包含XSS跨站脚本漏洞、CSRF跨站请求伪造漏洞、平行越权漏洞、 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 软件安全开发 - (EPUB全文下载)