入侵检测技术 第3章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Header* Process* [Argumnet]* [Attribute]* [Data] [In_addr] [Ip] [Ipc_perm] [Ipc] [Iport] [Path]* [Text] [Groups] [Opaque] [Return]* [Trailer]
首令牌字段 审计进程信息 系统调用参数信息 属性信息
第3章 入侵检测技术的分类 章
3.1 入侵检测的信息源 3.2 分类方法 3.3 具体的入侵检测系 统
3.1 入侵检测的信息源
对于入侵检测系统而言,输入数据的选择是首先需 要解决的问题: ⑴ 入侵检测的输出结果,首先取决于所能获得的 输入数据的数量和质量。 ⑵ 具体采用的入侵检测技术类型,也常常因为所 选择的输入数据的类型不同而各不相同。
③ 时间: 事件产生的详细时间,精确到秒。 ④ 来源: 事件的生成者,有很多种类的来源。例 如disk、Srv、SNMP、Windows File Protection等, 这其中有来自操作系统内部程序的,也有来自应用程 序的。 ⑤ 分类: 对事件的分类,如系统事件、特权使用、 登录/注销、Firing Agent等。 ⑥ 事件: 事件ID。Windows 2000用不同的ID来表 明惟一的事件。 ⑦ 用户: 用户名称。包括N/A、SYSTEM、 Administrator等。 ⑧ 计算机: 计算机名称。可以是本地计算机,也 可以是远程计算机。
图3-2 BSM审计令牌格式
每个BSM审计记录都揭示了一次审计事件(audit event)的发生。BSM审计机制中定义了若干审计事 件类型,而通常的入侵检测系统仅使用了其中部分事 件类型,其他则丢弃。不同的审计事件类型所生成的 审计记录,都会包含不同的审计令牌组合。一般而言, Header、Process、Return和Trailer令牌字段是固定 字段。 BSM审计记录以二进制的形式进行存储,其字段结 构和数据结构大小都实现了预先定义,从而提供了在 不同平台系统间进行移植的兼容性。
3.1.1 操作系统的审计记录
在入侵检测技术的发展历史中,最早采用的用于入 侵检测任务的输入数据源就是操作系统的审计记录。 操作系统的审计记录是由操作系统软件内部的专门审 计子系统所产生的,其目的是记录当前系统的活动信 息,并将这些信息按照时间顺序组织成为一个或多个 审计文件。 不同的系统在审计事件的选择、审计记录的选择和 内容组织等诸多方面都存在着兼容性的问题。另外一 个存在的问题是,操作系统审计机制的设计和开发的 初始目标,并不是为了满足后来才出现的入侵检测技 术的需求目的。
操作系统审计记录被认为是基于主机入侵检测技术 的首选数据源: ⑴ 操作系统的审计系统在设计时,就考虑了审计 记录的结构化组织工作以及对审计记录内容的保护机 制,因此操作系统审计记录的安全性得到了较好的保 护。 ⑵ 操作系统审计记录提供了在系统内核级的事件 发生情况,反映的是系统底层的活动情况并提供了相 关的详尽信息,为发现潜在的异常行为特征奠定了良 好的基础。 下面分别介绍两种流行的操作系统Sun Solaris和 Windows 2000的审计系统机制及审计记录格式。
ArgБайду номын сангаасment Token token ID argument ID argument value * string length text Return Token token ID user error return value * Trailer Token token ID magic number record size
1. Sun Solaris BSM Sun公司的Solaris操作系统是目前流行的服务器 UNIX操作系统,其中包含的BSM安全模块使得 Solaris系统满足TCSEC标准的C2级审计功能要求。 BSM安全审计子系统的主要概念包括审计日志、审 计文件、审计记录和审计令牌等,其中审计日志由一 个或多个审计文件组成,每个审计文件包含多个审计 记录,而每个审计记录则由一组审计令牌(audit token)构成。 图3-1所示为BSM审计记录的格式。 每个审计令牌包括若干字段,如图3-2所示。
图3-4 审核策略的指定
Windows 2000的事件日志由多个事件记录组成, 如图3-3所示,事件查看器中的3种类型日志,其所包 含的事件日志的格式统一如下所示。 ① 类型: 事件查看器显示以下5种事件类型。 ● 错误: 重要的问题,如数据丢失或功能丧失。 ● 警告: 不是非常重要但将来可能出现的问题的 事件。 ● 信息: 描述应用程序、驱动程序或服务的成功 操作的事件。 ● 成功审核: 审核安全访问尝试成功。 ● 失败审核: 审核安全访问尝试失败。 ② 日期: 事件产生的详细日期。
utmp、wtmp和lastlog是二进制文件,不能用普通 文本查看器查看,只能通过系统命令来查看,主要包 括用户名、终端、登录ip、CPU使用时间、正在运行 的进程、登录时间和退出时间等内容。 UNIX可以跟踪每个用户运行的每条命令。该功能 (称为进程日志)对于跟踪系统问题十分有用。它还 对跟踪特定入侵者(或恶意用户)的活动很有帮助, 但它的缺点是不能记录命令的参数。进程日志文件的 名称和位置在不同UNIX 版本中有所不同。 与连接日志不同,进程日志默认时并不激活,它必 须显式地启动。 lastcomm命令报告以前执行的命令。sa命令报告、 清理并维护进程日志文件。
尽管如此,系统日志仍然以其简单易读、容易处理 等优势成为入侵检测的一个重要输入数据源。 UNIX操作系统提供门类齐全的系统日志文件,并 且能够通过通用日志服务后台程序syslogd来提供标 准化的日志服务。UNIX操作系统的主要日志文件可 以分成3类: ① 二进制连接时间日志文件,由多个程序生成, 消息写入到/var/log/wtmp和/var/run/utmp,login等系 统程序负责更新wtmp和utmp文件,使系统管理员能 够跟踪谁在何时登录到系统。 ②进程日志,由系统内核生成。当一个进程终止时, 系统内核为每个进程在进程日志文件(pacct或acct) 中写入一条记录。
2. Windows 2000 Windows 2000以事件日志机制形式提供数据源, 使用事件查看器进行查看和管理。可以根据事件的日 志记录来识别和跟踪安全性事件、资源使用情况,以 及系统和应用程序中发生的错误等。 Windows 2000事件日志机制收集3种类型的系统事 件: 应用程序日志、安全日志和系统日志,如图3-3 所示。右击某个记录,在“属性”中可以看到关于此 记录的详细说明。记录本身又分为几种情况: “错 误”是指比较严重的问题,通常是出现了数据丢失或 功能丢失;“警告”则表明情况暂时不严重,但可能 会在将来引起错误,比如磁盘空间太小等;“信息” 是记录运行成功的事件。
syslog可以记录系统事件,可以写消息到一个文件 或设备,或是直接给用户发送一个信息。它能记录本 地日志或通过网络记录另一个主机上的日志。syslog 设备包括两个重要元素: /etc/syslogd(守护程序) 和/etc/syslog.conf 配置文件。 syslogd可以处理的消息类型在 /usr/include/sys/syslog.h中进行定义。一个消息可以 分成两个部分: “设备”和“优先级”。“设备” 标识发出消息的子系统,这是内核定义的所有的设备, 如表3-2所示。 下面是在内核头文件中定义的所有消息优先级。 “优先级”表示消息的重要性,其范围从7(最低) 到0(最高)。
③syslogd日志,由syslogd生成并维护。各种系统 守护进程、内核、模块使用syslogd记录下自己发出 的消息。 另外还有许多UNIX程序创建日志,像http 或ftp这 样提供网络服务的服务器也保持详细的日志。常用的 日志文件如表3-1所示。 utmp、wtmp和lastlog日志文件是多数主要UNIX日 志子系统的关键——保持用户登录进入和退出的记录。 数据交换、关机和重启也记录在wtmp文件中。所有 的记录都包含时间戳。这些文件的规模(除了lastlog) 在拥有大量用户的繁忙系统中,将会增长得非常迅速。 许多系统以天或周为单位把wtmp配置成循环使用。
图3-5 事件属性信息
3.1.2 系统日志
系统使用日志机制记录下主机上发生的事情,无论 是对日常管理维护,还是对追踪入侵者的痕迹都非常 关键。日志可分为操作系统日志和应用程序日志两部 分。操作系统日志从不同的方面记录了系统中发生的 事情,对于入侵检测而言具备重要的价值。 系统日志的安全性与操作系统的审计记录比较而言, 要差一些,其原因如下: ⑴ 产生系统日志的软件通常是在内核外运行的应 用程序,因而这些软件容易受到恶意的修改或攻击。 ⑵ 系统日志通常是存储在普通的不受保护的文件 目录里,容易受到恶意的篡改和删除等操作。
LOG_EMERG 0 /* system is unusable */ LOG_ALERT 1 /* action must be taken immediately */ LOG_CRIT 2 /* critical conditions */ LOG_ERR 3 /* error conditions */ LOG_WARNING 4 /* warning conditions */ LOG_NOTICE 5 /* normal but significant condition */ LOG_INFO 6 /* informational */ LOG_DEBUG 7 /* debug-level messages */
图3-3 Windows 2000事件查看器
① 应用程序日志记载应用程序运行方面的错误。 ② 安全日志记录与安全性相关的事件,例如与资 源使用有关的事件,还包括合法和非法的登录企图。 管理员可以指定将哪些事件记录在安全日志中。安全 性事件根据审计策略被记录在安全性日志中。注意, Windows 2000的默认安装是不打开任何安全日志审 核的,需要在“本地安全设置”→“本地策 略”→“审核策略”中打开相应的审核,如图3-4所 示。 ③ 系统日志包括由Windows 2000系统组件记录的 事件,系统事件由Windows 2000自动配置,并记录 在系统日志中。 所有用户都能够查看应用程序日志和系统日志,但 安全性日志只能由系统管理员访问。
右击每条日志,选择属性,可以看见对此日志条目 的具体描述。描述信息清晰地说明了此事件相关的情 况,如图3-5所示。 利用事件查看器可以根据特定需求快速地查看和筛 选事件日志。事件查看器还可以管理事件日志。 通过查看和分析事件日志,可以检测出需要系统管 理员加以重点考虑的事件。根据对这些事件日志的分 析,可能需要解决相关的安全问题、系统问题,或者 对资源进行重新分配等。另外,可能还需要就审核策 略、监视设置值、安全性设置值、应用程序配置,以 及系统配置问题等提供改进建议。
当前根目录、工作目录及其绝对路径
请求(系统调用)返回值
图3-1 BSM审计记录格式
Header Token token ID record size event type * time of queue * Process Token token ID audit ID * user ID * feal user ID real group ID* process ID*
Path Token token ID size of root current root size of dir current dir size of path path argument * Attribute Token token ID vnode mode * vnode uid * vnode gid * vnode fsid * vnode nodeid * vnode rdev *