这是一本介绍入侵检测技术的入门书籍。全书共分为14章,内容包括:黑客攻击主要手段以及入侵检测技术的相关问题;主要操作系统的文件系统和审计机制;基于主机的入侵检测技术知识;RRP技术;早期著名的主机入侵检测系统IDES/NIDES系统;另外一种类型的主机入侵检测技术;网络入侵检测技术的基础设计知识;早期的分布式入侵检测系统AAFID系统。
在本书的第12~14章中,作者阐述了独立工作的成果。其中包括入侵检测不对称模型的引入、基于神经网络的入侵检测技术以及智能化入侵检测系统的架构设计等。
本书适用于计算机和信息安全专业的高校教师和研究生以及广大网络安全工程技术人员参考之用。
出版说明
前言
第1章 概述
1.1 主要入侵攻击手段简介
1.1.1 黑客入侵的步骤
1.1.2 黑客攻击的原理和方法
1.2 入侵检测与P2DR安全模型
1.3 入侵检测技术分类
1.3.1 主机、网络和分布式入侵检测
1.3.2 滥用和异常入侵检测
1.4 入侵检测系统的CIDF模型
1.4.1 CIDF的体系结构
1.4.2 CIDF的通信机制
1.4.3 CIDF语言
1.4.4 CIDF的API接口
1.5 入侵检测系统的管理、评测问题
1.6 相关的法律问题
第2章 UNIX/Linux系统介绍
2.1 UNIX系统简介
2.2 日益流行的Unix操作系统
2.3 Linux文件系统
2.3.1 Linux文件结构
2.3.2 Linux文件系统管理
第3章 审计机制及文件格式
3.1 UNIX操作系统
3.1.1 UNIX操作系统的日志分类
3.1.2 连接时间日志生成机制及文件格式
3.1.3 进程日志生成机制及文件格式
3.1.4 syslog日志工具机制及文件格式
3.2 Windows 2000操作系统
3.2.1 Windows 2000操作系统日志分类
3.2.2 事件日志文件格式
第4章 RPC(远程过程调用)
4.1 RPC的产生及特点
4.1.1 RPC概述
4.1.2 RPC的原理和实现机制
4.2 RPC的数据表示格式
4.2.1 XDR的工作原理
4.2.2 XDR流
4.2.3 XDR过滤器
4.3 RPC协议
4.3.1 RPC信息协议
4.3.2 RPC鉴别协议
4.3.3 端口映射器程序协议
4.4 RPC的程序设计
4.5 RPC语言编译器(rpcgen)
第5章 IDES/NIDES系统实例
5.1 引言
5.2 IDES设计模型
5.3 审计数据
5.4 邻域接口
5.4.1 IDES审计记录生成器(Agen)
5.4.2 审计记录池(arpool)
5.4.3 IDES审计记录的格式设计
5.4.4 与IDES处理单元的连接
5.5 统计异常检测器
5.5.1 入侵检测测量值
5.5.2 统计分析算法
5.6 IDES专家系统
5.6.1 PBEST概述
5.6.2 PBEST的基本语法
5.6.3 进一步的语法介绍
5.7 IDES用户接口
5.8 进一步的发展:NIDES系统
5.8.1 系统结构概述
5.8.2 系统设计描述
第6章 STAT——基于状态转移分析的系统
6.1 系统简介
6.2 总体架构设计
6.2.1 预处理器
6.2.2 知识库
6.2.3 推理引擎
6.2.4 决策引擎
6.3 审计记录预处理器
6.3.1 BSM审计记录格式
6.3.2 STAT审计记录格式
6.3.3 对BSM审计记录的过滤操作
6.3.4 预处理器模块的算法流程
6.4 系统知识库
6.4.1 事实库(Fact-Base)
6.4.2 规则库(Rule-Base)
6.5 推理引擎
6.6 决策引擎
第7章网络协议族介绍
7.1 分层协议模型
7.1.1 通信协议
7.1.2 计算机网络协议的分层模型
7.1.3 协议的分层原理
7.1.4 分层协议开放系统的通信机制
7.2 开放系统互连参考模型OSI/ISO
7.3 TCP/IP参考模型
7.4 TCP/IP协议
7.4.1 网络接口层协议
7.4.2 ARP协议和RARP协议
7.4.3 IP协议
7.4.4 ICMP协议
7.4.5 TCP协议
7.4.6 UDP协议
第8章 数据流捕获技术
8.1 基本的网络数据截获机制
8.1.1 利用以太网络的广播特性进行截获
8.1.2 基于路由器的网络数据截获技术
8.2 BPF过滤机制分析
8.2.1 BPF模型概述
8.2.2 BPF过滤虚拟机设计
8.3 基于Libpcap库的通用数据捕获技术
8.3.1 Libpcap库函数介绍
8.3.2 Windows平台下的Winpcap库
第9章 检测引擎设计
9.1 NFR的N-code语言
9.2 Bro事件检测引擎
9.3 协议分析加命令解析的检测引擎设计
第10章 Snort系统分析
10.1 系统架构分析
10.2 重要的全局数据结构
10.2.1 Packet数据结构
10.2.2 PV数据结构
10.3 协议解析器组件
10.4 规则检测组件
10.4.1 构造规则链表Parse RulesFile()和ParseRule()
10.4.2 构建快速规则匹配引擎fpCreateFastPacketDetection()
10.4.3 快速检测接口函数fpEvalPacket()
10.5 预处理器
10.5.1 预处理模块的基本架构
10.5.2 Spp_bo模块
10.5.3 Spp_arpspoof模块
10.5.4 Spp_Http Decode模块
10.5.5 Spp_frag2模块
10.5.6 Spp_stream4模块
10.6 输出插件
10.6.1 概述
10.6.2 输出插件的初始化
10.6.3 输出插件的调用
第11章 AAFID分布式系统
11.1 AAFID系统简介
11.1.1 基本情况
11.1.2 系统结构
11.2 AAFID的代理与过滤器
11.2.1 AAFID代理简介
11.2.2 代理的编写
11.2.3 简单代理编写实例
11.2.4 AAFID的过滤器
11.3 AAFID总体结构分析
11.3.1 AAFID的总体结构
11.3.2 AAFID的总体流程
11.4 关键模块剖析
11.4.1 基础功能模块
11.4.2 其他模块
第12章 入侵检测的不对称模型
12.1 基本模型与不对称指数
12.2 入侵检测的不对称性
12.3 不对称模型与信息论
第13章 基于神经网络的入侵检测技术
13.1 概述
13.2 基本检测算法描述
13.3 关键词表的选择
13.4 量化参数对检测性能的影响
13.5 BP网络与径向基函数(RBF)网络
13.6 检测性能与不对称指数
第14章 智能化入侵检测系统的设计
14.1 系统总体模块结构
14.2 数据包截获和规则检测模块
14.3 特征矢量生成器与网络会话模块
14.4 ANN检测引擎设计
附录 入侵检测技术FAQ
作者在出版了早期的关于入侵检测技术的书籍之后,陆续接到许多读者的电子邮件,对写作内容提供了许多有益的意见并提出了许多问题。由于时间等因素的影响,未能完全回复所有来信,在此表示歉意。入侵检测技术在国内的发展,已经从几年前的起步阶段逐渐过渡到现在的上升发展期,技术本身也在不断完善。就作者本人而言,对技术的理解也在不断地拓展和加深,因此感到有必要在前面出版书籍的基础上重新组织写作内容,并反映技术进步的内容;同时,作者还是将本书定位于入门技术书籍上,强调写作脉络的清晰和内容介绍的基础性。希望本书的内容组织和写作方式,能够满足读者对入侵检测技术的了解需求。
入侵检测技术随着整体信息安全技术的发展而不断前行,更多的人投入到该领域内的研究工作并取得了一定的成果。更多新的理论运用到入侵检测的研究领域,同时在具体产品或系统的开发上,也取得了很大进步。但是,应该看到的是,在总体迅速发展的背景下,核心技术和创新能力的发展并不乐观。大量的系统在重复着同一水平的工作,对基础研发的投入并不充足,造成的明显现象是实际的系统性能指标距离国外先进水平尚有较大差距。作者写此书的另一个目的就是希望更多的人通过本书入门,能够在此基础上做出更多具有原创性的工作。
本书的内容共分为5大部分。第1部分包括第1章内容,在概要介绍黑客攻击手段类型的基础上,介绍入侵检测技术的概念、对应的安全模型、通用CIDF模型架构以及相关的管理评测和法律问题。这部分主要是学习入侵检测技术的基础背景知识和总体框架。第2部分包括第2-6章共5章内容,主要介绍了主机入侵检测技术。其中第2、3、4章为技术基础内容,涉及到操作系统发展及审计机制知识。第5章介绍了主机入侵检测系统的经典代表IDES系统以及后继版本NIDES系统,其中涉及到统计分析算法、专家系统算法和架构模块设计等知识。第6章介绍了基于状态转移分析技术的主机入侵检测系统STAT,对其包含的基本算法思想和检测算法设计及系统架构设计等内容进行了论述。STAT系统的基本思想是具有创新性的一种思路,读者通过学习,应该可以得到更多的启发。第3部分包括了第7-10章的内容,主要介绍了网络入侵检测技术。第7、8、9章内容提供了网络入侵检测技术的基础设计知识,包括基础协议知识、数据流截获技术和网络检测引擎的基础设计等内容。在此基础上,在第10章里,作者结合著名的开放源码Snort系统,介绍了其最新2.0版本引入的若干设计特色,包括快速检测引擎设计、改进p重组和流重组技术等。Snort系统作为开放源代码的学习型系统,应该说为国内入侵检测系统的启蒙设计起到了不可低估的促进作用。从Snort版本的不断演变过程中,如果加以较为细致的耐心分析,不难看出其中所折射出的不断追求创新的精神内涵。此时,分析代码或跟随设计架构应该不再成为尽力追求的重点,作者深切感到通过学习而发展出自己的创新核心设计,才是真正的学习精髓所在。第4部分包括第11章的内容,主要介绍了Purdue大学所提出的自治代理入侵检测技术及其实现原型AAFID系统。AAFID系统在分布式入侵检测系统的发展历史上,起到了重要的推动作用。尽管其原型系统所采用的实现技术,并非严谨的工程实现,但是自治代理的检测理念却代表了一种新的设计思路。第11章内将会介绍AAFID系统的设计架构、代理的概念以及模块函数的功能设计等。第5部分包括第12-14章的内容,主要介绍了作者在入侵检测领域内所作的一点工作成果。其中包括入侵检测不对称模型的引入、基于神经网络入侵检测算法的分
析以及智能化入侵检测系统的设计等。
本书在成稿期间,得到了上海交通大学信息安全工程学院诸多老师的帮助和指导。信息安全工程学院常务副院长李建华教授对本书的写作多次给出中肯的意见,促进了书稿更好地完成。李生红老师担任了诸多与出版社进行沟通协调的繁琐事务,为本书的顺利出版奠定了基础。本书的写作是在作者参与国家863重大项目“信息安全工程实践综合实验平台与集成”的研发工作期间完成的,负责项目总协调的杨树堂老师此间给予了很多帮助,在此表示感谢。另外还要感谢作者所在的上海交大入侵检测研究小组(SJTU-IDRG)诸位成员的大力帮助,他(她)们是伍星、刘永陆、马思佳、陈一航、罗自立、陈杰、丁海波、肖惠玲等。
本书第12-14章的内容是在解放军第二炮兵工程学院刘代志教授的指导下,作者独立完成的工作。不妥和谬误之处,由作者本人负责。
最后,希望本书能够为入侵检测技术的普及和发展起到一定的推进作用。