安全书籍

 

安全程序员

 

职位描述:

1.使用C/C++开发软件两年以上,熟悉IPC及Socket编程;

2.对网络安全、桌面安全、木马病毒防御、加密算法等技术有较深入了解,有实际工作经验;

3.有一定的逆向工程技术;

4.了解WEB安全,对安全漏洞检查和报警有实际工作经验

5.实际构建过安全网络,保证服务器安全,有数据安全备份和灾难恢复能力

我唯一的例外是收录了下面两本涉及具体产品的详细参考书:由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威胁和基本网络安全的大背景下。 

 

我在收录用于开发安全的单一资源上可能存在问题,所以有很多东西值得商榷。前面列出的六本参考书相互补充,构成一幅完整的安全图。每一位关注安全的程序员都应该把它们归入他或者她的专业书库里。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章