在Windows Vista上编写安全的代码

当前位置:首页 > 计算机网络 > 操作系统/系统开发 > 在Windows Vista上编写安全的代码

出版社:电子工业出版社
出版日期:2009-1
ISBN:9787121074196
作者:Michael Howard,David LeBlanc
页数:220页

章节摘录

  第1章 代码质量  ◇Windows Vista质量阀  ◇用SAL注解所有的C/C++字符串缓冲区  ◇从代码库中剔除被取缔的API  ◇从代码库中剔除被取缔的加密算法  ◇通过静态分析发现并修复bug,  ◇用/GS选项编译UnmanagedC/C++程序,并用/SafeSEH,/DynamicBase和/NXCompat选项进行连接  代码安全是代码质量的基础,而代码质量则是软件中非常重要的一块。事实上,对软件而言,没有什么比代码质量更重要的了。当然,前提是具备良好的设计。在开发Windows Vista的过程中,我们在安全上花费了大量的时间,用于降低开发者向操作系统中引入新的安全bug的可能性,以及在代码库中寻找bug,并将它们从代码库中剔除出去。  大家都知道,设计、编写100%安全的代码都几乎是不可能的事情,因为安全是软件开发者和攻击者之间不断升级的“军备竞赛”。作为一个开发者,你所能做的就是在代码中尽可能多地增加防护措施,并且在编写新的代码时继续这样做。其他的防护措施之所以重要,也是因为不管是在设计阶段,还是在编码阶段,我们都无法回避安全bug,但如果采取了防护措施,通常可以消除某个bug,或者减少攻击取得成功的机会。

前言

  对于身处高技术产业的每一个人来说,《在Windows Vista上编写安全的代码》都是值得拥有的。书里表达的观念体现了创造可信赖用户体验里的最新思想。  Microsoft认识到技术将随着摩尔定律应用到社会的各行各业,而更强大、更便宜的计算机将可以迎合所有人的需求。随着宽带网的持续普及,以及新的无线网络技术出现,全世界的计算机设备彼此相连,这给人们访问信息、媒体和服务带来了空前的便利。不单单是Microsoft,有这种远见,它其实也是大部分高科技行业的共识。不论你是否迷信商业或技术,这个远见都给我们描绘了这样一幅图景:我们的行业将怎样高速增长,我们的商业将怎样大获成功,我们将怎样为全世界的人们提供越来越多的便利——每一个人都可以发掘他全部的潜能。这是一幅美妙的前景——我们已经迫不及待了。  为了实现这个前景,需要有一个基本的前提。如果各行各业的人都加入到我们这个美妙的、互连的数字世界,他们将需要一定的信任。他们想知道他们的隐私是否被适当地保护了。他们也想确定他们的关键信息不会被窃取或破坏。他们还想他们的体验更加可靠、简单。这一直都在艰难地发展。

内容概要

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的丛书编辑。
David LeBlanc是Microsoft Office Division’s Trustworthy Computing团队里的资深开发员,还为Office提供与安全相关的建议,并与MichaeIHoward合著完成多部安全类专著。他在安全行业的许多方面都有所涉猎,从提供反欺诈咨询、领导屡获大奖的网络安全评估工具开发团队,到为Microsoft的网络安全团队提供渗透测试指导。他还是Trustworthy Computing Initiative团队的奠基人之一。

书籍目录

第1章 代码质量 1
1.1 Windows Vista质量阀 3
1.2 用SAL注解所有的C/C++字符串缓冲区 4
1.2.1 SAL示例 5
1.2.2 如何在已有的代码里使用SAL 9
1.3 从代码库中剔除被取缔的API 10
1.4 从代码库中剔除被取缔的加密算法 11
1.5 通过静态分析发现并修复bug 12
1.5.1 与/analyze相关的警告 12
1.5.2 Application Verifier警告 13
1.5.3 FxCop警告 14
1.6 用/GS选项编译UnmanagedC/C++程序,并用/SafeSEH,/DynamicBase和/NXCompat选项进行连接 14
1.7 行动起来 14
1.8 参考资料 15
第2章 用户账号控制、令牌及完整性级别 16
2.1 深入UAC 18
2.1.1 从初级用户令牌开始 18
2.1.2 提升为管理员 23
2.1.3 一个小小的变种:“具有认可模式的管理员” 23
2.1.4 最新的Windows Vista令牌格式 25
2.1.5 确定一个进程是否被提升 25
2.1.6 怎样要求一个应用程序以管理员身份运行 27
2.1.7 使应用程序提示凭证(密码)或同意 31
2.1.8 用COM Elevation Moniker启动COM组件 32
2.1.9 启动提升的可控代码应用程序 34
2.2 用户接口需要考虑的事项 34
2.3 虚拟化 35
2.3.1 怎样在你的应用程序中禁用虚拟化 39
2.4 完整性级别 40
2.4.1 完整性设置的规则 51
2.4.2 NW、NR和NX Masks 51
2.4.3 使用完整性级别的防护模型 52
2.5 Windows Vista里调试应用程序的兼容性问题 53
2.5.1 File Warnings 54
2.5.2 Registry Warnings 54
2.5.3 INI Warnings 54
2.5.4 Token Warnings 54
2.5.5 Privilege Warnings 54
2.5.6 Name Space Warnings 54
2.5.7 Other Objects Warnings 55
2.5.8 Process Warnings 55
2.6 代码签名的重要性 55
2.7 Windows Vista里的新特权 56
2.8 行动起来 57
2.9 参考资料 57
第3章 缓冲区溢出防护 60
3.1 ASLR 62
3.1.1 ASLR的限制 65
3.1.2 性能和兼容性 65
3.2 栈随机化 66
3.2.1 性能和兼容性 67
3.3 堆防护措施 67
3.4 NX 73
3.4.1 性能和兼容性问题 76
3.5 /GS 79
3.6 SafeSEH 83
3.7 小结 89
3.8 行动起来 90
3.9 参考资料 90
第4章 网络防护措施 91
4.1 IPv6概述 93
4.1.1 Teredo 95
4.2 网络列表管理器 98
4.3 Windows Vista RSS平台 99
4.4 Winsock安全套接字扩展 101
4.5 更安全的Windows防火墙 103
4.5.1 全局防火墙设置 103
4.5.2 创建规则 106
4.5.3 与规则组共事 113
4.6 行动起来 115
4.7 参考资料 115
第5章 创建安全又能复原的服务 117
5.1 服务概述 118
5.2 服务账号 119
5.3 减少特权 123
5.4 控制网络访问 130
5.5 与桌面进行通信 133
5.5.1 Simple Message Boxes 135
5.5.2 共享内存 135
5.5.3 命名管道 136
5.5.4 套接字 141
5.5.5 RPC/COM 142
5.6 实践出真知 142
5.7 行动起来 143
5.8 参考资料 144
第6章 IE7的防护措施 145
6.1 普及的防护措施 147
6.1.1 ActiveX opt-in 147
6.1.2 保护模式 148
6.1.3 数据执行保护 152
6.2 cURL和IUri接口 155
6.3 锁住你的ActiveX控件 158
6.4 你应当知道的关于IE7的其他事情 158
6.4.1 禁止访问剪贴板 158
6.4.2 脚本URL 158
6.4.3 Good-bye PCT and SSL2 (and Good Riddance), Hello AES! 159
6.4.4 Window Origin 159
6.5 行动起来 159
6.6 参考资料 160
第7章 加密方面的增强 162
7.1 内核模式和用户模式支持 163
7.2 敏捷加密 164
7.2.1 CNG中的敏捷加密 165
7.3 CNG中的新算法 167
7.4 使用CNG 168
7.4.1 加密数据 169
7.4.2 Hashing数据 169
7.4.3 MACing数据 170
7.4.4 生成随机数 170
7.5 CNG和FIPS 171
7.6 改良的审计 172
7.7 CNG缺少的东西 173
7.8 SSL/TLS改进 173
7.8.1 SSL/TLS撤销检查和OCSP 175
7.9 Windows Vista里的根证书 177
7.10 Windows Vista拒绝的加密功能 178
7.11 行动起来 179
7.12 参考资料 179
第8章 认证与授权 181
8.1 WindowsCardSpace及Information Cards 181
8.1.1 Information Cards数据流 182
8.1.2 WindowsCardSpace和网络钩鱼 183
8.1.3 CardSpace和网络钓鱼示例 185
8.1.4 看Information Cards的实际使用效果 187
8.1.5 Information Cards包含什么内容 187
8.1.6 通过编程的方式访问Information Cards 188
8.1.7 CardSpace小结 190
8.2 图像识别和授权改变 191
8.3 Owner SID改变 191
8.4 行动起来 193
8.5 参考资料 193
第9章 其他的防护措施和安全技术 195
9.1 在应用程序中增加父母监控 196
9.1.1 代码 197
9.1.2 时间限制 198
9.1.3 The 450 Error 199
9.1.4 检测是否启用了“Block file downloads” 199
9.1.5 为你的应用程序或URL关闭过滤 199
9.1.6 记录事件 200
9.2 Windows Defender APIs 201
9.2.1 签名你的代码 202
9.2.2 请求加入Windows Defender “Known or Not Yet Classified” 列表 203
9.3 新的Credential User Interface API 203
9.4 使用Security Event Log 206
9.5 指针编码 207
9.6 内核模式调试相关 211
9.7 通过编程访问TPM 211
9.7.1 对TPM的低级访问 214
9.8 Windows SideBar和Gadget方面的安全性考虑 219
9.9 参考资料 220

编辑推荐

  《在Windows Vista上编写安全的代码》是为WindowsVista编写更安全的应用程序的权威性指南,是那些理解Windows编程及API的基础开发者的必备书日之一。它是《编写安全的代码》的有益补充,展示了WindowsVista相对于WindowsXP在安全方面所做的改进。你可以从中获取第一手的设计资料,学习来自WindowsVista团队的开发经验,以及解决实际安全问题的具体建议。  《在Windows Vista上编写安全的代码》向你提示了:  ◎如何开发不需要以管理员权限运行的应用程序。  ◎如何在利用完整性控制方面应用最佳实践。  ◎如何用ASLR,NX,SafeSEH保护你的应用程序。  ◎如何评估WindowsVista在认证、授权及加密方面的增强。  ◎如何编写以受限特权及令牌运行的服务,避免常见的问题。  ◎学习WindowsIE7怎么防御,以及这些新的安全特性会对你的开发进度产生怎样的影响。

作者简介

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

图书封面


 在Windows Vista上编写安全的代码下载



发布书评

 
 


精彩短评 (总计3条)

  •     没有第一版好
  •     头一章还可以,越到后面翻译质量越差,可惜了一本好书
  •     编写安全的代码补充版,平台相关
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024