Writing Secure Code
作者: (美)Michael Howard,(美)David LeBlanc著;程永敬等译
出版社:机械工业出版社,2005
简介:
"在过去的20年间,计算机已经彻底改变了我们的生活方式。现在,从电信业、银行业到运输业,计算机已经成为所有重要基础设施的组成部分;另外,计算机中还保存有大量的敏感数据,如个人健康记录和财务记录。为了我们的未来,现在编写安全的软件比以往更为重要,每个软件开发人员都必须学习如何将安全性集成到项目当中。微软的每个人都必须阅读《编写安全的代码》这本书,它有助于我们向客户宣传"可信计算"模式,并为开发人员正确处理安全性提供必要的基础。"
--比尔·盖茨 微软公司首席软件架构师
每年我们都会由于黑客攻击网络应用程序、窃取信用卡密码、破坏web站点、造成网速变慢等而花费无数的金钱,并带来无尽的烦恼。通过这本引人入胜、令人耳目一新的书,读者可以学到各种安全技术来防范黑客攻击。现在,这本书已经增加了最新的安全威胁以及从微软最近的安全推广活动中获取的教训。读者将学习到如何在整个开发过程中--从设计安全的应用程序到编写健壮的代码--加固自己的应用程序,从而能够经受住探查安全隐患的测试应用程序的重复攻击。书中解释了安全法则、策略和编码技术,这些技术有助于增强代码的抗攻击能力。本书的两位作者久经沙场,他们曾解决过行业中最为棘手的一些安全问题。书中还提供了许多例子代码来说明特定的开发技术。
主要内容
现代安全:安全系统的需求,以及赖以生存的安全法则。[font color="#ff6600"]新内容:[/font]使用安全编码技术进行开发,威胁建模。
安全编码技术:头号公敌--缓冲区溢出,确定适当的访问控制,以最小特权运行,加密的弱点,保护机密数据,以及规范表示的问题。[font color="#ff6600"]新内容:[/font]防止有害输入,解决数据库输入问题,基于web的错误(包括跨站点脚本),以及国际化问题。
更多的安全编码技术:socket安全,安全dcom、activex和rpc应用程序,防范拒绝服务攻击,以及文件系统问题。[font color="#ff6600"]新内容:[/font]使用安全编码技术开发microsoft.net代码。
特殊话题:严格的测试安全应用程序的过程,安全的软件安装,通用的好做法。[font color="#ff6600"]新内容:[/font]进行一次安全代码审查,在应用程序中创建隐私策略,编写完整、清晰、一致的安全文档以及有意义的错误消息。
本书分为五部分。第一部分概括说明了保护系统安全的意义,以及设计安全系统的原则和所采用的技术,第二部分概括介绍了几乎适用于任何应用程序的重要编码技术,第三部分重点介绍厂网络应用程序和.net代码安全;第四部分讨论的安全问题在一般图书中少有论及,如测试、进行安全代码审查、隐私策略以及安全的软件安装等问题,第五部分是附录,分别介绍危险的api以及分别适用于设计人员、开发人员和测试人员的安全措施核对清单。
本书第1版曾作为windows开发组全体成员的必读教材,而第2版更是总结了在针对微软产品的多次安全活动中的许多新发现。本书曾被比尔·盖茨指定为微软员工必读书籍,是软件设计、开发、测试,系统管理等人员必读的优秀教材。