Unix系统入侵检测知识库体系结构研究
李彬,戴银涛,胡昌振
(北京理工大学,北京,100081)
摘要:针对目前应用在UNIX系统中入侵检测知识库的适应能力不足的问题,提出一种适应于不同系统环境的知识库体系结构。检测规则按相应系统与服务类型以模块化形式存储,通过应用配制文件加载。实现了入侵检测知识库的可扩展性,提高了入侵检测知识库的通用性,并且可以提高检测规则的搜索效率。
关键词:UNIX系统 入侵检测
知识库 体系结构
A Study on Knowledge
Base Architecture of IDS in UNIX
[Abstract]: Due to the
problem of presently IDS knowledge base in UNIX
lacking of flexibility, we present an adaptive
knowledge base architecture .The detection rules
are stored by modules and loaded by
configuration files .The architecture can
realize the extensibility of knowledge base and
enlarge the application areas, what’s more,
improve the efficient of searching for the
according detection rules.
[Keyword]: UNIX, Intrusion
Detection, Knowledge base, architecture
1、引言:
入侵检测系统按照实现策略的不同可以分为滥用(MISUSE)检测与异常(ANOMALY)检测。在采用滥用检测技术的入侵检测系统中,知识库部分是系统的关键,其性能决定了入侵检测系统的主要特征,知识库的完备性、可以扩展性等特性决定了检测系统的正确检测率,与应用范围等关键指标。UNIX系统作为网络中关键设备的主要操作系统,对UNIX系统服务器的安全防护是维护网络安全的一个重要方面。目前基于UNIX系统的IDS中,知识库是入侵检测系统的一部分,只有针对相应的操作系统的检测规则。但UNIX系统有大量的分支,这些分支之间既有很多共同之处,也有许多不同的地方。当单独为某个分支建立的IDS系统应用在不同的系统环境中时,不得不将相应的知识库进行改写,这将带来很大的不便,也无法利用系统之间的相似性,而且如果改写不当更有可能造成虚警率与漏警率的增加。
根据基于UNIX系统IDS的这种特点,我们提出一种以模块化形式组织的入侵检测知识库体系结构,这种结构实现了知识库本身的可扩展性及通用性,并且可以提高检测规则的搜索效率。
2、UNIX系统概述及应用分析
UNIX系统性能稳定具有多任务,多用户等多种特性,自从问世以来就与网络与系统服务相联系。UNIX系统具有强大的通信和联网功能,是各类局域网中服务器使用的主要操作系统。在UNIX系统不同分支上上加载相应的应用软件就可以构造出相应的服务器,如在Linux系统上利用Apache软件及其他应用程序就可以构造出一个很好的WEB服务器。但当采用UNIX系统作为应用服务器时,为了提高系统的性能与安全性,服务器只会加载一种或几种相关的软件,即服务器提供服务的单一性,如,文件服务器只是提供文件服务功能,而一般不会提供域名服务功能。
UNIX系统经过几十年的发展,有SunOS、HP-UNIX、IRIX、DEC
UNIX、FreeBSD ,Linux等80几种不同的分支。这些UNIX系统分支具有相似的系统体系、文件结构及命令方式,采用的安全策略也很相近。但系统在具体的实现机制上,不同的UNIX系统分支之间又有很大的不同。对于应用在UNIX系统的IDS而言,UNIX系统自身安全的防护是安全的一方面,应用于其上的各种服务的安全防护则是整个系统安全另一个重要组成部分。
3、知识库体系结构
在入侵检测系统中,知识库是整个检测系统的一部分,其检测规则一般基于其防护的系统制定,通过入侵检测系统的分析部分进行规则匹配。但由于UNIX系统的分支之间的不同及基于不同系统的应用服务,基于某一个系统建立的知识库在移植到其他系统上时,许多检测规则将不得不做出调整,并且入侵检测系统中分析部分也需要做相应的调整,这将有可能造成误检率的提高。而对于不同的操作系统及服务类型将建立不同的知识库,又增加许多不必要的重复劳动。
利用各种UNIX分支之间的共同之处及差别建立一个统一的系统知识检测库,将会有效的解决上面所面对的问题。利用UNIX系统的安全策略相似性,建立一个共用的检测知识模块,针对系统的不同特点分别建立相应的检测知识模块。通过共用的模块与特性模块相结合构成确定的系统知识库模块。根据应用于UNIX系统的主要服务,如:WEB
服务、DNS服务、文件服务等应用分别建立相应的应用服务检测知识模块。然后根据具体的系统及应用服务类型使用配置文件加载相应系统知识模块与应用服务模块,构造出面向具体应用环境的入侵检测知识库。这将很大程度上提高知识库本身的可利用性,而且因为是面对具体的应用环境,也将更有效的提高检测水平及效率。见图1

系统通用模块包括基于系统本身的安全策略知识,如对系统安全文件的读写保护及用户行为的限定等。各个系统的特性模块包括针对各种系统本身的已知攻击检测知识,如利用系统特有安全漏洞进行缓冲区溢出攻击的检测知识等。通用模块与相应的系统特性模块相结合构造出基于具体操作系统的系统检测模块。
应用服务知识库子模块既包括实现各种服务的已知应用软件各个版本的漏洞特征及其相应检测规则,也包括基于不同操作系统所带来的具体安全问题。由于攻击者实现系统入侵大多是利用系统上应用软件的各种漏洞,全面的应用软件漏洞检测知识将很大程度上提高系统的安全性。
整个入侵检测知识库是一个开放的模型,可以随时加入新的特性模块,各个模块也可以按照实际应用加入新的检测规则。这种按照相应的应用软件漏洞的分类集中有助于实现检测知识的可扩充性。
4、知识库接口模块
4.1配置文件
知识库的接口模块主要由配置文件和KB-API(知识库应用程序接口)两部分组成。配置文件根据具体的系统环境与应用服务要求实现相应规则模块的加载,建立只对应于具体系统与服务的检测知识库。加载相应模块后建立的知识库通过KB_API同IDS系统的分析模块相联系。配置文件有固定的配置格式,下面通过对具体实例说明配置文件格式及各项的具体含义。例如对应用在Redhat
7.0上安装了WEB服务器的入侵检测系统而言,其相应的检测知识库配置文件如表1: