440 likes | 566 Views
入侵检测. 易 卫 E-mail: hnyiwei@126.com 2008.2.10. 第四章 入侵检测的信息源. 信息源 是指可以用于分析和处理的原始数据或中间数据。在 入侵检测系统中信息源 是指可供入侵检测系统处理的各种原始数据,这主要包括主机系统中的各类数据和网络中传输的数据包。 全面了解入侵检测中使用的信息源,了解获取数据源的方法和途径,对于设计高效的入侵检测系统,提高系统的检测准确率,对于读者全面认识入侵检测系统的功能,都具有重要的意义。. 4.1 概 述 (1).
E N D
入侵检测 易 卫 E-mail: hnyiwei@126.com 2008.2.10 湖南大学 07-08学年第二学期
第四章 入侵检测的信息源 • 信息源是指可以用于分析和处理的原始数据或中间数据。在入侵检测系统中信息源是指可供入侵检测系统处理的各种原始数据,这主要包括主机系统中的各类数据和网络中传输的数据包。 • 全面了解入侵检测中使用的信息源,了解获取数据源的方法和途径,对于设计高效的入侵检测系统,提高系统的检测准确率,对于读者全面认识入侵检测系统的功能,都具有重要的意义。 湖南大学 07-08学年第二学期
4.1 概 述(1) • 早期的入侵检测系统都是基于主机的,但随着网络技术的不断发展,网络遭受的攻击越来越多,基于主机的入侵检测系统难以完成入侵检测任务。因此,基于网络的入侵检测系统被人们提出,并得到了很快发展,现在基于网络的入侵检测系统已经成为主流,是入侵检测的主要研究方向和应用方向。 • 基于主机的IDS: 分析来自单个的计算机系统的系统审计迹(Operating System Audit Trail)和系统日志来检测攻击,它主要是用来保护网络中比较重要的主机。 • 操作系统审计迹一般是由操作系统的内核产生,它比系统日志保护得更好,更加详细。系统日志则比较简单明了,比较容易理解。 • 基于主机的IDS分析的信息来自于单个的计算机系统,因此视野比较集中,这个优点使得它能够相对精确、相对可靠地分析入侵活动,确定是否存在针对某台主机的攻击,是谁进行的攻击。 • 主要缺点是:它会占用主机的资源,在服务器上产生额外的负载;缺乏平台支持,可移植性差,因而应用范围受到严重限制. 湖南大学 07-08学年第二学期
4.1 概 述(2) • 基于网络的IDS在关键的网段或交换部位通过捕获并分析网络数据包来检测攻击。它们在关键的网段或交换部位侦听,一般监控流经该网段多个主机的网络通信流量. • 优点:基于网络的IDS可以配置在专门的机器上,不会占用被保护的设备上的任何资源,对系统资源的占用比较少,本身的抗攻击性比较好,可以实施实时的网络监视。它检测速度快,视野更宽,可做到与操作系统无关。 • 基于网络的入侵检测系统的主要缺点是:只能监视本网段的活动,比较容易受网络流量的影响,对入侵的检测能力相对较差,误报和漏报比较多,精确度不高;在交换环境下难以配置;防入侵欺骗的能力较差;难以定位入侵者。 湖南大学 07-08学年第二学期
4.1 概 述(3) • 基于网络为了发挥基于主机的IDS和基于网络的IDS的长处,弥补它们本身的局限性,现在有的入侵检测系统把二者混合起来使用,即入侵检测系统既有主机检测功能,又有网络检测功能,我们称之为混合型入侵检测系统。如图:按照信息源的不同分类: 湖南大学 07-08学年第二学期
4.1 概 述(4) • 信息源分为如下三个层次,如图4.2所示。 湖南大学 07-08学年第二学期
4.1 概 述(5) • 最下网络层,处理所有的TCP/IP或SMB传输。在这一层,需要查找的有用数据包括可能出现在网络数据包报头域中的任何信息,主要有: • IP地址 • 端口号 • 顺序号 • 协议类型 • 网络实体名,如SMB中的服务器名字 • 校验和 • 设置选项,如IP的源路由等。 以上是在检测网络攻击是要检查的域,然而在这一级上许多事件如登录失败、文件删除是很难发现的。网络层自身还可以进一步细分为许多分层部件。 湖南大学 07-08学年第二学期
4.1 概 述(6) • 中间一层是操作系统,它可以为所有不直接负责处理网络层信息的部件。这一层的部件有命令、库、备份程序、登录程序以及其他核心子系统。系统的许多功能是由操作系统完成的,操作系统对于一些系统的行为也进行了详细的记录,这些记录对于检测攻击很有帮助。 • 最上层是应用层,包括所有的应用产品,这些应用产品也往往会记录产品运行过程中的一些事件,其中的攻击事件也可能被记录在案。因此,这些应用产品的日志记录也可以作为入侵检测的数据源。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(1) 在入侵检测技术的发展历史中,最早采用的用于入侵检测任务的输入数据源就是操作系统的审计记录。操作系统的审计记录是由操作系统软件内部的专门审计子系统所产生的,其目的是记录当前系统的活动信息,并将这些信息按照时间顺序组织成为一个或多个审计文件。 不同的系统在审计事件的选择、审计记录的选择和内容组织等诸多方面都存在着兼容性的问题。另外一个存在的问题是,操作系统审计机制的设计和开发的初始目标,并不是为了满足后来才出现的入侵检测技术的需求目的。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(1) 操作系统审计记录被认为是基于主机入侵检测技术的首选数据源: ⑴ 操作系统的审计系统在设计时,就考虑了审计记录的结构化组织工作以及对审计记录内容的保护机制,因此操作系统审计记录的安全性得到了较好的保护。 ⑵ 操作系统审计记录提供了在系统内核级的事件发生情况,反映的是系统底层的活动情况并提供了相关的详尽信息,为发现潜在的异常行为特征奠定了良好的基础。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(1) • 基于主机的信息源,是从主机系统获取的数据和信息,它主要包括操作系统审计迹、系统日志文件和其他应用程序的日志文件。 <1> 操作系统审计迹:审计迹是系统活动信息的集合,系统活动信息以时间顺序存放,然后组成一个或多个审计文件。每个审计文件又由审计记录组成,每一个记录描述一个单一的系统事件。只要用户执行命令或用户触发的进程进行系统调用,就会生成这些记录。每一个审计记录由一系列审计令牌组成,每一个审计令牌描述了记录中的字段。 • 下面举例说明操作系统审计迹。我们以Sun Solaris BSM(Base Security Module)为例。BSM是Sun公司的UNIX操作系统的安全模块,它支持对内核事件审计迹的创建。创建的审计迹可以用于入侵检测。 (如下图所示:) 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(2) • 审计子系统由审计日志、审计文件、审计记录和审计令牌组成,如下图所示。每一个审计令牌描述了一个系统属性。多个审计令牌组成一个审计记录。多个审计记录组成一个审计文件,多个审计文件构成审计日志。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(3) • 审计记录可以分为核心级产生的记录和用户级产生的记录。核心级审计记录由核心级调用产生,用户级审计记录由其他的系统调用产生。在系统中每一个可审计事件产生一个特定类型的审计记录。审计记录的结构如下图所示。每一个审计记录都包含有头令牌、主题令牌和返回令牌。许多审计记录还包含有参数令牌、数据令牌和跟踪令牌。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(4) • 核心级审计记录主要包括:系统调用名、手册页参考、审计事件号、审计事件名、审计事件类、事件类屏蔽和审计记录结构。 • 用户级审计记录主要包括:进程名、手册页参考、审计事件号、审计事件名和审计记录结构。其结构如下图所示。 湖南大学 07-08学年第二学期
每个BSM审计记录都揭示了一次审计事件(audit event)的发生。BSM审计机制中定义了若干审计事件类型,而通常的入侵检测系统仅使用了其中部分事件类型,其他则丢弃。不同的审计事件类型所生成的审计记录,都会包含不同的审计令牌组合。一般而言,Header、Process、Return和Trailer令牌字段是固定字段。 BSM审计记录以二进制的形式进行存储,其字段结构和数据结构大小都实现了预先定义,从而提供了在不同平台系统间进行移植的兼容性。
4.2 基于主机的信息源(5) • Windows NT系统中的审计迹:在NT中,审计迹被称为事件日志(event log)。事件日志收集三种类型的系统事件:操作系统事件、安全事件和应用事件。 • 1)操作系统事件: 记录在操作系统日志中,由操作系统部件产生的事件组成,这些事件包括部件失败事件、应用程序崩溃或关闭事件和数据错误; • 2)安全事件记录在安全日志中,它由定义安全相关的事件组成,包括有效无效的注册、登录和退出以及和系统资源使用相关的事件,尤其是创建、删除、修改系统文件和其他文件的事件; • 3)应用事件是应用程序记录的事件,记录在事件日志中,应用日志中记录的事件类型由应用程序开发者决定,并且一般会提供软件包来帮助使用日志特性。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(5) Windows 2000以事件日志机制形式提供数据源,使用事件查看器进行查看和管理。可以根据事件的日志记录来识别和跟踪安全性事件、资源使用情况,以及系统和应用程序中发生的错误等。 如图4-3所示。右击某个记录,在“属性”中可以看到关于此记录的详细说明。记录本身又分为几种情况: “错误”是指比较严重的问题,通常是出现了数据丢失或功能丢失;“警告”则表明情况暂时不严重,但可能会在将来引起错误,比如磁盘空间太小等;“信息”是记录运行成功的事件。 湖南大学 07-08学年第二学期
① 应用程序日志记载应用程序运行方面的错误。 ② 安全日志记录与安全性相关的事件,例如与资源使用有关的事件,还包括合法和非法的登录企图。管理员可以指定将哪些事件记录在安全日志中。安全性事件根据审计策略被记录在安全性日志中。注意,Windows 2000的默认安装是不打开任何安全日志审核的,需要在“本地安全设置”→“本地策略”→“审核策略”中打开相应的审核,如图4-4所示。 ③ 系统日志包括由Windows 2000系统组件记录的事件,系统事件由Windows 2000自动配置,并记录在系统日志中。 所有用户都能够查看应用程序日志和系统日志,但安全性日志只能由系统管理员访问。
Windows 2000的事件日志由多个事件记录组成,如图4-3所示,事件查看器中的3种类型日志,其所包含的事件日志的格式统一如下所示。 ① 类型: 事件查看器显示以下5种事件类型。 ● 错误: 重要的问题,如数据丢失或功能丧失。 ● 警告: 不是非常重要但将来可能出现的问题的事件。 ● 信息: 描述应用程序、驱动程序或服务的成功操作的事件。 ● 成功审核: 审核安全访问尝试成功。 ● 失败审核: 审核安全访问尝试失败。 ② 日期: 事件产生的详细日期。
③ 时间: 事件产生的详细时间,精确到秒。 ④ 来源: 事件的生成者,有很多种类的来源。例如disk、Srv、SNMP、Windows File Protection等,这其中有来自操作系统内部程序的,也有来自应用程序的。 ⑤ 分类: 对事件的分类,如系统事件、特权使用、登录/注销、Firing Agent等。 ⑥ 事件: 事件ID。Windows 2000用不同的ID来表明惟一的事件。 ⑦ 用户: 用户名称。包括N/A、SYSTEM、Administrator等。 ⑧ 计算机: 计算机名称。可以是本地计算机,也可以是远程计算机。
右击每条日志,选择属性,可以看见对此日志条目的具体描述。描述信息清晰地说明了此事件相关的情况,如图4-5所示。右击每条日志,选择属性,可以看见对此日志条目的具体描述。描述信息清晰地说明了此事件相关的情况,如图4-5所示。 利用事件查看器可以根据特定需求快速地查看和筛选事件日志。事件查看器还可以管理事件日志。 通过查看和分析事件日志,可以检测出需要系统管理员加以重点考虑的事件。根据对这些事件日志的分析,可能需要解决相关的安全问题、系统问题,或者对资源进行重新分配等。另外,可能还需要就审核策略、监视设置值、安全性设置值、应用程序配置,以及系统配置问题等提供改进建议。
4.2 基于主机的信息源(6) • 事件日志: 由一系列事件记录组成,每一个事件记录被分为3个功能部分:头、事件描述和附加数据域(为可选项)。安全日志的入口通常由头和事件描述组成。 • 事件记录头一般由下列域构成:日期、时间、用户名、计算机名、事件ID、源、类型和种类。其中日期和时间是事件的时间标识,用户名标识事件的触发者,计算机名标识发生事件所在的计算机名,事件ID是事件类型的数字标识,源是用来响应产生事件记录的软件,可以是应用程序或设备驱动程序,类型是事件严重性指示器,种类标识触发事件的类型。。 湖南大学 07-08学年第二学期
4.2 基于主机的信息源(7) • <2> 系统日志:系统日志文件反映了系统的工作情况,是操作系统中必不可少的组成部分,是系统顺利运行的重要保障。系统日志文件一般由多个文件组成,如Windows 2000操作系统日志文件主要有应用程序日志、安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等。 湖南大学 07-08学年第二学期
系统使用日志机制记录下主机上发生的事情,无论是对日常管理维护,还是对追踪入侵者的痕迹都非常关键。日志可分为操作系统日志和应用程序日志两部分。操作系统日志从不同的方面记录了系统中发生的事情,对于入侵检测而言具备重要的价值。系统使用日志机制记录下主机上发生的事情,无论是对日常管理维护,还是对追踪入侵者的痕迹都非常关键。日志可分为操作系统日志和应用程序日志两部分。操作系统日志从不同的方面记录了系统中发生的事情,对于入侵检测而言具备重要的价值。 系统日志的安全性与操作系统的审计记录比较而言,要差一些,其原因如下: ⑴ 产生系统日志的软件通常是在内核外运行的应用程序,因而这些软件容易受到恶意的修改或攻击。 ⑵ 系统日志通常是存储在普通的不受保护的文件目录里,容易受到恶意的篡改和删除等操作。
尽管如此,系统日志仍然以其简单易读、容易处理等优势成为入侵检测的一个重要输入数据源。尽管如此,系统日志仍然以其简单易读、容易处理等优势成为入侵检测的一个重要输入数据源。 UNIX操作系统提供门类齐全的系统日志文件,并且能够通过通用日志服务后台程序syslogd来提供标准化的日志服务。UNIX操作系统的主要日志文件可以分成3类: ① 二进制连接时间日志文件,由多个程序生成,消息写入到/var/log/wtmp和/var/run/utmp,login等系统程序负责更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。 ②进程日志,由系统内核生成。当一个进程终止时,系统内核为每个进程在进程日志文件(pacct或acct)中写入一条记录。
③syslogd日志,由syslogd生成并维护。各种系统守护进程、内核、模块使用syslogd记录下自己发出的消息。③syslogd日志,由syslogd生成并维护。各种系统守护进程、内核、模块使用syslogd记录下自己发出的消息。 另外还有许多UNIX程序创建日志,像http 或ftp这样提供网络服务的服务器也保持详细的日志。 utmp、wtmp和lastlog日志文件是多数主要UNIX日志子系统的关键——保持用户登录进入和退出的记录。数据交换、关机和重启也记录在wtmp文件中。所有的记录都包含时间戳。这些文件的规模(除了lastlog)在拥有大量用户的繁忙系统中,将会增长得非常迅速。许多系统以天或周为单位把wtmp配置成循环使用。
utmp、wtmp和lastlog是二进制文件,不能用普通文本查看器查看,只能通过系统命令来查看,主要包括用户名、终端、登录ip、CPU使用时间、正在运行的进程、登录时间和退出时间等内容。utmp、wtmp和lastlog是二进制文件,不能用普通文本查看器查看,只能通过系统命令来查看,主要包括用户名、终端、登录ip、CPU使用时间、正在运行的进程、登录时间和退出时间等内容。 UNIX可以跟踪每个用户运行的每条命令。该功能(称为进程日志)对于跟踪系统问题十分有用。它还对跟踪特定入侵者(或恶意用户)的活动很有帮助,但它的缺点是不能记录命令的参数。进程日志文件的名称和位置在不同UNIX 版本中有所不同。 与连接日志不同,进程日志默认时并不激活,它必须显式地启动。 lastcomm命令报告以前执行的命令。sa命令报告、清理并维护进程日志文件。
syslog可以记录系统事件,可以写消息到一个文件或设备,或是直接给用户发送一个信息。它能记录本地日志或通过网络记录另一个主机上的日志。syslog设备包括两个重要元素: /etc/syslogd(守护程序)和/etc/syslog.conf 配置文件。 syslogd可以处理的消息类型在/usr/include/sys/syslog.h中进行定义。一个消息可以分成两个部分: “设备”和“优先级”。“设备”标识发出消息的子系统,这是内核定义的所有的设备。 下面是在内核头文件中定义的所有消息优先级。“优先级”表示消息的重要性,其范围从7(最低)到0(最高)。
# /etc/syslog.conf # For info about the format of this file, see ″man syslog.conf″ (the BSD man # page), and /usr/doc/sysklogd/README.linux .*.=info;*.=notice /usr/adm/messages *.=debug /usr/adm/debug *.=err /usr/adm/syslog 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 */ syslogd的配置文件syslog.conf定义了根据设备和优先级,消息应该发到哪个日志文件中。在图4-6中可以看到在Slackware 4.0中命令运行的结果。 图4-6 /etc/syslog.conf内容
编辑完/etc/syslog.conf文件后,还必须执行以下命令: # killall-HUP syslogd 这样所做的改变才会生效。这个命令发送HUP信号给syslogd守护进程,通知守护进程重新读取配置文件。 通过syslogd生成的文件有着如下的统一格式: 时间戳: 主机名: 消息发送者: 消息描述。例如下面一行,名为Invent的主机收到来自passwd的消息,描述用户guest的口令被root改变了。 Jun 12 11∶06∶11 Invent passwd[337]: password for ′progs′ changed by ′root′…
4.2 基于主机的信息源(8) • <2> 其它程序日志:除了操作系统本身外,其他的一些应用程序也产生日志文件,这些日志文件对于检测入侵也有价值。这些应用程序主要包括安全软件和应用软件。安全软件主要有:基于主机的防火墙、杀毒软件等。 湖南大学 07-08学年第二学期
4.3 基于网络的信息源(1) • 基于网络的信息源主要是网络数据包。利用网络数据包做入侵检测系统的分析数据源,可以解决以下安全问题: (1). 检测只能通过分析网络业务才能检测出来的网络攻击,可以检测出绝大多数的外部攻击行为。例如,拒绝服务攻击等。 (2). 不存在基于主机入侵检测系统在网络环境下遇到的审计迹格式异构性的问题。TCP/IP作为事实上的网络协议标准使得利用网络通信包的入侵检测系统不用考虑数据采集、分析时数据格式的异构性。 (3). 对于网络数据包的采集一般采用旁路的方法,使用单独的机器,因而这种数据收集、分析不会影响整个网络的处理性能。 (4). 使用某些工具,通过签名分析报文载荷内容或报文的头信息,来检测针对主机的攻击。 (5). 对于使用网络数据包作为入侵检测的数据源,也存在一些弱点和不足: (6). 当检测出入侵时,比较难确定入侵者。因为在报文信息和发出命令的用户之间没有可靠的联系。 (7). 加密技术的应用增加了对报文载荷分析的难度,从而这些检测工具将会失去大量有用的信息。 湖南大学 07-08学年第二学期
4.3 基于网络的信息源(2) • 由于现有的攻击大多数是针对网络的攻击,因此捕获和分析数据包已成为检测入侵和攻击的最主要方法,现有的入侵检测方法多数是针对网络数据包的。 • 现在的网络系统普遍使用网络传输控制协议/网络协议TCP/IP传输数据。数据包 (Packet)是TCP/IP协议通信传输中的数据单位。TCP/IP是一个四层协议,从下到上依次是主机至网络层、互联网层、传输层和应用层,如下图所示。 湖南大学 07-08学年第二学期
4.3 基于网络的信息源(3) • 互联网层定义了正式的分组格式和协议,即IP协议。它是整个体系结构的核心部分,该层的功能就是把IP分组发送到应该去的地方。 • 传输层位于互联网层之上,这一层定义了两个端到端的协议,一个是传输控制协议TCP,它是一个面向连接的协议,另一个是用户数据报协议UDP,它是一个面向无连接的协议。传输层的功能是使源端和目的端主机上的对等实体可以进行会话。 • 传输层之上是应用层,它包含所有的高层协议,如虚拟终端协议(TELNET)、文件传输协议(FTP)、电子邮件协议(SMTP)、域名服务协议(DNS)、HTTP协议等 。 • 缺点:TCP/IP在网络数据传输中得到了广泛的应用。但它也存在很多缺点,其中很重要的一点,就是它在安全性方面考虑得很少 。 湖南大学 07-08学年第二学期
4.3 基于网络的信息源(4) • TCP/IP协议模型的提出,是建立在国际标准化组织(ISO)提出的OSI参考模型基础上的。它是一个概念模型,很好地明确和体现了服务、接口和协议的概念。它是一个七层结构的模型,从下到上依次为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,其结构以及与TCP/IP的对应关系见图。 湖南大学 07-08学年第二学期
4.3 基于网络的信息源(5) 这里对OSI模型进行简单的介绍,可以帮助读者加深对TCP/IP的理解。TCP/IP中定义的TCP数据段头和IP数据包头格式分别如下图所示。关于它们的详细解释,请读者参考有关文献,这里不再赘述。 • TCP包和IP包: 湖南大学 07-08学年第二学期
4.4 数据的获取(1) <1>.基于主机的信息源获取: 对于基于主机的信息源,审计迹、系统日志和应用程序的日志,都是系统和应用程序自动生成的。这些日志往往是以文件的形式存储的,对于基于主机的信息源,获取信息比较容易,但分析和筛选数据相对困难。 <2>. 基于网络的信息源获取: 对于网络数据包,使用包俘获工具可以获取它们。现在有不少包俘获工具,其中比较有名的是libpcap,Libpcap的英文意思是Packet Capture library,即数据包捕获函数库。Libpcap是由Berkeley大学Lawrence Berkeley National Laboratory研究院的Van Jacobson、Craig Leres和Steven McCanne编写的。Libpcap库提供的C函数接口可用于开发捕获经过网络接口数据包的软件。很多在Unix系统中流行的包俘获工具就是使用Libpcap开发出来的。Winpcap是Libpcap的win32版本。 湖南大学 07-08学年第二学期
第四章小结 本章介绍了入侵检测的信息源。信息源可以分为基于主机的信息源和基于网络的信息源。基于主机的信息源主要包括操作系统审计迹(operating system audit trail)、系统日志文件和其他应用程序的日志文件,基于网络的数据源主要是指网络数据包。 湖南大学 07-08学年第二学期
结束语 谢谢大家! 湖南大学 07-08学年第二学期