上一篇:FTP 鸡肉制作 >>
安全程序员必读书籍清单
你必须读的书
我为关注安全(或者想要关注安全)的开发人员列出了一个必读书籍的清单。我书单里的资源高屋建瓴地从设计的角度详细地讲解了开发原则——它们详细描述了需要做什么,还为理解这些原则提供了轻松的方法。总而言之,这些书籍为理解以安全为中心的应用程序开发打下了基础。
在这个书单里,你会发现我没有收录针对实际产品的参考书。尽管这样的参考书在安全产品的市场上有一席之地,但是我选择了排除它们,这是因为它们不能提供“什么”和“为什么”——也就是说,不能提供超越各个平台专用上实际产品的安全原则。例如,关于在j2ee里实现(安全)审查的书会具体地指出如何实现审查,但是不会告诉你什么时候才需要进行审查以及为什么要进行审查。我碰到过许多优秀的程序员,他们知道如何把安全功能集成到应用程序里,但是却不能创建一个安全的系统,因为他们不了解安全的基础。知道“什么”以及“为什么”同了解“如何”是同等重要的。
我唯一的例外是收录了下面两本涉及具体产品的详细参考书:由poundstone集团出版的《黑客大曝光(hacking exposed)》第三版,以及new riders出版的《internet防火墙和网络安全(internet firewalls and network security)》。尽管这两本书和开发没有多少联系,但是它们通过叙述安全三角的其他两面平衡了开发安全理论:黑客心理和方法以及网络安全的支持。开发人员必须懂得黑客的心理,否则他们将无法成功地抵御来自黑客的进攻。开发人员还必须懂得如何创建能够同现代网络防御以及防御技术相互操作的应用程序。这两本书都让其成为可能。
--------------------------------------------------------------------------------
下面是必读书籍列表:
_target>国家标准和技术研究所(national institute of standards and technology,nist)编写的《彩虹系列(rainbow series)》。
hutt、bosworth和hoyt编著的_target>《计算机安全手册(the computer security handbook)》。
howard和leblanc编著的_target>《编写安全代码(writing secure code)》。
viega和mcgraw编著的_target>《编写安全的软件:如何避免安全问题的正确方法(building secure software: how to avoid security problems the right way)》。
mcclure、scambray和kurtz编著的_target>《黑客大曝光》。
siyan和hare编著的_target>《internet防火墙和网络安全》。
--------------------------------------------------------------------------------
《彩虹系列》在_target>securityfocus的web网站可以免费下载。尽管《彩虹系列》是80年代末出版的,但是它是现代安全思想的基础。这是个无价的资源——这是每位程序员都应该拥有的参考书。我的书桌上就放着《彩虹系列》的《桔皮书(orange book)》、《褐皮书(tan book)》和《紫皮书(lavender book)》——这个系列其他的书我都保存在了触手可及的光盘里。这一系列里最重要的指导手册就是《桔皮书》了;它描述和解释了“受信计算库(trusted computing base)以及安全理论的基本原则。尽管它太厚了不太容易记,但是所有的开发人员都应该通晓这本《桔皮书》。它是免费的,所以没有理由不来一本。
安全分析
《计算机安全手册》是难以置信地透彻,所以要花上不少时间去通读和消化。这一资源中的很多内容都是专门针对安全分析专家的,因此无法(直接)应用到开发上。我建议开发人员把注意力放在第一章《管理角色(management role)》和第十章《系统应用程序控件(system applications controls)》上。第一章巩固了安全的基本原则。第十章将这些基本原则融入了一个开发模型——创建安全系统的路线图。这两章都相对较短,而且所给的信息都会引导开发人员走向正确的方向。
开发人员对安全所负的责任
《编写安全代码》和《编写安全的软件》这两本书都讲解了计算机安全,就好像它是开发人员的职责一。我并不完全同意系统被攻击都是程序员的错误,他们有责任在设计和编码的时候编写正确的代码并遵从最佳的安全惯例。在读完这两本参考书之后,你会意识到:硬件生产商也应该参与到安全中来。
硬件能够被用来跳过安全机制的一个好例子就是bios的密码。很注意安全的人会在其台式机上设置bios密码,以防止未经授权的使用——但是密码很容易就能够被绕过去,因为硬件生产商设计了一个跳过密码的方法(在主板上跳几下线就行了)。这本书里提出的原则是合理的。但是在你读这些书的时候,你要要记住,安全不仅仅是好的软件来保证。
黑客攻击的秘密
我最喜欢读的书是《黑客大曝光》。这本书的作者深入了身处暗处的黑客的心理和方法。虽然这本书里使用的方法和工具可能有点落伍了,但是它仍然是有价值的参考资料。其思想不是学习如何去黑别人,而是选取典型的攻击方法来解释如何创建抵御它们的防卫机制。毕竟,最好的防御需要你对对手攻击手法的了解。
网络安全
最后,《internet防火墙和网络安全》解释了网络安全的基础,并完成了安全图。如果系统要被放在目标环境里,那么它们就必须设计同防火墙、入侵检测系统和vpn一起工作。我碰到过许多程序员,他们坚持认为网络防御组件不会影响其设计。虽然防御组件不会影响(整体)设计,但是目标网络的防御组件常常表现不佳,而且性能极差。要跟上网络技术的所有变化是很难的,但是siyan博士完成一项伟大的工作,他(她)描绘了防火墙技术,并将其放在了internet威胁和基本网络安全的大背景下。
我在收录用于开发安全的单一资源上可能存在问题,所以有很多东西值得商榷。前面列出的六本参考书相互补充,构成一幅完整的安全图。每一位关注安全的程序员都应该把它们归入他或者她的专业书库里。
()
下一篇:编辑web.config,保证ASP.NET的安全 >>
相关文章:
- · 如何用好双WAN路由器
- · 使用IP过滤,轻松管理网络
- · CHKDSK(磁盘检测)命令的运用
- · Linux下口令恢复任我行
- · 使用FlashFXP来提升权限
- · 部署防火墙策略的十六条守则
- · TopStyle Pro 使用技巧
- · 21分钟解决struts国际化和中文问题
- · WindowsNT/2K/XP/2K3系统实用工具集
- · TOPSEC网络安全体系平台
- · 巧用比较并合并文档 RPC服务启用的方法
- · Windows管道技术简述
- · 消除防火墙的局限性和脆弱性
- · Win2003作路由 局域网共享多出口上网
- · dvdrip、dvdscr、tc版等的区别
- · Windows2000/XP服务攻略
- · 破解加密光盘五法破解加密光盘五法
- · 常用的DDOS软件+动画教程
- · 教你申请10GB免费网络硬盘
- · 人在江湖安全第一 使用SNMP服务的安全防范
- · NT系统的门卫——SAM
- · 打造功能更强大更安全的Windows XP启动密码
- · 秘技!让毒霸和瑞星同时为你站岗
- · 优化Windows预读功能为系统提速
- · 远程线程嵌入技术
- · 秘技:突破SP2的线程限制
- · 强化TCPIP堆栈安全-抵御SYNICMPSNMP攻击
- · 解决XP局域网访问故障十八招秘技
- · 关于Linux下病毒的话题
- · 远程克隆你的系统
- · 教你辨认MP3随身听音质的好坏
- · WinXP无法安装DX9的解决方法
- · 一次真实的DDoS攻击防御实战
- · MSSQL入侵时可以用到的代码
- · 玩转GOOGLE的十九招秘技
- · 病毒杀不死的原因分析和相应对策
- · 让你的XP一分钟成为正版
- · 利用注册表管理IP地址
