您的浏览历史

在Windows Vista上编写安全的代码

促销活动

基本信息

编辑推荐

本书是《编写安全的代码》一书的最佳补充和扩展,是Windows Vista程序员的必备书目之一。...
本书介绍了Vista的一些新特性,包括ACLs和BitLocker等,此外它还丰富了一些以往的概念,例如防火墙和认证。

内容简介回到顶部↑

这份权威性的指南鼓励开发者为Vista平台编写更安全的代码,从而获得更多的客户。它为开发者提供了第一手的设计思路,对针对实际的安全问题给出具体的建议。本书介绍了Vista的一些新特性,包括ACLs和BitLocker等,此外它还丰富了一些以往的概念,例如防火墙和认证。
本书是《编写安全的代码》一书的最佳补充和扩展,是Windows Vista程序员的必备书目之一。

作译者回到顶部↑

本书提供作译者介绍

Michael Howard,是Microsoft Security Engineering团队的高级安全程序主管,是该公司安全相关过程改进的架构师。他与David LeBlanc合著完成多部安全类专著,包括获奖的《编写安全的代码》,“19DeadlySins of Software Security”,以及“the Security Development Lifecycle”。他是IEEE Security and Privacy的一名编辑,也是Microsoft Press Secure Software Development series的丛书编辑。
.. << 查看详细

目录回到顶部↑

第1章 代码质量
 1.1 Windows Vista质量阀
 1.2 用SAL注解所有的C/C++字符串缓冲区
  1.2.1 SAL示例
  1.2.2 如何在已有的代码里使用SAL
 1.3 从代码库中剔除被取缔的API
 1.4 从代码库中剔除被取缔的加密算法
 1.5 通过静态分析发现并修复bug
  1.5.1 与/analyze相关的警告
  1.5.2 Application Verifier警告
  1.5.3 FxCop警告
 1.6 用/GS选项编译UnmanagedC/C++程序,并用/SafeSEH,/DynamicBase和/NXCompat选项进行连接
 1.7 行动起来
 1.8 参考资料
第2章 用户账号控制、令牌及完整性级别
 2.1 深入UAC
  2.1.1 从初级用户令牌开始
  2.1.2 提升为管理员
  2.1.3 一个小小的变种:“具有认可模式的管理员”
  2.1.4 最新的Windows Vista令牌格式

前言回到顶部↑

互联网上的计算机每天都可能会受到攻击和伤害。毫无疑问,攻击者正逐渐深入软件堆栈,攻击计算机上安装的软件。不过,这种情形正在慢慢变少,因为随着要求安全的呼声日益高涨,软件厂商在操作系统的防护方面投入了更多的人力物力。在Windows XP发布的2001年到Windows Vista发布的2006年期间,安全技术的发展可谓是日新月异,但反观另一方面,令人厌烦的低级攻击行为也在日益增多。我们经常听到有人抱怨Windows是最容易受到攻击的平台。的确如此,因此,下面的陈述可能会使他们更担心:我们(也就是本书的作者)对媒体上报道的攻击事件并不是特别在意,因为在我们看来攻击永远都会发生。其实,人们应该担心的是其产生的危害,正是因为这个原因,微软人从长计议,竭尽全力想把Windows Vista打造成更安全的产品。.
Windows Vista是微软公司发布的有史以来最安全的操作系统。我们向里面添加了很多防御性的设计(defensive engineering),也采用了很多防护措施。但令人遗憾的是,即使我们如此努力,但攻击仍将继续(我们可以尽量把自己的工作做得更好,但没有权利指定别人可以做什么,不可以做什么)。我们不是说Windows Vista没有安全bug,它肯定会有,但我们为它增加了许多防护措施,尽量减小它被成功攻击的可能性,减少漏洞被利用的机会。我们加入这些防护措施的目的是尽量避免危害发生。
针对日益增长的潜在攻击威胁,你打算如何保护你的应用程序?记住,攻击迟早都会发生!仅仅因为应用程序的标题中没有“Microsoft”并不意味着不会被攻击,也并不意味着它永远不会被攻击!使安全成为一个令人着魔的主题的不是这样一些因素,比方说,计算机的性能和可靠性。性能与可靠性指的是人与计算机之间的问题,而安全却是人与人之间的较量。安全问题没有终结,因为这个世界上总有一些怀有恶意的人。
除了整理已有的代码、修正设计问题外,微软还为Windows Vista新增了许多功能,利用这些功能可以使应用程序更安全。不同于我们以前那些以介绍基础知识为主的书,本书主要介绍运行在Windows Vista上的应用程序怎样利用系统提供的防护措施来保护用户。除了基本的防护策略外,本书还介绍了一些新的安全功能,你可以在应用程序中使用它们,以增加程序的防护措施,从而帮助你或你的客户达到商业目标。
Windows Vista的安全之路走了5年,在这5年多的时间里,微软向Windows Vista中增加了许多防护措施和新的安全功能。你可以在应用程序中充分利用它们,从而减少被攻击的机会。你可以选用下面介绍的三种方法:
·减少用户——如果没有人用你的应用程序,你就不值得攻击。
·减少攻击面——组件的入口越少(特别是默认情况下),被攻击的可能性也就越小。
·加固攻击面——使攻击者知难而退。
我们不建议大家使用第一个方法,但如果你不重视安全,而且固执己见,基本上可以肯定会出现这种情形。我们希望后两个方法对你有所帮助,使你能利用操作系统提供的防护措施和功能保护用户,这也正是本书的目标——阐述如何在程序中使用Windows Vista提供的这些功能。
目标读者
这本书的目标读者主要是那些为Windows Vista编写软件的开发者。当然,这本书还包括一些软件设计上的内容,因此,软件设计师和系统架构师也会从中获益。不过要注意的是,书中包含了大量的代码。
我们将假设读者已经掌握Windows认证与授权等方面的基础知识。虽然书中提供了一些背景信息,但我们仍将假设你知道怎样在Windows里保护对象。如果你不知道,建议你先找一些像“Windows Internals Fourth Edition”(Mark Russinovich,David Solomon,Microsoft Press 2005)之类的书来读。
本书与“Writing Secure Code”(《编写安全的代码》)一书的关系
“Writing Secure Code”(微软出版社)第一版和第二版的内容主要是介绍关键的安全编码的原则,除此之外,书中还简单介绍了在设计和测试软件时应该遵循的原则。而本书的主要内容是介绍怎么利用Windows Vista内部的防护措施和功能,编写出安全的代码。如果你已经有了“编写安全的代码”一书,本书也不会显得多余,因为本书的内容主要是面向Windows Vista的设计和编码的最佳实践,而“编写安全的代码”的内容是宽泛的、基础性的。因此,这本书不是“编写安全的代码”的超集,而是它的有益补充。
如何阅读本书
这本书很薄,如果你打算或正在Windows Vista下编写软件,那么,这本书就是为你准备的——因为你可以从中了解到微软在Windows Vista里新增或改进的防护措施和技术。
本书每一章的内容都相对独立,除了前三章——所有在Windows Vista下编写软件的开发者都应该阅读,其他章节可以有选择地阅读。
第1章,“代码质量”描述了我们为剔除潜在的安全bug,在Windows Vista的代码层所做的改进。软件行业可以从微软为Windows Vista增加安全性所采取的措施中学到很多东西。..
第2章“用户账号控制、令牌和完整性级别”和第3章“缓冲区溢出防护”是一定要读的,因为这两章介绍的技术影响着Windows Vista里所有其他的功能。
现在是网络时代,即使不是所有的开发者,至少大部分的开发者将会编写基于网络的应用程序,因此,应该熟读第4章“网络防护措施”,并学以致用。

序言回到顶部↑

对于身处高技术产业的每一个人来说,《编写安全的代码(Vista版)》都是值得拥有的。书里表达的观念体现了创造可信赖用户体验里的最新思想。.
Microsoft认识到技术将随着摩尔定律应用到社会的各行各业,而更强大、更便宜的计算机将可以迎合所有人的需求。随着宽带网的持续普及,以及新的无线网络技术出现,全世界的计算机设备彼此相连,这给人们访问信息、媒体、和服务带来了空前的便利。不单单是Microsoft有这种远见,它其实也是大部分高科技行业的共识。不论你是否迷信商业或技术,这个远见都给我们描绘了这样一幅图景:我们的行业将怎样高速增长,我们的商业将怎样大获成功,我们将怎样为全世界的人们提供越来越多的便利——每一个人都可以发掘他全部的潜能。这是一幅美妙的前景——我们已经迫不及待了。
为了实现这个前景,需要有一个基本的前提。如果各行各业的人都加入到我们这个美妙的、互连的数字世界,他们将需要一定的信任。他们想知道他们的隐私是否被适当地保护了。他们也想确定他们的关键信息不会被窃取或破坏。他们还想他们的体验更加可靠、简单。这一直都在艰难地发展。
在Microsoft,我们跟踪黑客和与互联网相关的犯罪行动。现在的环境变得很复杂:从为了开玩笑和声望而黑入系统到有组织的犯罪。据不完全统计,全世界与互联网相关的犯罪导致了数十亿美元的损失。这些钱可以用来资助许多工程,这也意味着罪犯在寻找高科技产品里最晦涩的漏洞方面比以往更加执着了。“假设没有人会注意到产品里的漏洞”只是我们一厢情愿的想法。我们生活的时代如果有漏洞出现,就会有人注意并利用它。..
当黑客为了获取更高的回报时,他们在共享漏洞信息方面也变得更有组织了。我们现在生活的环境是:罪犯擅长“武装”漏洞信息,使从发现这些漏洞到利用这些漏洞获利之间的时间间隔趋于0。这些罪犯可以算是互联网上有组织犯罪的军火商,他们将这些商品待价而沽。
因为恶意的黑客团伙比以往更有组织性,对于每一个生产高科技产品的人来说,使用严格的技术标准变得越来越重要了,例如《Secure Development Lifecycle》(已有中文版,名为《软件安全开发生命周期》),可以将产品里的漏洞降到最少。因为高科技产品也是人造的,所以并不能保证没有漏洞。然而,如果我们整个产业能联合起来,将可以使我们的防御最大化。
作为一个软件平台,Windows在帮助软件公司交付更安全的软件方面,扮演着特殊的角色。《编写安全的代码(Vista版)》可以帮助那些为Windows编写应用程序的人遵循安全最佳实践,交付从根本上更安全的软件产品。Windows Vista在设计时就考虑到了为软件作者提供相关的特性,从而使他们的软件更安全。这些特性体现了Microsoft对软件应用程序认证、数据保护、防范利用等方面的深刻理解。通过使用Windows Vista提供的安全特性,应用程序在客户眼里将会变得更安全,也更加可信。
实现数字化生活还有很长一段路要走,需要高技术行业协同工作,为人们提供便利和价值。成功的关键因素是创造出人们信任的技术产品。《编写安全的代码(Vista版)》将帮助我们向客户交付从根本上更安全更可信的产品。
Jon DeVaan
Senior Vice President of Engineering Excellence
Microsoft Corporation
February 2007 ...

评论交流

共有2人开贴评论  3人参与评论  0人参与打分 查看

0人
 0%
用户平均打分
我要写评论 help如何参与评论和打分
0人
 0%
0人
 0%
0人
 0%
0人
 0%

l0g0

二级评论员
  
发表于:2009-1-4 16:17:00
这本书翻译的不好
可能有各方面原因,最主要的还是我不是一个程序员,其次是时间进度没有协调好,请谅解。

因为和出版社没有沟通好,书名不是很好,可能会有一点歧义。

虽然有很多指责vista,但我认为就像我指责xp一样,可能是习惯的问题。但要翻译的过程中,还是看到了vista在安全性方面所做的改进,虽然这些改进不一定被人认可。

这本书虽然是《编写安全的代码》姊妹书,但是专为vista所写的,有一定的局限性。

我个人更倾向把它看做是一本了解vista安全机制的书,而不是一本讲编程的书。换个角度,说不定就有惊喜。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

wxzyn5168
三级评论员
  
发表于:2008-12-27 0:10:00
我更关心的是《The Shellcoder's Handbook》多久能面世。
不过,同时也祝这本书热卖,作者万事如意、身体健康!
回复 ( 1条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共2条)