0 绪言
随着互联网的日益开放与高速发展,伴随着来自网络的攻击行为也愈来愈严重,网络安全问题成为一个亟待解决的难题。以往都采用静态的安全防御体系,如防火墙、身份认证及数据加密技术等等,这些技术能解决一部分安全问题,但由于这些技术自身的缺陷,不能完全解决当前网络安全问题。先进的入侵检测技术应运而生。它首先通过对入侵行为的检测,收集并分析信息,从而发现是否有违反安全策略的行为。在下一代IPv6协议环境下,着手建立实时、高效的网络入侵检测系统有着重要的实际价值。
1 网络安全问题与对策
1.1 网络安全面临的威胁
目前,网络应用得到了普及,但是网络中的网络安全问题逐步显现,会经常干扰网络的正常使用。目前来自网络中的威胁主要有系统本身的脆弱性和外来的攻击。
网络系统自身脆弱性的威胁包含两个方面:信息系统处理环境上的不安全因素和系统自身存在可入侵性。网络来自外界的威胁有:特洛伊木马攻击、端口扫描攻击、拒绝服务攻击、缓冲区溢出攻击、WEB攻击、非授权服务攻击、网络监听攻击、利用系统漏洞进行攻击等等。
1.2 网络安全技术
网络安全问题受到人们的密切关注,所采用的安全措施也很多。常见的安全措施有:
存取控制技术、防火墙技术、加密技术、病毒防治技术、入侵检测技术等。
1.3 网络安全模型
网络安全模型(PPDR)是商业策略模型PDR在网络安全模型上的运用。PPDR是策略(Policv)、防护(Protection)、检测(Detection)、响应(Response)四个英文单词的首字母缩写。它是一个螺旋上升的过程,经过一个循环以后它的防护水平会得到全面的提高。它们之间的关系如图1所示。
PPDR模型中,策略是PPDR模型的核心组成部分,是网络安全需达到的目标,同时也是各种措施的集合。
防护是网络安全的首步。它包括安全规范的制定、安全配置和安伞措施。检测是主动防御行为。响应指在检测到攻击之后,及时地做出反应,使系统恢复正常运行状态。
目前较科学的防御体系是在遵循PPDR模型的信息网络安全体系的前提下,采用主动防御与被动防御相结合的方式。
2 基于IPv6的入侵检测系统NIDS框架设计
2.1 系统功能设计
基于IPv6协议的网络入侵检测系统要对网络流量进行实时跟踪和分析,实时地检测并分析用户在系统中的活动状态,统计网络流量,拒绝服务攻击等异常用户行为,同时还要能对已知攻击特征进行正确识别,减少误报和漏报,影响整体性能,并及时向控制台报警,为有效防御提供依据,并根据定制的条件过滤掉相同的报警事件,减轻传输与响应的压力。此外还要能提供入侵检测规则的升级处理,实时更新入侵检测特征库,提高入侵检测系统的入侵检测能力,同时要制定实时响应策略,根据用户的规则定义,经过系统自动过滤,对警报事件及时响应。检测系统还要能对未发现的系统漏洞特征进行预报警处理。一个高性能的入侵检测系统除了具备以上功能外,具备较高的可管理性和自身安全性也非常重要。2.2 入侵检测系统框架设计
入侵检测系统一般会放在重要的网段内,实时地监视网段中的各种数据包,对每个数据包都会进行特征分析。若数据包与入侵检测系统的规则一致,入侵检测系统就会发出警报,通知管理员做相应的处理。入侵检测系统NIDS整体框架流程图如图2所示。
在图2中我们可以看到,首先是网络设备数据包捕获模块通过一定的规则从网络上获取相关的数据包,这些数据包会按照顺序存放在数据包队列中。在传输的过程中会对原始数据包进行重新分组。数据包经过以上的一些预处理后再结合入侵检测系统已设置的规则库进行内容分析处理。最终把分析的结果传递给控制台事件分析模块,同时还会激发自动响应模块做出对应的相关响应处理。
2.3 入侵检测系统流程图
入侵检测系统由数据采集、数据分析和结果输出三部分组成。其总体运行流程图如图3所示。
2.4 部署分布式NIDS
在整个网络中部署入侵检测系统,要在需要检测的主机上配置入侵检测系统检测器。检测器可以放于防火墙之外,也可以放在防火墙之内。
怎么放置检测卡,要看我们的侧重点在哪里。如果放在防火墙之外,可以清楚掌握站点和防火墙的非法攻击;放在防火墙之内,可以通过设置良好的防火墙,使得检测器不用将大部分的注意力分散在这类攻击上。当放在防火墙内部会比外部脆弱一些。
如果有需要,我们可以将检测器同时放置在防火墙的内部和外部。
3 基于IPv6的NIDS模块设计与实现
基于IPv6的入侵检测系统从逻辑上可分为数据采集、数据分析和结果输出三部分,符合CIDF的规范。系统由数据包捕获模块、协议解析模块、规则处理模块、分析检测模块、存储模块和响应模块六个模块组成,体系结构框架如图4所示。
(1)数据包捕获模块。数据包捕获是入侵检测的基础,数据捕获的准确性、可靠性和效率决定了整个入侵检测系统的性能。它的主要功能就是从以太网上捕获数据包。我们的设计是采用在Linux操作系统中使用系统底层调用来实现数据包的捕获。我们为了提高数据包的捕获性能,系统中采用的是在Linux下非常流行的BPF捕获机制。它的优点是不需要再用底层的调用来编写代码,封装了底层调用并作了优化处理。
(2)协议解析模块。协议解析模块是入侵检测系统的基础,它对捕获到的数据包进行详细的协议分析,检测出每个数据包的类型和特征。此模块的设计功能是否齐全和合理,会直接影响到入侵检测系统的性能。
(3)规则处理模块。规则库是一个入侵检测系统的知识库,它的成功与否会直接决定入侵检测系统的综合性能,当入侵检测库越丰富的时候,系统能检测到的入侵行为就会越多,系统才会更安全。
(4)分析检测模块。分析检测模块完成的是一个匹配性工作。协议解析模块对捕获的数据包进行分析,规则处理模块建立了入侵规则库,而入侵检测模块需要做的就是完成对这两部分的匹配工作。当匹配成功,就说明有入侵行为发生。此外,该模块除了使用入侵规则库来检测入侵之外,还有异常检测功能,比方说对扫描入侵行为的检测就使用了异常检测技术。我们采用的是基于协议分析匹配技术。
(5)存储模块。存储模块的主要功能是存储网络相关信息,健全日志,以方便事后分析和处理。例如分析IP协议的分布情况,分析某个IP的活动情况,等等。我们采用的是使用MySQL数据库存储的。
(6)响应模块。当入侵检测系统检测到入侵时,会通过响应模块来处理相关的事务。响应模块可以采取各种措施对检测引擎检测到的入侵行为进行相应的响应,常见的有传送消息给防火墙、截断外部入侵行为等,也可以只向网络管理员进行报警,由网络管理员根据入侵情况再决定采取相应的防御措施。
4 结论
目前采用的网络安全防御体系由于自身存在着缺陷和不足,使得网络安全问题一直困扰着我们的工作。网络入侵检测技术通过改变以往的被动防御方式,能够主动地跟踪入侵行为,并及时做出相应的响应。使得网络入侵检测系统成为了防火墙之后最有力的安全防线。正是这些优点使得网络入侵检测系统成为了当前网络安全方面研究的热点。同时随着IPv6的应用和普及,原有的网络将面临全新的挑战,当然也包括对网络安全体系的挑战。本文提出的就是在IPv6协议下构建全新的网络入侵检测防御体系。