倪继利Linux网志  推荐博客
+ + 作者介绍:
. . 我是《Linux内核分析及编程》(电子工业出版社2005年9月)一书的作者倪继利。这是我的工作网志,欢迎大家在这里,就我的书及...
查看全文
我的日志
 《Linux安全体系分析与编程》前言 
时间: 2007.09.29 09:02:00 
 

http://www.china-pub.com/computers/common/info.asp?id=37027
背景知识

计算机安全用于保护计算机硬件和软件,使数据不因偶然的或恶意的原因而遭破坏、更改或泄露。计算机安全的内容包括安全理论、安全技术、安全管理、安全评价、安全法律及政策等。

随着计算机系统越来越复杂,计算机的安全技术也越来越复杂。操作人员、编程人员和系统分析人员的失误或缺乏经验都会造成系统的安全隐患。计算机病毒、网络攻击、垃圾邮件、系统漏洞、网络窃密、虚假有害信息和网络违法犯罪等是计算机安全的突出问题。

计算机系统需要全面的安全防护措施,而攻击者只需要抓住计算机系统的某一点漏洞,就可能引起安全威胁。计算机系统需要编程人员、操作人员和管理人员全面配合,才可能提供一个安全的计算机环境。

计算机应用的多样性决定了安全技术的多样性,计算机系统的每个层次都使用了安全技术。从保护过程来看,计算机安全包括安全防范措施、加密保护机制、安全被破坏后的恢复机制和入侵检测跟踪机制。从计算机系统组成来看,计算机安全包括芯片级安全(如:安全芯片)、操作系统安全、网络安全、应用程序安全、数据库安全。从安全实现方法来看,计算机安全有加密型保护和非加密型保护两种。加密型保护通过对内容的加密/解密保证信息的安全。非加密保护包括病毒扫描、病毒防火墙、访问控制、权限控制等多种机制。

人的因素是信息安全的最大问题。计算机安全技术只能提供相对的安全,而没有绝对的安全,安全管理成了计算机安全另一个重要方面。安全管理通过安全的规章制度、信息安全文化等规范人的安全行为,给计算机安全提供了极为重要的安全保障。

本书写作思路

由于计算机安全的多样性和复杂性,一本书不可能涉及计算机安全的各个方面。本书选择经典的开放源代码,着重介绍了Linux操作系统的安全机制及实现方法。它一方面介绍安全机制的实现,另一方面介绍安全系统编程的方法。

在网络安全方面,由于网络安全方面的协议众多,几乎每个网络安全协议都使用了公钥设施(PKI),而openSSL库是实现PKI各个协议的经典程序库,因此,本书在网络安全方面介绍了公钥设施的基本概念和使用openSSL库接口进行编程的方法。

在可信计算平台方面,可信计算的协议众多,许多协议还在完善之中。本书介绍了可信平台模块框架规范和可信网络连接框架规范,分析了可信平台模块的驱动程序的实现机制。

计算机安全还涉及硬件、Linux内核和应用程序方面。因此,计算机安全系统的编程要涉及Linux驱动程序、内核和应用程序的编程,以及使用Linux内核hook的许多技巧、多种Linux内核与应用程序通信方法和Linux系统应用程序的编程方法等。计算机安全的经典源代码也是学习计算机安全系统编程的一个经典样例,故作者结合实际代码归纳了《编程模式》一章,还介绍了Makefile生成方法和ELF文件执行过程。

Linux安全编程使用Linux内核机制、Linux系统编程(如:线程机制、进程间通信机制)方法等,关于Linux内核机制可以参考作者的书《Linux内核分析及编程》或其他相关的书,Linux系统编程方法请参考Linux C语言系统编程方面的书。

本书主要内容

本书共有17章,每章的主要内容如下:

第1章 Linux框架  说明了国家计算机系统安全评价标准,分析了操作系统安全框架,并介绍了Linux常用安全技术。

第2章 Linux日志系统和审计系统  分析了日志系统的记录机制,阐述了审计系统的原理,说明了文件系统变化监视机制。

第3章 SELinux访问控制机制  分析了SELinux的安全机制,介绍了安全策略配置语言和内核策略库的结构。简述了SELinux内核模块的实现,还分析了用户空间的客体管理器。

第4章 文件权限管理  分析了UGO和ACL权限管理的方式和能力机制。

第5章 PAM用户认证机制  分析了PAM机制和实现方法。

第6章 ClamAV杀毒应用程序  分析了ClamAV的客户端、服务器及病毒库更新升级应用程序,着重阐述了Linux下C语言编程中的许多经典用法。

第7章 On_access文件访问拦截  分析了Dazuko文件访问控制器的机制及源代码,还分析了RedirFS重定向文件系统。

第8章 防火墙  说明了防火墙的设置方法,阐述了iptables工具的实现方法,并分析了filter内核模块的实现机制和连接跟踪的机制。

第9章 PKI公钥设施  概述了公钥基础设施的机制和标准,说明了证书和证书认证的相关基本概念。

第10章 OpenSSL  介绍了OpenSSL库的加密算法接口、BIO接口、ENGINE接口等,并说明了用这些接口进行编程的方法。

第11章 可信计算和内核加密接口  阐述了可信平台模块框架规范和可信网络连接框架规范,分析了内核加密接口模块的接口机制以及TPM驱动程序的原理。

第12章 内核密钥环  阐述了内核密钥环的结构以及密钥和密钥环的管理,分析了请求key服务的机制和源代码。

第13章 加密文件系统  阐述了eCryptfs文件系统的机制,分析了eCryptfs文件系统的内核模块和后台进程。

第14章 数字版权管理  介绍了OMA2.0协议,分析了OpenIPMP插件实现OMA2.0协议的方法。

第15章 ELF文件执行过程  阐述了动态连接与静态连接的概念和动态连接中函数定位的原理,然后分析了ELF文件格式,并说明了ELF文件在内核中是如何加载的。

第16章 应用程序编译方法  结合实例介绍了Makefile的编写方法,说明了Autoconfig语言并阐述了configure.in和Makefile.am的编写方法。此外,本章还介绍了GNU gcc的检测工具和语言扩展。

第17章 编程模式  阐述了C语言面向对象方法和程序设计模式,叙述了编程基本语法应用规范、安全编程和代码书写规范,以及线程并行模型和应用程序编写规范。

本书用到的软件版本

本书在每一章的开始处注明了软件下载地址,请下载新版本的软件。本书介绍内容的软件版本列出如下:

Linux 2.6.21和Fedora 6光盘所带软件代码

dazuko-2.3.1-pre3_patch

dazuko-2.3.3

clamav-0.90.2

Linux-PAM-0.99.7.0

openssl-0.9.8e

openipmp2

致谢

作者感谢公司与自己一起从事Linux安全开发的同事,正是与他们的共同研讨,才对Linux安全方面有了更深的了解。

作者还要感太太及家人在编写本书过程中给予的理解和不懈的支持。

由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者给予批评指正。

[接自《Linux安全体系分析与编程》,倪继利著,电子工业出版社2007年10月出版]

 

作者 nijili  评论() |  人气() | 引用()  | 推荐 | 保存日志 | 问题日志 | 收藏到网摘 | 返回首页
我的信息
最新评论
我的相册
日历