软件安全工程
分類: 图书,计算机/网络,信息安全,
作者: (美)艾伦等著,郭超年,周之恒译
出 版 社: 机械工业出版社
出版时间: 2009-4-1字数:版次: 1页数: 222印刷时间:开本: 16开印次: 1纸张:I S B N : 9787111264835包装: 平装编辑推荐
软件项目经理必备指南,将软件安全解决方案引入到软件开发生命周期之中。
内容简介
本书系统阐述了软件安全丁程的知识。具体内容包括:软件安全的构成、安全软件的需求、安全软件的架构和设计、安全编码和测试、系统集成、安全管理,等等。
本书从软件开发和漏洞攻击两个角度,以对立的观点深刻阐述了构建软件安全的最佳实践。同时,本书不遗余力提高阅读的针对性,对高级经理、项目经理和技术管理人员的适用要点,各有强调论述。
本书适合作为从事软件开发、软件测试、软件安全及软件丁程管理的技术人员的参考用书。
与其他软件相比,遵循安全理念开发的软件可以更为有效地抵御、容忍攻击并从攻击中恢复。尽管并不存在软件安全的万能解决方案,但是项目经理可以从中获益的实例还是存在的。通过本书,你能找到一些可靠的实例,这些实例有助于提高软件在开发和运行过程中的安全性和可信度。
本书会帮助你理解:
软件安全不仅仅是消灭漏洞和执行入侵检测。
网络安全机制以及IT基础安全服务并不能充分保障应用软件免受安全隐患的威胁。
软件安全的主动行为必须伴随一种危险控制的方法,从而识别优先级以及定义什么才是“足够好的”——对软件安全危险的理解随着软件开发生命周期而不断改变。
项目经理和软件工程师需要学会以攻击者的方式来思考,从而指出软件不能运行的功能范围,以及软件如何更好地抵御、容忍攻击并从攻击中恢复。
作者简介
艾伦,曾获得密歇根大学的计算机科学学士学位和南加利福尼亚大学的电子工程硕士学位,目前是SEI的CERT项目的高级研究员。
目录
译者序
序
前言
第1章为什么安全是软件的问题
1.1概述
1.2问题
系统复杂性:软件与背景并存
1.3软件保证和软件安全
工序和条例在软件安全中的作用
1.4软件安全的威胁
1.5软件不安全的来源
1.6早期检测软件安全漏洞的好处
为软件安全设计案例:当前状态
1.7软件安全开发管理
1.7.1我该提出哪些安全策略问题
1.7.2软件安全的风险管理框架
1.7.3开发周期中的软件安全条例
1.8小结
第2章安全软件的构成
2.1概述
2.2定义安全软件的属性
2.3如何改善软件的安全属性
2.4如何确定所需的安全属性
2.5小结
第3章安全软件的需求工程
3.1概述
3.2误用和滥用案例
3.3SQUARE过程模型
3.4SQUARE样本输出
3.5需求启发
3.6需求排序
3.7小结
第4章软件安全的架构的设计
第5章安全编码和测试
第6章安全性的复杂性:系统集成的挑战
第7章软件安全的控制和管理
术语表
参考文献
Build Security In网站参考目录
媒体评论
“这本书的系统论述可以为一些组织提供帮助,使它们能够选择一组符合其安全成熟性,抗风险能力和开发风格的工序,策略或技术;可以帮助你理解如何将实用的安全技术纳入到开发周期的各个阶段之中。”——微软高级安全专家 Steve Riley “有一些书讨论了本书中的某些问题,也有一些书论述了安全系统工程;但却很少像本书一样,通俗易懂地描述和讨论关子整个软件开发周期的最新动态和主题。” ——Harrls高级软件安全专家 Ronda Henning
书摘插图
第1章为什么安全是软件的问题
1.2 问题
各种机构逐渐使用直接连接到因特网的软件密集型系统来存储、处理和传输敏感的数据。人们在网上开户、购物、付税、买保险、投资、给孩子注册学校、参加各种组织和社交网络的私人金融交易数据常常被暴露。由全球互联引起的信息暴露使得敏感的数据和处理互联的软件系统在面对非蓄意和未经授权的使用时更加脆弱。总之,软件密集型系统与其他具有软件功能的系统已经提供了比以前更开放、更广泛的敏感信息的访问,包括个人身份信息。
当前,信息战[Denning 1998]、网络恐怖主义和电脑犯罪的时代已经来临。恐怖分子、罪犯团伙和其他罪犯时刻都在觊觎整个软件密集型系统,他们经过努力成功地进入了这些系统。这些系统,大多数都没有抵御攻击的能力或攻击反弹的能力去和入侵者对抗。
在一份给美国总统的标题为“网络安全——优先级之间的危机”的报告中[PITAC 2005],总统信息技术顾问委员会把不安全软件存在的问题归结为:
软件开发还不是一门严格的学科,并且开发过程基本上没有控制其受攻击者攻击可能性的最小化。当前,那些存在漏洞的软件如同生物体被病魔感染,被入侵和篡改,从而使先前正常的软件遭到破坏,同时被感染的软件可以自身复制并通过网络传播来破坏其他系统。而这些具有破坏性的漏洞也正如病魔一样,不易被病人发现,即使专家们发现了,他们的威胁也一直在增长。
……