入侵检测全景图
IDS是新近发展起来的一项安全技术,它在网络安全体系中所发挥的作用是可以检测到入侵行为。这里所说的入侵行为涵盖范围很广,不仅包括黑客攻击,还包括各种网络异常行为,如内部网络机密信息泄漏和非法使用网络资源等等。
为了保障网络的安全,要使用很多安全产品,有防病毒产品、防火墙、扫描器、服务器安全加固、加密传输和身份认证等等。和它们相比,IDS具有更多的智能特性,能够判断出网络入侵行为并加以处理。
一、怎样检测入侵
1.信息来源
在现实生活中,警察要证明罪犯有罪,必须先收集证据。只有掌握了充足的证据,才能顺利破案。IDS也是一样。一般来说,IDS通过2种方式获得信息,其中一种是网络入侵检测模块方式。当一篇文章从网络的一端传向另一端时,是被封装成一个个小包(叫做报文)来传送的。每个包包括了文章中的一段文字,在到达另一端之后,这些包再被组装起来。因此,我们可以通过检测网络中的报文来达到获得信息的目的。一般来说,检测方式只能够检测到本机的报文,为了监视其他机器的报文,需要把网卡设置为混杂模式。通过在网络中放置一块入侵检测模块,我们可以监视受保护机器的数据报文。在受保护的机器将要受到攻击之前,入侵检测模块可最先发现它。
实际应用中网络结构千差万别,用户只有根据具体情况分别设计实施方案,才能让网络入侵检测模块检测到需要保护机器的状况。同时,网络入侵检测模块得到的只是网络报文,获得的信息没有主机入侵检测模块全面,所检测的结果也没有主机入侵检测模块准确。网络入侵检测模块方式的优点是方便,不增加受保护机器的负担。在网段中只要安装一台网络入侵检测模块即可。
另外一种获取信息的方式是主机入侵检测模块方式。它是在受保护的机器上安装了主机入侵检测模块,专门收集受保护机器上的信息。其信息来源可以是系统日志和特定应用程序日志,也可以是捕获特定的进程和系统调用等等。
采用主机入侵检测模块方式的缺点是依赖特定的系统平台。用户必须针对不同的操作系统开发相应的模块。由于一个网络中有多种不同的操作系统,很难保证每个操作系统都有对应的主机入侵检测模块,而一个主机入侵检测模块只能保护本机,所以在使用上有很大的局限性。此外,它要求在每个机器上安装,如果装机数量大时,对用户来说,是一笔很大的投入。不过,这种模式不受网络结构的限制,在使用中还能够利用操作系统的资源,以更精确地判断出入侵行为。
在具体应用中,以上2种获得信息的方式是互为补充的。
2.检测办法
当收集到证据后,用户如何判断它是否就是入侵呢?一般来说,IDS有一个知识库,知识库记录了特定的安全策略。IDS获得信息后,与知识库中的安全策略进行比较,进而发现违反规定的安全策略的行为。
定义知识库有很多种方式,最普遍的做法是检测报文中是否含有攻击特征。知识库给出何种报文是攻击的定义。这种方式的实现由简单到复杂分了几个层次,主要差别在于检测的准确性和效率上。简单的实现方法是把攻击特征和报文的数据进行了字符串比较,发现匹配即报警。这种做法使准确性和工作效率大为降低。为此,开发人员还有很多工作要做,如进行校验和检查,进行IP碎片重组或TCP重组,实现协议解码等等。
构建知识库的多种方法只是手段,目的是准确定义入侵行为,这是IDS的核心,也是IDS和普通的网上行为管理软件的差别所在。虽然它们都能监视网络行为,但是IDS增加了记录攻击特征的知识库,所以比网上行为管理软件提高了一个层次。而定义攻击特征是一项专业性很强的工作,需要具有丰富安全背景的专家从众多的攻击行为中提炼出通用的攻击特征,攻击特征的准确性直接决定了IDS检测的准确性。
二、框架与构建
IDS发展的时间还很短暂,目前并没有统一的结构模型,公共入侵检测框架(Common Intrusion Detection Framework,CIDF)是目前引用较多的结构模型,在这个模型中,IDS分为事件收集单元、事件分析单元、数据单元、响应单元和服务单元等多个单元。
IDS结构在具体产品中的体现没有模型框架那么细致。产品由多个模块组成,采用分布式结构布置。事件收集单元和事件分析单元做成一个模块,负责发现入侵行为。通常称其为探测器。网络入侵检测模块和主机入侵检测模块就是网络探测器和主机探测器。虽然它们在网络中所处的位置不同,但功能都是一样的。告警信息发给远端的控制台。控制台像Client/Server模式中的Server,接收各个探测器发过来的告警信息,并能远程控制各个探测器。数据库单元放在控制台,使用信息分析模块分析报告上来的告警信息。控制台和探测器之间的通讯使用加密认证机制,确保信息的安全性和防止欺骗性。这样在网络的不同地方布置上探测器,由控制台集中监控,达到轻松掌握整个网络安全状况的目的。
IDS和众多的安全产品共同协作,可以构成一个立体的安全体系。如果把整个网络比成一个大厦,服务器是大厦的房间,连接服务器的网络是大厦的通道和走廊。IDS就是大厦中的监控系统,探测器就是摄像头,装在大厦的各个位置,有的装在通道和走廊,是网络探测器,有的装在房间里,是主机探测器。目的都是为了发现罪犯。控制台是大厦保安部门的监视器,集中监控整个大厦的情况。而防火墙像大厦的大门,有保安判断检查进入者的身份,如果被别人混进去,防火墙将无能为力,监视进入者的行为就落到IDS上。
IDS是分布式产品,通常会在网络中心安装控制台,便于网络管理员管理(如附图所示)。在网络中的其他位置根据不同需求放置探测器: 在服务器上安装主机探测器,在要监视的重要网段放置网络探测器。如网络和互联网的接口处,服务器所在的网段等网络的重要位置。网络探测器是一台单独的机器,运行入侵检测软件,收集网段中的信息并发现入侵。有的产品已经把网络探测器做成硬件,提高了效率,且不用占用一台单独的机器。
三、选型技术分析
在国内的安全投资中,防火墙和防病毒产品占了投资的很大比例,毕竟这些是网络安全的第一道屏障。在实施完防火墙和防病毒产品之后,用户有了深入了解自己网络安全状况的需求,有了更安全地保障自己网络畅通运行的需求,IDS作为一个很好的智能入侵检测和安全管理产品,正成为用户进一步安全投资的首选。
事实上,根据不同用户多种个性化的需要,入侵检测产品有很多种分类,也就是说产品有多种表现形式。因为用户的需求有区别,为了适应用户不同层次的需求,产品在价格和结构上都会做相应的调整。那么,代表性的产品技术有哪些?又分别适用于什么样的用户?
一种类型的产品是探测器和控制台装在不同的机器上,控制台可以对探测器远程管理。这种产品比较适合探测器布置分散,跨楼层跨地区的大型网络或具有多个网络的企业用户,他们非常需要具备远程管理功能的众多探测器,以便全方位地掌握整个网络的安全情况。
不同IDS产品中的控制台对探测器的远程管理方式是有所不同的。其中有一类产品是使用自己开发的控制台软件,通过自己定义的传输协议,传输控制台和探测器之间的数据。目前,绝大多数IDS安全厂商提供的都是这类产品。还有一类产品是在探测器端安装Web服务器,并开发基于Web的管理界面,通过Web界面,控制和管理探测器。采用这种形式也能进行远程管理。像中科网威公司的IDS产品。
另一种类型的产品是探测器和控制台以软件形式安装在一台机器上,虽然操作简单,但不能进行远程管理。这类产品比较适合小型企业环境,这些企业的特征是需要保护的机器数量很少,用户的投资也相对少些。在这类产品中,有一种常见的应用表现是主机探测器和控制台一起以软件形式安装在服务器上,通过主机探测器的保护功能保护服务器不被非法者入侵。这样,主机探测器变成了单独的服务器防护软件。目前这种服务器防护软件已经能够做到具有主机防火墙功能,并能够对特定文件和进程进行保护,还能够针对易受攻击的特定服务(如Web服务)进行保护,非常适合对服务器安全性要求高的应用。像CA的eTrust和中联绿盟的HIDS等等均可实现这一功能。
值得注意的是,网络探测器的实现形式各有不同,有的网络探测器以软件形式出现,安装在特定的操作系统上,像安氏、赛门铁克和CA等厂商都提供这种软件产品。有的网络探测器和操作系统捆绑在一起,安装网络探测器的同时也安装了特定的操作系统,美国NFR公司提供这种软件产品。这种产品的优势是操作系统做了相应优化,有利于网络探测器的高效工作。还有的网络探测器做成专用的硬件装置,像防火墙一样,Cisco、Nokia和中联绿盟等提供这种产品。这种产品的优点是安装配置简便,工作效率高,软件产品的成本较低,价格也相对便宜; 缺点是为了保障IDS本身的安全性,作为载体的操作系统需要另做安全配置,一方面,它加大了工作量,另一方面由于安全配置水平的高低,制约了IDS本身的安全性。网络探测器和操作系统捆绑解决了这个问题。用户不用操心系统本身的安全性。硬件装置产品解决了软件产品暴露出的这些问题,运行的稳定性和工作效率也得到了保障,缺点是价格高。对用户来说,是在价格和性能之间的权衡,根据自身的业务重要程度做出选择。