13-总结
38.12 总结
特权程序能够访问普通进程无法访问的系统资源。如果这种程序被破坏了,那么系统的安全性就会受到影响。本章给出了编写特权程序的一组指南,这些指南的目标包括两个方面:将特权程序被破坏的可能性降到最低和当特权程序被破坏时所造成的损失降到最小。
更多信息
[Viega & McGraw, 2002]介绍了与设计和实现安全软件相关的各项课题。[Garfinkel et al., 2003]介绍了与UNIX系统的安全以及安全程序设计技术有关的信息。[Bishop,2005]深入介绍了计算机安全,同时该书的作者在[Bishop, 2003]中更加深入地剖析了计算机安全。[Peikari & Chuvakin, 2004]也介绍了计算机安全,但关注点是攻击系统的各种方式。[Erickson, 2008]和[Anley, 2007]详尽讨论了各种安全陷阱并为聪明的程序员提供了详尽的信息来避免这些陷阱。[Chen et al., 2002]这篇论文描述和分析了UNIX set-user-ID模型。[Tsafrir et al., 2008]对在[Chen et al., 2002]中讨论的各个课题进行了优化和增强。[Drepper, 2009]为Linux上的安全和防御性程序设计提供了有价值的建议。
网上存在几个编写安全程序的信息源,如下所示。
- Matt Bishop撰写了很多与安全相关的文章,读者可以在http://nob.cs.ucdavis.edu/~bishop/secprog上找到这些文章。其中最有趣的一篇是《How to Write a Setuid Program》(原先发表于;login: 12(1) Jan/Feb 1986)。尽管这篇文章的年代有些久远,但其中包含了很多有价值的建议。
- David Wheeler撰写的Secure Programming for Linux and Unix HOWTO可以在http://www.dwheeler.com/secure-programs/上找到。
- http://www.homeport.org/~adam/setuid.7.html为编写set-user-ID程序提供了一个有用的检查清单。