fxxhjj 2008-6-4 10:00
入侵防御系统 (IPS) 基础知识及相关背景
入侵防御系统 (IPS)
引用:
英文原版文章来源: Wikipedia
本文由 Clemond 翻译
版本号: 20080602.02
本文允许在注明作者的前提下转载
前言
IPS 是一个计算机安全设备, 其作用为实时监控网络和 (或) 系统活动, 在恶意行为被发动时进行阻止. 例如: 基于网络的 IPS 将同步监控所有的网络传输, 以防备恶意代码或攻击. 当攻击行为被检测到时, 它将在确保正常网络传输的同时, 丢弃用来攻击的数据包. 入侵防护技术已被广泛认为是入侵检测技术的一项扩展. 术语 "入侵防御系统 (Intrusion Prevention System)" 由 NetworkICE 的技术作者和顾问 Andrew Plato 发明.
IPS 系统于 20 世纪 90 年代被发明. 较防火墙技术的一个显著的优势在于, IPS 能够基于应用程序的内容来进行访问控制, 而不像传统的防火墙那样以 IP 地址和端口号来判断. 以往, IPS 仅在书面上被解释为是入侵检测系统 (IDS) 的扩展. 随着时代的发展, 他们的关系逐渐被拉近了.
IPS 也可以在主机层面上工作, 以阻止恶意的行为. 较基于网络的 IPS (network-based IPS, NIPS) 而言, 基于主机的 IPS (host-based IPS, HIPS) 在某些方面具有优势, 也在某些方面存在不足. 我们将在文章的后面涉及这些问题.
一个 IPS 必须也是一个优秀的 IDS, 这样才能确保较低的误报频率. 某些 IPS 还能抵抗可能造成攻击的漏洞, 比较典型的例子是缓冲区溢出.
IPS, 应用程序防火墙, 统一威胁管理和访问控制
在网络中, IPS 所扮演的角色由于与访问控制和应用层防火墙有相似之处, 所以经常被人们混淆. 然而, 它们保障系统安全的机制是不同的.
IPS 的设计初衷是在本身完全不可见的情况下在网络上执行任务. IPS 产品通常不需在其所保护的网络中申请 IP 地址, 不过这并不影响它对不同方式的网络通讯进行响应 (通常的 IPS 响应包括丢弃数据包, 重设连接, 生成警告, 甚至隔离攻击者). 尽管某些 IPS 产品可以像防火墙那样定制网络规则, 但这并不是产品的核心组件 --- 纯粹是为了方便. 除此之外, IPS 技术可以对网络操作进行更深入的探测: 比如活动主机, 非法登录, 不适当的内容, 以及其它网络层和应用层的功能.
应用程序防火墙是一项不同的技术. 它利用代理的原理来执行针对网络层和应用层的访问控制. 某些应用程序层防火墙具备某些类似 IPS 的功能, 例如在网络传输中强制应用 RFC 协定. 某些应用程序层防火墙也整合了某些 IPS 的特性, 提供了实时的网络通讯分析及阻止的功能. 应用程序防火墙在它们的端口上拥有 IP 地址, 并且地址是可以直接被给予的. 除此之外, 它们完全使用了代理的特性来解码及重新编译数据包 --- 只有某些 IPS 才会按照这种机制处理. 与此同时, 应用程序防火墙更多的关注于防火墙功能本身, IPS 只是以附件的方式被添加进去. 尽管这两种技术有如此多的相似之处, 然而它们是不一样的, 而且是不可交换的.
统一威胁管理 (Unified Threat Management, UTM) 某些时候也被称作是 "下一代的防火墙". UTM 本身也是一个不同的产品体系. UTM 产品可以在一个平台上部署多项安全措施. 一个典型的 UTM 平台将提供防火墙, 虚拟个人网络 (VPN), 反病毒, 网络过滤, 入侵防护和垃圾邮件过滤的功能. 某些 UTM 甚至移植了某些 IPS 的特性 (例如 3Com 生产的 X 系列产品), 另一些则借鉴并整合了防火墙功能 (例如 Juniper 的 SSG 和 Cisco 的 ASA), 还有一些则继承了 UTM 的经典功能 (例如 Fortinet 和 Astero). 相较于 UTM (在一次部署的同时) 整合了多项安全特性. IPS 只是其中的一个组件.
访问控制也是一个完全不同的安全概念. 它主要涉及生成规则, 以方便特定的主机, 用户或程序访问网络中的某个特定的地方. 通常来讲, 访问控制帮助我们组织网段, 以及控制访问. 尽管 IPS 也可以实现上述功能, 不过那是发生在恶意代码被检测到的情况下. 同样的, IPS 不能替代访问控制设备. 尽管它具有某些控制能力, 我还是认为防火墙, 网络访问控制 (NAC) 最好能搭配起来, 一起实现这些功能.
与入侵检测系统的对比
IPS 系统较 IDS 系统而言有很多优势. 其中之一便是他们能与网络数据流同步工作, 并实时防护网络攻击. 除此之外, 大多数的 IPS 解决方案能够监控工作在第七层的协议 (例如 HTTP, FTP, SMTP). 然而, 当部署基于网络的 IPS (NIPS) 时, 我们需要考虑该网段是否被加密. 因为仅有少数的产品支持对该类传输的监测.
类型
1. 基于主机的
基于主机的 IPS (HIPS) 是一个驻留在单个 IP 地址上 (通常是一台计算机上) 的入侵防护程序. HIPS 是传统的和带有启发式技术的反病毒软件的一个不明显的继承 --- 尽管它不需要经常更新以应付新的恶意软件. 由于恶意代码通常的做法是修改系统或者修改系统中驻留的其它软件, 一个全面的 HIPS 系统通常会注意到这些修改行为, 并提示用户是否允许, 或者按照预设的规则阻止或放行这些行为.
如果 HIPS 搭配了 rootkit 防护技术, 它们将架设一道恶意软件不可逾越的屏障 --- 这不像传统的启发技术, 可以通过重复的修改恶意代码并且利用测试的手段来绕过.
大量消耗系统资源是全能型 HIPS 系统的主要缺陷, 一个整合了防火墙, 系统行为控制, 沙盒的防御系统, 再加上传统的反病毒产品. 这套庞大的系统尽管可以保障你在公共场所的系统安全, 不过它同时会加速消耗你的电池, 以及降低你系统的运行效率.
2. 基于网络的
基于网络的 IPS 是一个程序或硬件, 其作用是保护某个特定主机以避免其受到其它不同 IP 的主机的攻击 (这也可以用于某个前端的防火墙)
网络入侵防御系统 (NIPS) 是基于分析, 检测, 报告安全相关信息为目的而架设的软/硬件平台. NIPS 被设计来监测网络通信. 并基于它们的预设或安全策略, 来阻止有害的网络通信.
2.1 基于内容的
基于内容的 IPS (CBIPS) 检测网络数据包的内容并留意是否有符合条件的序列 (这个 "序列" 也被称作 "特征码"), 以检测已知类型的攻击, 比如蠕虫攻击或黑客行为.
2.2 协议分析
协议分析是 IDS/IPS 技术的一个里程碑. 协议分析器自身可以解析应用层的网络协议, 例如 HTTP 或 FTP. 当协议被完全解析时, IPS 引擎对其进行分段分析, 以排查异常行为或数据. 例如, 在 HTTP 请求的 User-Agent 串中存在大容量的二进制文是一种很不寻常的现象, 并且非常有可能是入侵行为. 协议分析器能够检测到这种异常行为, IPS 系统将丢弃这个带有攻击企图的数据包.
并不是所有的 IPS/IDS 引擎都带有完整的协议分析器. 某些系统仅依靠简单的特征识别机制来鉴别已知的攻击行为. 尽管在大多数情况下这样做已经足够了, 但不可否认的是这将会造成漏洞. 对于某些漏洞的攻击手段可能成百上千 --- 因此基于这种机制的 IPS/IDS 是可以被绕过的. 例如, 某些特征识别引擎针对一个漏洞就设置了几百种特征码. 因为针对一个漏洞的攻击方式可能有很多. 而基于协议分析的系统在这种情况下也许仅需要一条特征码就足够了.
2.3 基于等级的
基于等级的 IPS (RBIPS) 主要被用来抵御 (分布式) 拒绝服务攻击 (DoS / DDoS). 它们分析并监控日常的网络行为. 尽管在通常来看它们仅会实时的将网络通信与其内部预先存储的特征进行比较, RBIPS 也能评估异常的网络行为, 例如综合分析协议类型 (TCP, UDP 或 ARP 数据包), 连接速度, 每连接的数据包数量, 数据包流向的端口等等. 当阈值被满足时, IPS 就会认为受到攻击. 阈值可能会随着时间被动态调整. 而调整的标准则是基于具体情况, 或者内部预先被存储的历史数据.
反常但合法的网络传输也许会引起误报. 这将会由 RBIPS 规则的细度以及其阈值的质量而异.
当攻击被侦测到时, 一系列的防御机制将被启动. 例如通信类型限制, 端口 / 协议过滤, 黑白名单等.
HIPS 较 NIPS 的优势与缺陷
1. HIPS 能同等的处理加密的和非加密的网络通信, 因为它能在目标数据在主机上被解密后分析其内容.
2. NIPS 无需消耗主机的处理器和内存, 因为其自身具备处理器和内存.
3. 只要一个地方出错, NIPS 就会报废. 这也被认为是它的一个缺点; 然而, 这个特性使其更容易被管理. 不过, 这一缺陷也可以通过部署旁路而被克服. 例如 Net Optics 生产的旁路交换机就能减轻这个问题. 多段旁路交换机也成为了 IPS 制造商部署高密度解决方案的常用方法. 这也让 NIPS 系统能在某个设备被替换下线维护时进行移动.
4. NIPS 能检测网络上的分散目标 (例如, 针对不同主机的低层事件, 比如主机扫描和蠕虫病毒) 并作出反应, 而不像 HIPS 那样, 仅依靠主机上的数据本身来进行判断 --- 因此它可能在向中心部门报告前花去了太多的时间, 并且这段时间也会对其响应入侵造成影响.
附: 中文 Wiki 上的补充材料
网络安全
随着计算机的广泛应用和网络的不断普及,来自网络内部和外部的危险和犯罪也日益增多。20年前,计算机病毒(电脑病毒)主要通过软盘传播。后来,用户打开带有病毒的电子信函附件,就可以触发附件所带的病毒。以前,病毒的扩散比较慢,防毒软件的开发商有足够的时间从容研究病毒,开发防病毒、杀病毒软件。而今天,不仅病毒数量剧增,质量提高,而且通过网络快速传播,在短短的几小时内就能传遍全世界。有的病毒还会在传播过程中改变形态,使防毒软件失效。
目前流行的攻击程序和有害代码如 DoS (Denial of Service),DDoS (Distributed DoS),暴力猜解(Brut-Force-Attack),端口扫描(Portscan),嗅探,病毒,蠕虫,垃圾邮件,木马等等。此外还有利用软件的漏洞和缺陷钻空子、干坏事,让人防不胜防。
网络入侵方式越来越多,有的充分利用防火墙放行许可,有的则使防毒软件失效。比如,在病毒刚进入网络的时候,还没有一个厂家迅速开发出相应的辨认和扑灭程序,于是这种全新的病毒就很快大肆扩散、肆虐于网络、危害单机或网络资源,这就是所谓Zero Day Attack。
防火墙可以根据英特网地址(IP-Addresses)或服务端口(Ports)过滤数据包。但是,它对于利用合法网址和端口而从事的破坏活动则无能为力。因为,防火墙极少深入数据包检查内容。
每种攻击代码都具有只属于它自己的特征 (signature), 病毒之间通过各自不同的特征互相区别,同时也与正常的应用程序代码相区别。除病毒软件就是通过储存所有已知的病毒特征来辨认病毒的。
在ISO/OSI网络层次模型(见OSI模型)中,防火墙主要在第二到第四层起作用,它的作用在第四到第七层一般很微弱。而除病毒软件主要在第五到第七层起作用。为了弥补防火墙和除病毒软件二者在第四到第五层之间留下的空档,几年前,工业界已经有入侵侦查系统(IDS: Intrusion Detection System)投入使用。入侵侦查系统在发现异常情况后及时向网络安全管理人员或防火墙系统发出警报。可惜这时灾害往往已经形成。虽然,亡羊补牢,尤未为晚,但是,防卫机制最好应该是在危害形成之前先期起作用。随后应运而生的入侵反应系统(IRS: Intrusion Response Systems) 作为对入侵侦查系统的补充能够在发现入侵时,迅速作出反应,并自动采取阻止措施。而入侵预防系统则作为二者的进一步发展,汲取了二者的长处。
入侵预防系统也像入侵侦查系统一样,专门深入网络数据内部,查找它所认识的攻击代码特征,过滤有害数据流,丢弃有害数据包,并进行记载,以便事后分析。除此之外,更重要的是,大多数入侵预防系统同时结合考虑应用程序或网络传输重的异常情况,来辅助识别入侵和攻击。比如,用户或用户程序违反安全条例、数据包在不应该出现的时段出现、操作系统或应用程序弱点的空子正在被利用等等现象。入侵预防系统虽然也考虑已知病毒特征,但是它并不仅仅依赖于已知病毒特征。
应用入侵预防系统的目的在于及时识别攻击程序或有害代码及其克隆和变种,采取预防措施,先期阻止入侵,防患于未然。或者至少使其危害性充分降低。入侵预防系统一般作为防火墙 和防病毒软件的补充来投入使用。在必要时,它还可以为追究攻击者的刑事责任而提供法律上有效的证据 (forensic)。
入侵预防技术
1. 异常侦查。正如入侵侦查系统, 入侵预防系统知道正常数据以及数据之间关系的通常的样子,可以对照识别异常。
2. 在遇到动态代码(ActiveX, JavaApplet,各种指令语言script languages等等)时,先把它们放在沙盘内,观察其行为动向,如果发现有可疑情况,则停止传输,禁止执行。
3. 有些入侵预防系统结合协议异常、传输异常和特征侦查,对通过网关或防火墙进入网络内部的有害代码实行有效阻止。
4. 内核基础上的防护机制。用户程序通过系统指令享用资源 (如存储区、输入输出设备、中央处理器等)。入侵预防系统可以截获有害的系统请求。
5. 对Library、Registry、重要文件和重要的文件夹进行防守和保护