IDS技术的使用

  • A+
所属分类:安全文章

IDS技术的使用

IDS技术简介

当越来越多的公司将其核心业务向互联网转移的时候,网络安全作为一个无法回避的问题摆在人们面前。公司一般采用防火墙作为安全的第一道防线。而随着攻击者技能的日趋成熟,攻击工具与手法的日趋复杂多样,单纯的防火墙策略已经无法满足对安全高度敏感的部门的需要,网络的防卫必须采用一种纵深的、多样的手段。与此同时,目前的网络环境也变得越来越复杂,各式各样的复杂的设备,需要不断升级、补漏的系统使得网络管理员的工作不断加重,不经意的疏忽便有可能造成重大的安全隐患。在这种情况下,入侵检测系统IDS(Intrusion Detection System)就成了构建网络安全体系中不可或缺的组成部分。


前面讨论的只是在用户级上如何加强防范,并还击入侵者的方法。



什么是IDS

入侵检测(Intrusion Detection),顾名思义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便构成了入侵检测系统(Intrusion Detection  System,简称IDS)。

入侵检测是防火墙的合理补充,一方面它帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),另一方面它提高了信息安全基础结构的完整性。它通过收集信息、分析信息的模式来发现异常现象和攻击行为。可以说入侵检测作为防火墙之后的第二道安全闸门,在不影响网络性能的情况下实现了对网络进行监测,提供对内部攻击、外部攻击和误操作的实时保护的功能。

1.入侵检测的原理

入侵检测可分为实时入侵检测和事后入侵检测两种。

实时入侵检测在网络连接过程中进行,系统根据用户的历史行为模型、存储在计算机中的专家知识以及神经网络模型对用户当前的操作进行判断,一旦发现入侵迹象立即断开入侵者与主机的连接,并收集证据和实施数据恢复。这个检测过程是不断循环进行的。而事后入侵检测则是由具有网络安全专业知识的网络管理人员来进行的,他们根据计算机系统对用户操作所做的历史审计记录判断用户是否具有入侵行为,如果有就断开连接,并记录入侵证据和进行数据恢复。事后入侵检测是管理员定期或不定期进行的,不具有实时性,因此防御入侵的能力不如实时入侵检测系统。

2. 与入侵检测有关的协议与模型

(1)入侵检测的通信协议

IDS系统组件之间需要通信,不同的厂商的IDS系统之间也需要通信。因此,定义统一的协议,使各部分能够根据协议所制订的标准进行沟通是很有必要的。IETF 目前有一个专门的小组 IDWG(IntrusionDetection Working Group)负责定义这种通信格式,称作Intrusion Detection Exchange Format。目前只有相关的草案,并未形成正式的RFC文档。尽管如此,草案为IDS各部分之间甚至不同IDS系统之间的通信提供层协议,其设计多其他功能(如可从任意端发起连接,结合了加密、身份验证等)。

(2)CIDF(Common Intrusion Detection Framework)模型

(CIDF)(http://www.gidos.org/)阐述了一个入侵检测系统(I DS)的通用模型。它将一个入侵检测系统分为以下组件:

事件产生器(Event generators)

事件分析器(Event analyzers)

响应单元(Response units )

事件数据库(Event databases )

CIDF将IDS需要分析的数据统称为事件(event),它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。

3. 入侵检测的分类

(1)按入侵检测的手段、IDS的入侵检测模型可分为基于网络和基于主机两种。

  1)基于主机模型:

也称基于系统的模型,它是通过分析系统的审计数据来发现可疑的活动,如内存和文件的变化等。其输入数据主要来源于系统的审计日志,一般只能检测该主机上发生的入侵

这种模型有以下优点:

一是性能价格比高:在主机数量较少的情况下,这种方法的性能价格比可能更高。

二是更加细致:这种方法可以很容易地监测一些活动,如对敏感文件、目录、程序或端口的存取,而这些活动很难在基于协议的线索中发现。

三是视野集中:一旦入侵者得到了一个主机用户名和口令,基于主机的代理是最有可能区分正常的活动和非法的活动的。

四是易于用户剪裁:每一个主机有其自己的代理,当然用户剪裁更方便了。

五是较少的主机:基于主机的方法有时不需要增加专门的硬件平台。

六是对网络流量不敏感:用代理的方式一般不会因为网络流量的增加而丢掉对网络行为的监视。

2)基于网络的模型:

即通过连接在网络上的站点捕获网上的包,并分析其是否具有已知的攻击模式,以此来判别是否为入侵者。当该模型发现某些可疑的现象时也一样会产生告警,并会向一个中心管理站点发出“告警”信号。

基于网络的检测有以下优点:

一是侦测速度快:基于网络的监测器通常能在微秒或秒级发现问题。而大多数基于主机的产品则要依靠对最近几分钟内审计记录的 分析。

二是隐蔽性好:一个网络上的监测器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。由于不是主机,因此一个基于网络的监视器不用去响应ping,不允许别人存取其本地存储器,不能让别人运行程序,而且不让多个用户使用它。

三是视野更宽:基于网络的方法甚至可以作用在网络的边缘上,即攻击者还没能接入网络时就被制止。

四是较少的监测器:由于使用一个监测器就可以保护一个共享的网段,所以你不需要很多的监测器。相反地,如果基于主机,则在每个主机上都需要一个代理,这样的话,花费昂贵,而且难于管理。但是,如果在一个交换环境下,每个主机就得配一个监测器,因为每个主机都在自己的网段上。

五是占资源少:在被保护的设备上不用占用任何资源。

这两种模型具有互补性,基于网络的模型能够客观地反映网络活动,特别是能够监视到主机系统审计的盲区;而基于主机的模型能够更加精确地监视主机中的各种活动。基于网络的模型受交换网的限制,只能监控同一监控点的主机,而基于主机模型装有IDS的监控主机可以对同一监控点内的所有主机进行监控。

(2)按入侵检测的技术基础可分为两类:一种基于标志的入侵检测(signature-based),另一种是基于异常情况的入侵检测(anomaly-based)。

对于基于标识的检测技术来说,首先要定义违背安全策略的事件的特征,如网络数据包的某些头信息。检测主要判别这类特征是否在所收集到的数据中出现,这有些类似杀毒软件的工作原理。

而基于异常的检测技术则是先定义一组系统“正常”情况的数值,如CPU利用率、内存利用率、文件校验和等(这类数据可以人为定义,也可以通过观察系统、并用统计的办法得出),然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。这种检测方式的核心在于如何精确定义所谓的“正常”情况。

往往两种检测方法所得出的结论会有非常大的差异。基于异常的检测技术的核心是维护一个知识库。对于已知的攻击,它可以详细、准确的报告出攻击类型,但是对未知攻击却效果有限,而且知识库必须不断更新。基于异常的检测技术则无法准确判别出攻击的手法,但它可以(至少在理论上可以)判别更广范、甚至未发觉的攻击。如果条件允许,两者结合的检测会达到更好的效果。

(3) 按输入入侵检测系统的数据的来源来分,可以分为三类:

1) 基于主机的入侵检测系统:其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵;

2) 基于网络的入侵检测系统:其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵;


3) 采用上述两种数据来源的分布式入侵检测系统:它能够同时分析来源于系统的审计日志和来源于网络的信息流,这种系统一般由多个部件组成。


(4)按入侵检测所采用的技术方法又可将其细分为下面四种方法:

一是基于用户行为概率统计模型的入侵检测方法:

这种入侵检测方法是在对用户历史行为建模或在早期的证据或模型的基础上,实时检测用户对系统的使用情况,根据系统内部保存的用户行为概率统计模型进行检测,当发现有可疑的用户行为发生时,立即保持跟踪并监测、记录该用户的行为。系统要根据每个用户以前的历史行为,生成每个用户的历史行为记录库,当用户改变他们的行为习惯时,这种异常就会被检测出来。

二是基于神经网络的入侵检测方法:

这种方法是利用神经网络技术来进行入侵检测。这种方法对用户行为具有学习和自适应功能,能够根据实际检测到的信息有效地加以处理并做出是否有入侵行为的判断。但该方法还不成熟,目前还没有出现较为完善的产品。


三是基于专家系统的入侵检测技术:

该技术根据安全专家对可疑行为的分析经验来形成一套推理规则,然后在此基础上建立相应的专家系统,由此专家系统自动进行对所涉及的入侵行为进行分析。该系统可以随着经验的积累而不断自我学习,并进行规则的扩充和修正。

四是基于模型推理的入侵检测技术:

该技术根据入侵者在进行入侵时所执行的某些行为程序的特征,建立一种入侵行为模型,根据这种行为模型所代表的入侵行为特征来判断用户执行的操作是否是属于入侵行为。当然这种方法也是建立在对当前已知的入侵行为程序的基础之上的,对未知的入侵方法所执行的行为程序的模型识别需要进一步的学习和扩展。

以上几种方法每一种都不能保证能准确地检测出变化多端的入侵行为。因此在网络安全防护中要充分衡量各种方法的利弊,综合运用这些方法才能有效地检测出入侵者的非法行为。

4. 入侵检测的技术途径

(1)入侵检测的第一步:信息收集

收集的内容包括系统、网络、数据及用户活动的状态和行为。收集信息需要在计算机网络系统中不同的关键点来进行,这样一方面可以尽可能扩大检测范围,另一方面从几个信源来的信息的不一致性是可疑行为或入侵的最好标识,因为有时候从一个信源来的信息有可能看不出疑点。

入侵检测利用的信息一般来自以下四个方面:

1)系统日志

黑客经常在系统日志中留下他们的踪迹,因此,充分利用系统日志是检测入侵的必要条件。日志文件中记录了各种行为类型,每种类型又包含不同的信息,很显然地,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等等。


2)目录以及文件中的异常改变

网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。

3)程序执行中的异常行为

网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。黑客可能会将程序或服务的运行分解,从而导致运行失败,或者是以非用户或非管理员意图的方式操作。

4)物理形式的入侵信息
 
这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。

(2)入侵检测的第二步:数据分析

一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。

1)模式匹配

模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测以前从未出现过的黑客攻击手段。

2)统计分析

统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值如果超过了正常值范围,就认为有入侵发生。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,这在前面入侵检测的分类中已经提到。下面只对统计分析的模型做以介绍。

入侵检测5种统计模型为:

操作模型:该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内多次失败的登录很有可能是尝试口令攻击;

方差:计算参数的方差并设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常;

多元模型:即操作模型的扩展,它通过同时分析多个参数实现检测;

马尔柯夫过程模型:即将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,如果在状态矩阵中该转移的概率较小则该可能是异常事件;

时间序列分析:即将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。

统计方法的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力有时也会给入侵者以机会,因为入侵者可以通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。

3)完整性分析


完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被修改成类似特洛伊木马的应用程序方面特别有效。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是有入侵行为导致了文件或其他对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。


IDS的用途

从宏观上讲,入侵检测功能具有以下功能:

监督并分析用户和系统的活动、检查系统配置和漏洞、检查关键系统和数据文件的完整性、识别代表已知攻击的活动模式、对反常行为模式的统计分析、对操作系统的校验管理,判断是否有破坏安全的用户活动等。

入侵检测系评估统和漏洞工具的优点在于:

提高了信息安全体系其他部分的完整性、提高了系统的监察能力;能够跟踪用户从进入到退出的所有活动;能够识别并报告数据文件的改动、系统配置的错误,并在必要时予以更正;能够识别特定类型的攻击,并向相应人员报警,以做出防御反应;系统管理人员可以不断升级入侵检测系统以提供最有效的安全保障、允许非专家人员从事系统安全工作,为信息安全策略的创建提供指导。

具体来说, 入侵检测系统的主要功能有:

(1)监测并分析用户和系统的活动;

(2)核查系统配置和漏洞;

(3)评估系统关键资源和数据文件的完整性;

(4)识别已知的攻击行为;

(5)统计分析异常行为;

(6)操作系统日志管理,并识别违反安全策略的用户活动。

注意!

但我们必须认识到目前的IDS产品并不是无所不能的,它们无法弥补力量薄弱的识别和确认机制:在无人干预的情况下,无法执行对攻击的检查;无法精确体现公司安全策略的内容;不能弥补网络协议的漏洞;不能解决系统所提供信息不完整所带来的问题;不能分析网络繁忙时的所有事务;不能完全地解决对数据包级的攻击;也不能很快地适应不断更新的网络硬件及软件。


入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,能够在网络系统受到危害之前拦截和响应入侵。从网络安全立体纵深、多层次防御的角度出发,入侵检测理已经受到人们的高度重视,这从国外入侵检测产品市场的蓬勃发展就可以看出。在国内,随着上网的关键部门、关键实验样品(缺乏升级和服务)阶段,或者是仅仅由防火墙中集成较为初级的入侵检测模块。可见入侵检测产品仍具有较大的发展空间,从技术途径来讲,我们认为,除了完善常规的、传统的技术(模式识别和完整性检测)外,应重点加强统计分析的相关技术研究。



本文始发于微信公众号(LemonSec):IDS技术的使用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: