《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 一种基于网络处理器的入侵检测防御系统的设计与实现

一种基于网络处理器的入侵检测防御系统的设计与实现

2008-03-31
作者:贾晓剑,余 荣,梅顺良

  摘 要: 入侵检测" title="入侵检测">入侵检测防御(IDP)系统是一种新兴的代表未来发展方向的维护网络安全的重要工具。首先提出一种由IDP系统构建的网络安全体系结构,进而重点讨论如何采用网络处理器" title="网络处理器">网络处理器(NP)实现轻量级IDP系统。研究结果表明,基于IDP构架的网络安全系统" title="安全系统">安全系统更具安全性,由NP实现的轻量级IDP系统可满足中小企业用户对网络安全的需求。
  关键词: 网络处理器 入侵检测防御系统 多线程并行编程 嵌入式实时操作系统

  随着网络应用的普及,政府、银行、大中小型企业等机构都已经逐步建立了内部网络资源,这些电子商务、电子政务和企业网络中的商业秘密,就是攻击者的目标。各种安全产品也相继出现,如网络防毒、防火墙、入侵检测系统" title="入侵检测系统">入侵检测系统、漏洞扫描系统、身份认证和加密系统等。它们对防止系统被非法入侵都具有一定的效果,但是还不能完全防止对于应用层的攻击以及完全、及时地阻止入侵。所以对网络系统提供良好的保障具有很强的现实性和紧迫性。
1 现有网络安全技术——IDS技术简介
  当前比较先进和流行的网络安全技术已经进入了防火墙与其他安全机能产品,特别是入侵检测系统IDS(Intrusion Detection System)[1~3]的智能化协防阶段。入侵检测是指对计算机网络上企图入侵、正在进行的入侵或已经发生的入侵活动进行识别和响应。从数据来源看,可以将入侵检测系统分为基于主机的入侵检测系统(HIDS)和基于网络的入侵检测系统(NIDS)。图1所示是一种典型的网络型入侵检测系统[4]
  图1所示的网络型IDS系统是在基于防火墙的基础上,利用网络型IDS对防火墙的漏洞进行弥补的一种网络安全系统。


  首先,防火墙作为一种获取安全性的方法,有着不可替代的作用。它可以确定允许提供的服务,对受保护的网络(即网点)的往返访问进行控制,防止易受攻击的协议的使用,对系统进行了集中的安全防范。
  其次,IDS用来对网络数据作深层次的检测。如图1所示,利用IDS探测器连接在集线器上,对一个网段进行监控,或者利用交换机端口拷贝的形式,对一个交换机的输出端口进行监控,然后汇报给IDS服务器。一个IDS通常保存着已知攻击特征库,而IDS的作用就是对网络流量中的数据包内容进行检测,寻找可能的攻击。当所监视的数据内容和特征库的内容匹配时,IDS便发出报警信息。有些IDS系统能与其他设备相配合,对入侵做出简单的响应。
  上述典型系统的缺陷在于:虽然IDS系统能够检测出深层次的入侵和攻击,但是其结构本身决定了它应对攻击的脆弱性。它没有能力直接防御入侵和攻击,它对攻击的反应,需要第二方的设备的联动,或者需要人为干预。当它发现入侵攻击的时候,往往攻击者早已经得手撤退。
2 IDP网络安全系统设计构想
  针对IDS系统防御能力弱的缺点,IDP(Intrusion De-tection & Protection)系统的概念很快被提出来[4]。IDP是指对计算机网络上企图入侵、正在进行的入侵或已经发生的入侵活动进行识别并且做出主动响应(阻止入侵活动或预先对攻击性的流量进行自动拦截)。IDP系统的概念虽然提出一段时间了,但是一直没有比较成型的方案。下面提出一种网关型的IDP系统方案,并用它构建网络安全系统。
2.1 P2DR模型
  P2DR是Policy(策略)、Protection(防护)、Detection(检测)和Response(响应)的缩写,P2DR安全模型是一个被广泛认同的计算机系统的安全理论系统。它的指导思想比传统静态安全方案有突破性提高,特点是其动态性和基于时间性[3]。其结构如图2所示。


  P2DR安全模型阐述了这样一个结论:安全的目标实际上就是尽可能地增大保护时间,尽量减少检测时间和相应时间。入侵检测技术就是实现P2DR安全模型中的“Detection”部分的主要技术手段。积极的防御功能是“Protection”模块的主要任务。在P2DR模型中,安全策略处于中心位置,安全策略是制定入侵检测规则的一个重要信息来源,也是防御部分根据安全策略实现具体防御动作的准则。
  从P2DR安全模型的角度看,IDS系统的缺点表现在虽然基本上实现了检测和响应两大模块,但是其响应时间很长,不能及时、完全地实现防御功能模块。只有能够及时、完全地实现响应与防御功能模块,才能完整地实现P2DR安全模型。下面提出的网关型IDP正是较完整地实现P2DR安全模型的解决方案。
2.2 基于网络处理器的网关型IDP设计
  本文提出的网关型IDP的设计是从IDS技术发展延伸而来的。设计的目标就是将其如同透明网关一样,可以放置在需要保护的网段前,也可以放置在一台特殊需要的服务器前。它对流过它的所有数据都进行检测,并且根据安全策略和具体的规则体,做出是否容许通过的具体决定以及相应的回复与防御机制。
  网关型IDP在设计上的难点在于需要对大量的数据作深层次的检测处理,并且对检测结果及时地做出反应。网络处理器NP(Network Processor)的出现为解决这一难题提供了很好的手段。
  网络处理器NP是一种为网络应用领域设计的专用指令处理器(ASIP)。它具备通用处理器(GPP)的编程灵活性,又拥有专用集成电路(ASIC)的高处理速度。目前NP是通过多个独立总线的微引擎" title="微引擎">微引擎以及Push-Pull引擎来实现内部大量数据的交换的。这样,内部的数据通道瓶颈就不复存在了。Intel公司IXP系列NP的级联设计可以很容易地提高数据流处理能力[6]
  基于NP的IDP系统采用嵌入式实时操作系统,软件系统设计基本延续IDS的CIDF模型[3](由以下组件组成:事件产生器,事件分析器,响应单元,事件数据库)的设计。在设计中应该考虑如下几个关键点:
  (1)在MAC层增加对数据的标记模式,以便在响应单元能够采取积极防御手段。
  (2)大型IDP应考虑网络时延和全局时钟。
  (3)保证设备本身的安全性。
  (4)预留控制台接口,以便报告日志信息,及时升级特征库和修改检测与防御策略。
2.3 用网关型IDP构建安全系统
  用网关型IDP构建的安全网络系统结构如图3所示。


  在图3中,路由器作为外网的入口,起着网络接口转换以及屏蔽广播包的作用。系统采用网关型IDP与防火墙协防的构架。
  网关型IDP放置在网络中需要检测数据的通道,其检测和防御规则根据安全策略预先设定,也可根据IDP控制台安全策略的决定而设置。IDP控制台和网关型IDP形成相对独立的局域网。IDP控制台作为管理窗口,也可以连接在内部网络中,其安全保证这里不做详述。
3 一个轻量级网关型IDP的设计
  对多家中小企业的网络使用情况进行了调查,其结果如下:
  (1)网络业务相对比较简单:收发邮件,浏览网页,https,telnet,ftp。
  (2)对外带宽一般不会超过10M,内部网络一般采用百兆以太网组网。
  (3)网络安全需求明显,但硬件成本投入较少,一般都有一个防火墙。
  (4)人力成本投入较少,一般只有一个网络管理员。
  根据调查结果,针对中小企业网络安全提出防火墙协同一个轻量级的网关型IDP的网络安全系统方案。
  防火墙采用只开放必要服务的策略(可以ping,收发邮件,浏览网页,ssh,https,telnet,ftp),其他的访问则全部丢弃,所有缺省的安全策略是拒绝所有(Deny All)的。轻量级的网关型IDP系统安装时可考虑只安装针对这些业务的规则体插件。
  下面介绍轻量级网关型IDP的设计方案。
3.1 硬件结构
  IXP1200是Intel公司生产的第一代网络处理器。芯片内部集成了7个RSIC处理器,包括1个StrongArm和6个可编程的微引擎(MicroEngine)。其中,StrongArm最高可工作在232 MHz的主频上,每个微引擎内部提供多个硬件线程,可用于任何要求高速信息包检查、数据处理以及数据传送的场合。IXP1200中使用的多线程是由硬件实现的,但是能够通过软件控制。由硬件实现多线程使得线程切换的零开销成为可能。
  以IXP1200为核心处理器提出的轻量级网关型IDP的硬件构架如图4所示。


  在图4中,A口和B口作为需要检测的以太网数据的入口和出口,对数据流的吞吐能力为100M;C口作为控制台通讯接口;串口专门用于调试。
  IX bus是Intel公司为网络处理器特殊设计的总线,能够在IXP1200和网络设备(如MACs和SARs)间传送数据块。每条IX Bus的数据容量约为5.12Gbit(64×80Mbit)。
  SDRAM的容量选为128MB(参考Snort2.0内存占用大约为78MB);SRAM的容量选为4MB。
3.2 软件结构
  操作系统采用pSOSystem嵌入式实时操作系统。使用嵌入式实时操作系统有以下优点:
  (1)对数据流处理的高效性,可以让NP多线程并行处理的优势得以发挥。
  (2)系统本身的安全性很高,几乎不会发生对嵌入式实时系统的攻击。
  本系统的处理流程图如图5所示。


  图5所示的处理流程基本上延续IDS的CIDF模型的机制处理数据。网络处理器接收到的以太网数据帧存储时,应在数据帧前增加标签。标签由两部分构成,端口号A或者B以及序列号,序列号以65535循环使用。包解码引擎需要处理此数据时,应对此数据采用拷贝的形式使用。此以太网数据经过预处理、检测后,虽然已经解析、重组为应用层数据流,但是此标签作为对原始以太网数据的辨认依然随数据流存在。利用此标签可以决定原始以太网数据帧是否通过以及应当转发的端口。检测出非法数据后,可以根据识别出的IP地址,依据安全策略做出相应回复。
3.3 资源分配
  IXP1200内部有6个微引擎,每个微引擎拥有4个硬件线程。其中1个微引擎共4个线程执行接收数据;1个微引擎共4个线程执行包解码;1个微引擎共4个线程执行包预处理和对有非法记录的IP的预拦截;2个微引擎共8个线程用来对规则体进行快速、便利的匹配检测;1个微引擎共4个线程执行数据发送。Strong Arm则负责规则体设定、异常记录和对异常数据的回复以及控制台的代理[6]
3.4 接收和存储策略
  采用如下的数据接收、存储和转发策略。
  接收策略:不管端口上是否出现有效数据,都让4个线程轮流去接收数据,若数据无效则丢弃。这样,一旦端口上出现有效数据,就会在第一时间被接收到。
存储策略:由于以太网帧的长度并不固定(最大为1500B),考虑到对存储速度的要求,采用固定分配存储单元的办法。无论整个数据帧多长,都存放在大小为2048B的存储器单元中[7]
3.5 检测引擎多线程协同工作
  检测引擎中的模式匹配算法是检测引擎工作的关键,利用IXP1200多线程协同工作完成快速遍历规则匹配是设计中的难点。多线程并发调度的设计要对调度要求、存储器响应时间、存储空间大小等多方面因素综合考虑。进一步的设计要考虑接收请求预测、内存延迟隐藏等优化技术的应用,以完成高效的应用开发。
3.6 系统规格、规则体以及Snort的移植
  系统采用滥用检测模型、Snort 2.0的规则体及其稳定高效的内核以及基本框架,并根据pSOS的架构更改相应的应用程序接口(API)以及语言格式。针对标签机制,在对Snort的包解码引擎以及快速规则匹配引擎移植时[5],这些标签需要保留。除了可以阻断恶意数据流外,IDP也可以作一些其他积极的防御机制,例如,当发现某些恶意数据包时,可以通过向攻击者和目标主机发送TCP复位包,以终止入侵会话[7]
3.7 控制台终端代理
  网关型IDP上的软件由主程序和控制台终端代理软件两部分组成。终端代理软件和控制台之间采用 SNMP 协议,终端代理软件将来自控制台的命令解析成相应的操作,并通过调用内部函数接口将操作传给IDP主程序来具体执行;同时,主程序产生的日志、告警消息以SNMP Trap的形式通知给控制台,控制台通过驻留在IDP上的终端代理软件来配置、升级规则体并获取检测和回复的信息。控制台的管理信息库MIB(Management Information Base)用于对所有IDP的记录和日志分类,呈现出网络运行细节。
  在完成基本检测和防御规则配置的前提下,控制台软件也是提供给网管人员的一个分析工具。网管人员作为安全防御中的一个重要因素,对一些未知情况,可以利用这个工具提供的数据、手段,并根据自己的知识,更为灵活地处理各种入侵动作。
  本文所提出的网关型IDP系统的设计和实现方法,即基于网络处理器的网关型IDP系统设计与实现,基本上实现了P2DR安全模型,一个轻量级的IDP的设计即可满足中小型企业网络对入侵检测防御的要求。
参考文献
1 S Axelsson.Research in Intrusion Detection Systems:A Survey[R].TR-98-17,Sweden:Chalmers Uni of Technology,1998
2 Julia Allen,Alan Christie,William Fithen et al.State of the practice of intrusion detection technologies[R].MU/SEI-99-TR-028 ESC-99-028,U.S.:Carnegie Mellon Uni,2000
3 唐正军,李建华.入侵检测技术[M].北京:清华大学出版社,2004
4 网络产品新概念.http://www.dataworld.com.cn
5 B Caswell,J Beale,J C Foster et al.Snort 2.0 Intrusion Detection.National Defence industrial Press,2003
6 Erik Johnson,Aaron Kunze.IXP1200 programming[M].U.S.:Intel,2002
7 宋献涛,纪 勇.网络维护:从IDS到IPS.计算机安全,2003;(11)

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。