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