IDS入侵检测

2024-06-10

IDS入侵检测(精选8篇)

IDS入侵检测 篇1

1、引言

在计算机网络获得广泛应用的背景下, 入侵检测系统IDS在网络安全中的具体应用逐渐成为工业界和学术界日益关注的重要课题, 许多与入侵检测相关的新技术、新算法和新系统也相继出现, 本文将对其做出一定的探索。

2、入侵检测与IDS内涵

入侵检测系统的功能是:监视网络系统的运行状态, 积极检测非法入侵者的攻击企图, 并且阻止其攻击行为, 避免产生攻击结果, 最终目的是保护网络系统资源的完整性以及安全性和可用性。

入侵检测系统 (IDS, Intrusion Detect System) 是借助于误用检测、异常检测以及两种技术相互结合进行的一些特殊计算机程序。

3、入侵检测系统的主要构成

一个入侵检测系统的主要构成至少包含三个重要部分:数据来源、入侵分析以及入侵响应。通过这三个必要的部分, 入侵检测系统进行正常的工作。首先数据探测器对网络中的数据进行检测, 并将相关数据存储到数据存储器当中;然后再由检测器根据参考数据信息来处理活跃数据, 如果检测器检测出非法入侵者的攻击行为, 警报器就会发出警报, 接着, 向安全管理员发出通知;在安全管理员接到通知后, 根据参考数据和配置数据向探测器发出通知, 从而保障网络安全。

4、几种常见的入侵检测方法

4.1 基于统计分析的IDS

在基于异常的检测系统中通常使用统计分析的入侵检测法。一般来说, 由异常检测器检测目标对象行为, 并由它来创建一个框架。此框架不占用太大的存储空间, 同时, 可以高效的有规律地更新。在不断更新统计数据的过程中, 基于统计分析的入侵检测系统就能够周期性地产生一个数据来表示它的异常度。

基于统计分析的入侵检测系统是一种比较易于实现的较成熟的入侵检测方法。基于统计分析的入侵检测系统能够主动学习用户的使用习惯, 发现与正常使用时有较大差别的活动, 并将之标识出来, 所以, 它的灵活性和实用性是非常强的。然而, 基于统计分析的入侵检测系统的学习能力也会给非法入侵者带来一定的入侵可能性。具体说, 基于统计分析的入侵检测系统能通过训练方式来保证它和入侵模式相适应, 借助于一次次训练来保证入侵事件与正常操作的统计规律相符合, 从而将入侵事件看作是正常事件。

4.2 基于神经网络的IDS

该入侵检测系统是通过连接众多简单处理单元所得到的信息处理能力特别强大的一种系统。该系统能够模拟人脑来进行信息的加工、存储和处理, 这种入侵检测方法是非常智能化的。

基于神经网络的入侵检测系统必须通过学习阶段和入侵分析阶段来实现入侵检测。在学习阶段, 基于神经网络的入侵检测系统根据用户的历史数据进行针对性训练, 从而构建并组装神经网络框架;系统将接收的网络数据与历史数据进行比对, 从而得到两种数据的异同之处。在现阶段, 目前, 入侵检测系统中广泛使用神经网络的诸多模型, 只需给系统以审计数据, 神经网络便可通过自主学习功能将其正常活动的特征模式提取出来, 并且可以借助于众多的入侵实例来进行训练, 了解系统各方面存在的联系, 最终能够对输入到基于神经网络的IDS的监测数据进行准确识别。

基于神经网络的IDS存在着其自身的优势, 主要包括:具有较强的学习和自适应能力;具备较强的概括和抽象能力, 能够有效处理不完整输入的信息;具备较强的内在并行计算和存储能力。基于神经网络的入侵检测系统存在着其自身的劣势, 主要就是不能够科学有效地应对大容量的入侵行为, 这就使神经网络在入侵检测系统的广泛应用受到一定程度的限制。

4.3 基于支持向量机的IDS

在二十世纪九十年代初, 随着入侵检测技术的不断发展, 基于支持向量机的入侵检测系统应运而生, 这是一种建立在统计学习理论基础之上的入侵检测系统, 对于结构风险最小化原则进行了较为全面的考虑, 能够避免传统学习方法中经验风险最小化的问题。基于支持向量机入侵检测系统的基本原理:系统通过核函数来表示某个非线性映射, 将输入空间中的某些样本点映射至一个高维的特征空间, 与此同时, 保证在该空间中线性可分, 从而形成一个接近于理想分类结果的最优超平面。

5、结语

综上所述, 本文探索了入侵检测系统IDS在网络安全中的具体应用。入侵检测系统作为一种能够维护网络安全的重要技术, 可以在保证网络性能不受到影响的前提下, 对于网络的运行情况进行准确的检测, 可以实现对于网络的实时保护。随着入侵检测系统的不断发展, 网络安全问题也会得到更好的解决。

参考文献

[1]鲜继清, 谭丹, 陈辉.局域网中个人防火墙与入侵检测系统联动技术研究[J].计算机应用研究, 2006, (05) .

[2]张兴东, 胡华平, 况晓辉, 陈辉忠.防火墙与入侵检测系统联动的研究与实现[J].计算机工程与科学, 2004, (04) .

[3]李安宁.防火墙与入侵检测系统联动的网络安全体系分析[J].电脑知识与技术, 2008, (34) .

[4]杨柳, 李祥和, 田根业.防火墙与入侵检测的联动及其改进[J].信息工程大学学报, 2007, (03) .

[5]杨琼, 杨建华, 王习平, 马斌.基于防火墙与入侵检测联动技术的系统设计[J].武汉理工大学学报, 2005, (07) .

[6]张治国, 秦国亮, 骆德全.基于Snort的入侵检测系统的研究[J].电脑知识与技术, 2008, (18) .

IDS入侵检测 篇2

环境决定部署

企业部署防火墙之后,是否还需要进一步提升安全防护能力呢?答案是肯定的。虽然,防火墙称得上是安全防护的防线,同时部署防火墙也是对依靠互联网扩展业务的企业的基本要求。但是,仅有一道防线的城池仍非固若金汤。

当前的应用系统发展与web更加紧密,从办公系统到交易系统,这种趋势日益明显。在这样的背景下,大多数传统的防火墙对于企业网络的安全,已经无法实施100%的控制,对于合法内容中混入的可疑流量、dos攻击、蠕虫病毒、间谍软件等威胁,几乎没有有效的反击措施。

据了解,在,仅拒绝服务(dos)攻击导致的平均损失就高达150万美元,同 年相比增长了五倍。

从全球的统计数字来看,垃圾邮件、邮件病毒、邮件攻击已经成为了当前企业网的主要威胁,同时其影响力还在不断扩大。特别是夹杂在“合法”邮件中的非法信息,令企业网络处于危险的潜在威胁之中。

例如将木马病毒隐藏在看似合法的smtp邮件中,并随时准备对企业关键信息发起攻击,已经成为近期的主流。因此,各大企业都在利用入侵检测与防护系统为网络建构多层防护体系,其中juniper idp、radware defensepro、mcafee intrushield都是国内应用较多的产品。

六项准则

入侵检测与防护系统能够保护企业免受重大安全威胁和经济损失,进而保护企业的生存。但企业在选择和部署网络安全解决方案时,也要考虑成本效益的因素,因此找出利弊的平衡点尤为重要。

为有效评估入侵检测与防护系统,可以将评估标准划分为六个方面。

1.全面保护

对于任何安全系统而言,入侵检测与防护系统提供的全面保护应该能够准确识别威胁并有效保证网络的安全。但是,许多产品在这方面先天不足络邮件传输存在固有的复杂性,包括支持大量网络层协议(如ip、tcp、udp、icmp等) 和应用层协议(如http、ftp、smtp、dns、pop3、imap等),这些都为攻击者提供了无数可供利用的漏洞。

juniper的工程师认为,除了这种固有的复杂性外,攻击者还可以采取不同的形式和手段,并可随意选择攻击时间进行攻击。如果系统不支持其中的一种协议或攻击类型,就会忽略并遗漏这种攻击,从而使企业网络及其重要信息处于失去保护的状态。为了对付攻击者,安全设备必须能够处理并有效防护所有类型邮件中潜在的攻击。

2. 准确性

准确性是高品质、高效率入侵检测与防护系统的关键。要实现高度的准确性,系统必须能够跟踪所有网络通信、理解每个通信的意图,然后针对攻击企图准确地做出安全决策。如果系统准确性不够,就可能检测不到攻击,而合法邮件也可能因被视为攻击行为而发出告警。

国内主要

IDS入侵检测 篇3

随着对网络入侵检测技术的深入研究,许多新型的算法被引进,尤其是近几年,基于统计的学习方法得到快速发展,诸如神经网络、数据挖掘、有限自动机、支持向量机、贝叶斯推理等[1,2,3,4,5,6,7,8]。其中支持向量机由于能够同时控制经验风险和分类器的容量(用分类器的VC维衡量)两个参数,因此在训练样本数很小的情况下,使得分类器间隔达到最大,真实风险达到最小,并且同时具有很好的泛化能力。

支持向量机[9,10]SVMs(Support Vector Machine)是由Vapnik V等人于1995年提出的,实质就是通过寻找一个最优分类超平面并将之作为分类决策面来进行分类,引进核函数解决低维向量映射到高维向量时的大维数问题。目前在SVMs中使用的核函数要求都是正定的,如多项式核函数、高斯径向基核函数、多层感知机核函数等,这无疑限制了SVMs的使用。针对以上不足,文献[11]提出了隐空间支持向量机HSSVMs,它通过一簇隐函数Φ(x)=[k(x1,x),k(x2,x),…k(xn,x)]T(其中n为维数)将输入空间中的样本映射到隐空间,然后在隐空间中使用最优超平面算法,所得学习机器称为隐空间支持向量机HSSVMs(Hidden Space SVMs)。显然HSSVMs保留了SVMs的优点,如结构风险最小化、全局唯一解等,同SVMs相比,由于不要求核函数正定,HSSVMs可以采用更多的核函数。因此HSSVMs是SVMs的重要推广, 它在高维空间中搜索合适解的时候,可以获得较好的效果。

1HSSVMs模型描述[12]

给定n个独立分布的数据样本(xi,yi),xRd,yi∈{+1,-1},i=1,2,…,n。其中d为每个训练样本向量的维数,yi是训练样本xi的所属类标记,目的是要通过这些训练样本找出相应的分类函数y=f(x)。

定义一个由实值函数集合{φi(x)|i=1,2,…,dn}构成的向量φ(x)=[φ1(x),φ2(x),…,φdn(x)]T。向量φ(x)将d维输入空间上的点映射到一个新的dn维空间,即xφz=[φ1(x),φ2(x),,φdn(x)]Τ

函数集合{φi(x)}所起的作用类似于神经网络中的隐单元,故将φi(x)(i=1,2,…,dn)称为隐函数。相应的空间Z={z|z=[φ1(x),φ2(x),…,φdn(x)]T,xX}称为隐空间或特征空间。使隐函数k(x,y)作为核函数,令X={x1,x2,…,xn},基于X的相应的隐空间可表示为Z={z|z=[k(x1,x),k(x2,x),…,k(xn,x)]T,xX }。

在隐空间中构造最优分类超平面,可以得到分类隐空间支持向量机:

min(12ω2+Ci=1nξi) (1)

约束条件为:

yi(ωTzi+b)≥1-ξiξi≥0 i=1,2,…,n

式(1)中第一项为最大化边界,用于控制函数集的容量,以求获得较好的推广能力;第二项表示最小化经验风险,C为折中参数。对此二次规划的求解一般转换成对其对偶规划的求解:

min(12i,jnαiyiαjyjm=1nk(xi,xm)k(xm,xj)-i=1nαi) (2)

约束条件为:

i,jnyiαi=00αiCi=1,2,,n

分类隐空间支持向量机的决策函数可表示为:

y=sgn(i=1nαiyij=1nk(xi,xj)k(xj,x)+b) (3)

2利用HSSVMs设计的IDS算法描述

给定的候选特征样本数据集为S,训练样本数据集为T

步骤1 将选择的训练样本数据集T进行归一化处理,归一化后的数据作为HSSVMs的训练数据。

步骤2 给定参数C,置精度要求ε>0,不敏感参数σ>0(经过反复实验,本算法选取C=100,ε=0.2,σ=0.1),令i=0。

步骤3 (迭代)令yi =分类HSSVMs的决策函数,即sgn(j=1nωjk(xj,x)),其中ωj=i=1nαik(xi,xj)

步骤4 (终止判断)若‖yi+1-y‖≤ε,则终止,得最优解y*=yi+1;否则,令i=i+1,转步骤3。

步骤5 用上述训练结果即最优解y*对候选特征数据样本库S进行检测并更新。

3实验系统及结果分析

3.1实验数据源

针对以上所建立的算法模型,在Matlab 7.0环境下进行仿真实验。为了与SVMs算法进行比较,与文献[8]选取了同样的实验数据源,测试样本组也一样,核函数选择的都是高斯径向基核函数RBF:K(xi,xj)=exp((-‖xi-xj‖)2/σ2)。

实验数据均取自DARPA[14]入侵检测评估数据集KDD(知识发现与数据挖掘),它是1999年MIT的Lincoln实验室通过模拟一个真实的网络环境而取得的原始TCP/IP网络通信数据,对每一个TCP/IP连接,提取出41个特征。该数据集包括多种攻击类型,如拒绝服务DoS(Denial of Service)攻击、未经授权的远程访问R2L(Remote to LocalUser)攻击、对本地超级用户的非法访问U2R(User to Root)攻击以及扫描与探测(Probing)攻击等。

从DARPA入侵检测评估数据集的测试数据集中选取了三组(分别为500,1 000,2 000个)训练数据作为候选特征样本数据集,其中含有正常样本和异常样本。考虑到网络中的正常数据流量远远大于异常数据流量[13],因此数据选取时,正常样本数远多于异常样本数,并且异常样本包含但不区分所有的四种攻击类型。同时选取了10 000个样本作为入侵测试数据集,且入侵测试集的样本分布与候选特征样本集相同,如表1所示,分别测试了检测率、误报率、漏报率等。

3.2实验结果分析

3.2.1 学习性能

对第一组含有500个数据的候选特征样本数据集,使用选取的含有10 000个数据的入侵检测数据进行多次攻击后,发现本算法较SVM算法能够更加有效地对新型的未知入侵数据进行学习记忆,即更新特征数据库,而且学习性能更强,如表2所示。

3.2.2 准确率

为了定量地评价入侵检测系统的检测性能,定义如下评估指标:

检测率=检测出来的正常的样本数/已知的正常样本总数;

误报率=正常样本被错认为异常样本数/已知的正常样本数;

漏报率=异常样本被错认为正常样本数/已知的异常样本数。

实验结果如表3所示。

从表3可以看出,当候选样本数越多,分类器的检测率越高,误报率越低。这是因为样本集太小,就不能包含足够多的数据来区分正常样本和异常样本,从而使得分类器的分类精度不够高,随着学习样本的增多,分类精度也将不断提高。显然,本算法比SVMs算法所具有的优势也较为明显。

3.2.3 有效性

为了测试检测算法对未知样本(即与候选特征样本分布不同的数据)入侵的有效性,又从KDD数据集中随机选取了10 000个样本作为入侵测试数据集,对第二组1 000个样本的候选特征数据库进行了测试实验。实验结果如表4所示。对照表3可以看出,本算法比SVMs算法对于新型攻击具有较好的检测性能。

4结论

将隐空间支持向量机(HSSVMs)引入网络入侵检测系统,从而设计出基于HSSVMs的网络入侵检测算法,经过仿真实验对比,较基于SVMs的检测算法,无论是对于已经参加过训练的攻击,还是对未参加过训练的攻击,都具有更好的学习性能、更高的检测精度和更低的误报率。

IDS入侵检测 篇4

为了解决ids应用中关键的误报和漏报问题,首先要了解决定误报和漏报的指标。有两个方面:一个是引擎和手法; 一个是管理能力。引擎的作用毋庸置疑,是“专家”和“高手”云集和追求的战场;手法是整个系统的知识库,机器的“智慧”所在;引擎和手法是密不可分的,通常引擎的结构决定了手法的特性和能力,甚至检测性能和精度。管理能力是ids系统和最终用户的界面,许许多多的误报率、个性化、友好性、易管理性、可扩展性等都和它直接相关。

一、引擎和手法

1.引擎

ids核心技术至今已经历三代:

(1) 第一代技术是主机日志分析、模式匹配。这阶段的ids基本上都是实验室系统,如ides、dids、nsm等。

(2) 第二代技术出现在上世纪90年代中期,技术突破包括网络数据包截获、主机网络数据和审计数据分析、基于网络的ids(nids)和基于主机的ids(hids)的明确分工和合作。代表性产品有早期的iss realsecure(v6.0之前)、cisco(1998年收购wheel group获得)、snort(2000年开发代码并免费)等。目前国内绝大多数厂家沿用的是snort核心。

(3) 第三代技术出现在2000年前后,代表性的突破有协议分析、行为异常分析。协议分析的出现极大减小了计算量,减少了误报率。专家预计协议分析技术的误报率是传统模式匹配的1/4左右。行为异常分析技术的出现则赋予了第三代ids系统识别未知攻击的能力。代表性产品有networkice(2001年并入iss)、安氏linktrust networkdefender(v6.6)、nfr(第二版)等。

此外,还有非常多的新型ids在努力争取获得市场的认可。

2.手法

手法是引擎的知识库,它可以是某个简单的模式,也可以是一个非常复杂的协议分析规则。简单模式主要用在第二代引擎中,复杂协议分析规则是第三代引擎的特征。

许多厂家喜欢讲自己的ids产品包含多少个“手法”(扫描器也使用这个名词)。关于手法的定义也是各个厂家之间容易引起争论的地方。手法体现了ids系统作者对某个攻击的理解和认识,指导引擎去检测这种攻击。

手法也是ids系统和防火墙等其他安全产品差异较大的地方。每个厂家必须紧跟攻击技术的发展和最新的安全弱点,将相应的“手法”及时提供给自己的客户,这样才能保证系统能够在业务流中检测出攻击。

关 键 字:入侵检测

★ 个人事项漏报检讨书

★ 领导个人有关事项漏报检查材料

★ 诺顿误报事件 企业用户全面解决方案

★ 降低奶牛养殖成本五建议

★ 招标人降低工程造价的承诺书

IDS入侵检测 篇5

目前, 入侵检测系统 (IDS) 正在网络安全防护中发挥着越来越重要的作用, 但误警率问题一直是影响其检测结果的可信性的一个主要问题。误警是指把系统的正常行为误判为入侵行为进行报警, 入侵检测系统在检测过程中出现误警的概率即为误警率。过多的误警必然造成检测结果的不可信, 所以必须尽可能降低系统误警率, 提高检测的可信性。

1 入侵检测系统的可信问题

入侵检测问题可视为一个简单的二值假设检验问题。为便于分析, 我们采用数学语言来描述, 先给出一系列相关的定义和符号。假设IΙ¯分别表示对目标系统的入侵行为和目标系统的正常行为, A代表检测系统发出了入侵报警, A¯表示检测系统没有报警。检测率指受到入侵攻击时, 检测系统能够正确报警的概率, 可表示为P (A|I) , 实际使用中可通过利用已知入侵攻击的实验数据集合来测试入侵检测系统的检测率。误警率指检测系统在检测时出现误警的概率Ρ (A|Ι¯) , 且有Ρ (A¯|Ι) =1-Ρ (A|Ι) Ρ (A¯|Ι¯) =1-Ρ (A|Ι¯)

对于网络管理员来说, 真正关心的是入侵检测系统的可信问题。入侵检测系统的可信度可用两个可信概率来表示: (1) 检测系统报警可信概率, 由P (I|A) 给出, 即检测系统报警时, 目标系统实际受到入侵攻击的概率, 该参数小于1时, 说明检测系统存在误警现象; (2) 检测系统不报警可信概率, 由Ρ (A¯|Ι¯) 给出, 即检测系统没有报警时, 目标系统处于安全状态 (没有受到入侵攻击) 的概率, 该参数小于1时, 说明检测系统存在漏警现象。

显然, 为了入侵检测系统更有效, 我们希望系统的这两个参数值越大越好。由于入侵检测系统是根据其检测结果, 以对入侵行为进行报警的形式通知被监控系统, 所以主要关注告警信息的可信度P (I/A) 与检测系统性能的关系。应用贝叶斯定理可以求出入侵检测系统可信度的概率:

Ρ (Ι/A) =Ρ (Ι) Ρ (A/Ι) Ρ (Ι) Ρ (A/Ι) +Ρ (Ι¯) Ρ (A/Ι¯)

根据上面的分析, 针对给定的实验数据或具体环境, 可以通过已经获得的数据统计以及系统仿真获得P (I) 、Ρ (Ι¯) P (A/I) 、Ρ (A/Ι¯) 的先验概率, 进而计算出P (I/A) 。在一般情况下, 入侵行为出现的概率是非常低的, 即Ρ (Ι) Ρ (Ι¯) , 并且P (I) +Ρ (Ι¯) =1, 所以, 在计算P (I/A) 式子中, 分母主要取决于误警率Ρ (A|Ι¯) 的影响。因此, 降低误警率, 可以提高告警信息的可信度。

2 异常入侵检测系统的误警问题

异常检测系统也称为基于统计行为的入侵检测系统。其方法为:检测系统首先建立被检系统的正常行为轮廓, 当检测系统发现被检系统的行为偏离正常轮廓的范围超出某个阈值时则认为有入侵发生。异常检测分析方式可以检测到未知的和更为复杂的入侵, 但其缺点是误警率高。实际上, 入侵活动与异常行为并非总是联系在一起, 活动有四种可能性, 即:①非入侵活动且非异常;②入侵且异常;③入侵而非异常;④非入侵而异常。异常检测系统能够正确处理前两种活动。但对第③种情况, 比如在建立正常轮廓时误包含了某种入侵活动, 或者某个入侵不会导致异常行为或者导致的异常行为偏离正常轮廓的范围很小, 未超出检测阈值时, 异常检测系统将会产生漏警。而对于第④种情况, 异常检测系统将会产生误警, 该情况主要是由于检测系统建立的正常行为轮廓不完善, 不能涵盖所有正常活动所致。比如在建立正常行为轮廓时未能考虑所有的正常行为, 或者是正常行为是动态变化的如用户行为或习惯的改变, 而正常轮廓的建立是静止的, 不能及时跟上这种变化等。由于降低漏警率和降低误警率是两个研究内容不同的课题, 下面主要重点介绍如何降低误警率, 提高报警可信度。同时, 对于基于误用的入侵检测系统的误警率问题在另外一篇文章中介绍。

3 基于免疫计算降低异常入侵检测系统误警率的方法

早期的异常检测系统主要是通过收集足够长时间、足够多的正常行为建立正常轮廓, 以便能够尽量多地涵盖所有的正常行为。通过对历史数据分配不同的权值, 近期数据分配较大的权重, 早期数据分配较小的权重而实时更新轮廓库, 可以使正常轮廓动态地跟随正常行为的改变。根据前面所讨论的误警产生的原因和自然免疫机理的启发, 提出了基于免疫计算抑制误警率的方法, 这里通过基于人工免疫的思想建立正常行为轮廓。

具体来讲, 网络对应生物体, 网络中的主机对应生物免疫系统中的淋巴结, 免疫系统中的抗原被映射成模型中的网络行为。根据免疫学原理, 抗原又被分为自体抗原和非自体抗原, 因此把自体抗原被映射成正常网络行为 (S) , 非自体抗原 (T) 被映射成非法网络行为。定义论域D={0, 1}l, 把整个系统的网络行为抽象为一个由长度为l的二进制字符串组成的集合U, 其中, ST=U, ST=ϕ。

免疫系统中是通过抗体来识别抗原的。在入侵检测系统中, 模拟抗体识别抗原的过程, 把正常行为轮廓对应于检测器, 检测器即类似于抗体集合, 通过检测器来识别外来入侵 (抗原) 。定义抗原集合AgD。其中Ag表示对网络上传输的IP包进行特征提取得到的长度为L的二进制字符串 (类似免疫系统中的抗原提呈) , 包括IP地址、端口号、协议类型等网络事务特征。定义免疫抗体细胞集合B, 每个抗体为一个四元组, B={<d, p, age, count>|dDpRageNcountN}, 其中d为抗体 (长度为l的二进制字符串) , p为抗体浓度 (被该抗体捕获到的抗原) , age为抗体年龄, count为抗体匹配抗原数目 (抗体的累计亲和力) , N为自然数集合。

检测器中最主要的是检测元的生成算法, 这里采用否定选择算法。算法简单描述如下: (1) 将一段时间TS内局域网上的所有正常连接定义为自身集合S, 作为生成有效检测元的训练集; (2) 产生有效检测元集合B。随机产生候选检测元Ib={<d, age>|dD, ageN}, 将产生的候选检测元与自我集中S的模式用下式进行匹配试验ftolerance (Ib) =Ib-{d|dIb∧∃ySelffmatch (d, y) =1}, 其中匹配采用r为连续匹配实现, 即如果∃i, j (x.di= yi, x.di+1=yi+1, …, x.dj = yj, j-ir, 0≺ijl) , 则xy匹配成功。若匹配, 则丢弃该候选串;否则该候选检测元就是一个有效的检测元, 进入B集合;重复此过程, 直到产生一定数量的检测元为止。通过否定选择算法实现, 避免了将自体识别为非自体的误检行为。这些通过否定选择检测的检测元被称为成熟检测元Tb

成熟检测元Tb通过亲和力累积实现进化。在生命周期λ内, 每经过单位时间, 成熟抗体的年龄age增加1;如果该检测元与入侵匹配成功, 则该成熟检测元匹配抗原数目count增加1。成熟检测元在生命周期内匹配抗原数目达到激活阈值β, 则激活为记忆抗体, 如下式所示:Tactive={x|xTAbx.countβx.ageλ}。成熟检测元年龄超过生命周期而匹配抗原数目未达到激活阈值, 则被删除, 如下式所示:Tdead={x|xTAbx.count<βx.age>λ}。所以, 抗体集合B=MbTb, 其中Mb={x|xB, x.count>β}为记忆免疫抗体集合, β为匹配阈值, Tb为成熟免疫抗体集合。其中, 当成熟抗体激活成为记忆抗体时, 并进行克隆扩增, 产生大量类似的检测器, 以抵御更多抗原的入侵。

由上面的分析可知, B=MbTb就是入侵检测系统中的正常轮廓, 它是动态变化的, 可以动态跟随正常行为的改变。B中的成熟检测器集合Tb具有一定的生命周期, 经过一段时间后会死亡或者变成记忆检测器Mb;记忆检测器Mb具有更长的生命周期, 甚至无限长。记忆检测器总数超过上限后, 其可以转变为成熟检测器 (如使用LRU算法来淘汰) 。记忆检测器在再次匹配抗原 (外来入侵行为) 后就会被再次激活并克隆自己, 克隆生成的新检测器加入检测器集合。同时, 一部分符合条件的记忆检测器还能进行变异, 以使系统具有学习进化的能力。同时随机检测器集合不断生成, 并接受否定选择, 生成新的成熟检测器, 确保了检测器的多样性。因此, 检测系统的正常轮廓 (检测器集合B) 动态变化更新, 具有多样性、学习及自适应能力, 可以识别更多的入侵源, 提高检测性能, 降低误警率。

入侵检测的过程可描述如下:

(1) 记忆抗体检测抗原 利用记忆抗体集合Mb对抗原集合进行检测, 把被记忆抗体检测为非自体的抗原删除, 如果记忆抗体检测到自体就从Mb中删除。

(2) 成熟抗体检测抗原 利用成熟抗体集合Tb对抗原集合Ag进行检测, 被成熟抗体检测为非自体的抗原删除, 如果成熟抗体在一定周期内检测到足够的抗原就会被激活, 进化为记忆抗体;反之在生命周期内未被激活或检测到自体元素, 则死亡。

(3) 自体集合更新 经过上述检测剩下的抗原作为自体抗原加入自体集合, 保持自体动态更新, 同时与未成熟抗体集合Ib元素进行自体耐受, 保持抗体的动态进化循环。

4 系统仿真实验与分析

实验在网络安全实验室进行, 以单台主机为观察对象, 多主机参加了实验。在Windows 2003 Server 之上搭建IIS 、FTP、DNS等服务器 (用端口号进行区分) 。取32位源、目的IP地址、16位端口以及16位协议标志等构成L=96的二进制串提呈抗原, 采用r连续位匹配方法计算亲和力 (r=8) , 选取初始自体集合大小=40。每次从网上捕获100个IP包, 对IP包进行预处理, 将其变换为检测系统处理的抗原格式。系统的误警率记为FP。

在FP值的对比实验中, 采取的方法是每100个数据包中夹杂40个自体, 其中20个自体为新近定义, 即以前这20个IP包被认为是不正常的网络行为, 但现在被认为它们是正常的 (比如有20个网络端口刚被打开以提供的服务) , 以观察FP值。由于系统参数对结果影响很大, 经过反复的比较实验, 最终选定了一组参数: β=40, λ=7天, α=48小时。这组参数组合在保证了较高检测率的前提下, FP尽可能的低, 可以达到2.25%左右, 且系统表现稳定。具体结果如图1所示。

为了便于比较, 采用了3个开放源代码的IDS系统:Snort、Bro, Dragon IDS, 共选用5天时间测试, 各检测器的误警率如表1所示。从表中可以看出, 本文算法的误警率较低。主要原因在于:检测器集合动态改变, 经过一段时间的学习后, 可以识别更多的变化自体, 大大降低了误警率。

5 结 论

入侵检测系统的报警可信问题一直是一个研究热点, 误警率较高极大地影响了检测结果的可信性。借鉴入侵检测系统与生物免疫系统的相似性, 本文提出了一种基于人工免疫思想, 检测器集合 (正常系统轮廓) 动态更新, 降低误警率的方法。理论分析和仿真对比实验表明, 本算法可以有效降低误警率。算法经过适当的变化, 也可以适用于其它的异常检测问题。

参考文献

[1]闫巧, 喻建平, 谢维信.入侵检测系统的可信问题[J].计算机研究与发展, 2003, 40 (8) :1203-1208.

[2]Chowalit Tinnagonsutibout, Pirawat Watanapongse.A novel approach toprocess-based intrusion detection system using read sequence finitestate automata with inbound byte proler[C]//ICEP2003, 2003.

[3]李涛.基于免疫的网络监控模型[J].计算机学报, 2006, 29 (9) :1515-1522.

[4]杨义先, 钮心忻.入侵检测理论与技术[M].北京:高等教育出版社, 2006.

[5]李涛.计算机免疫学[M].北京:电子工业出版社, 2004.

[6]闫巧, 江勇, 吴建平.基于免疫机理的网络入侵检测系统的抗体生成与检测组件[J].计算机学报, 2005, 29 (9) :1515-1522.

IDS入侵检测 篇6

1)入侵检测的误报率偏高,大量的重复报警。很多IDS一天能够发出上千条虚假报警信息,对某主机的一次扫描也会产生几十上百的重复报警,让网络管理人员目不暇接,无所适从。

2)报警信息非常琐碎。

3)对于报警信息的分析和理解比较困难。

目前IDS主要采用误用检侧和异常检测两种方法,它们都不可避免地会产生漏报警和大量误报警,重复报警多,可读性差,管理员很难从中真正了解当前系统的安全状况。关联分析技术能够大大减少报警的数量、降低入侵检测误报警率和适当减少入侵检测漏报率,所以在入侵检测系统中引人报警关联分析功能具有重要的实际义。该文设计并实现了一个高效的报警信息聚合与关联系统,用于报警信息的融合。实验表明,该系统有效减少了报警数量,降低了误报率,达到了很好的实际应用效果。

1 入侵检测关联系统模型

该文提出的报警事件关联系统模型如图1所示。该模型主要包括联合五个组件报警信息的预处理、聚合、关联分析、漏报关联和攻击响应。

1.1 知识库

攻击者的一次入侵通常需要通过一系列的攻击行为来完成,这些行为是相对独立的,同时又是相互关联的,前面的行为所产生的结果,成为后面行为执行的必需条件。美国北卡罗莱纳州大学的Peng Ning及其工作小组提出了一种基于因果关系的报警信息关联方法[2]。

1.1.1 超报警类和超报警关联

这种方法提出了一个超报警类的概念,用来表示一种报警类型的先决条件及结果。

定义1:超报警类T是一个三元组(fact,prerequisite,consequence)。其中fact是一系列的属性名,每一个属性关联到一个阈值,介绍了在报警中(或检测攻击时)已知或已获得的所有信息;先决条件prerequisite是一系列谓词逻辑连接,描述了攻击要成功所必须具备的条件,它的变量都存在于fact中;结果consequence是一系列谓词逻辑连接,描述了攻击成功后所获得的信息,它的变量也存在于fact中。

给定了一个超报警类,则可以定义超报警类的实例。定义如下:

定义2:给定一种超报警类T=(fact,prerequisite,consequence),一个T类型的超报警实例,h是一个关于fact的有限元组的集合,其中每一个元组通过时间戳[begin_time,end_time]来关联,超报警类型暗示其先决条件必须为真,其在每个三元组的结果中的逻辑公式可能为真。

定义3:给定一个超报警类T=(fact,prerequisite,consequence),其先决条件集表示为P(T),结果集表示为C(T),在先决条件集或者结果集中表示了所有谓词,它们的变量由h元组中的相应属性值来替换。

定义4:对于两个超报警h1和h2,如果存在p∈P(h2),并且c哿C(h1),对于所有的c∈C,c.end_time

1.1.2 漏报关联规则

通过研究及大量实验表明,基于因果关系的关联分析型入侵检测系统在降低误报率方面成绩卓越,然而对于警报漏报方面的处理却显得束手无策。这主要是算法本身的问题,系统依赖于IDS的警报信息,如果IDS发生漏报,丢掉了攻击序列中的关键警报信息,而现有关联算法又不具有检测漏报的功能,那么系统将无法进行关联,这将导致自被IDS漏报警报之后的整个攻击序列将全部被漏报,其后果是非常严重的。

根据Kendall[4]对攻击的分类,对各种攻击类型的分析,得到以下两个关联规则。

定义5:警报h1和警报h2直接关联,如果满足下述条件:h1.consequence=h2.prerequisite并且符合关联限制条件。

定义6:警报h1和警报h2间接关联,如果满足下列条件:

1)警报h1通过关联规则R,和警报类型T直接关联;

2)对于任何i∈[1,n-1],警报类型Ti和警报类型Ti+1通过关联规则Ri直接关联;

3)警报类型Tn通过关联规则Rn与警报h2直接关联。

1.1.3 知识库的设计

警报关联分析法主要是根据警报中存在的因果关联性而关联瞥报的,而警报之间的因果关联性土要是需要从知识库中获得。知识库中定义了警报分析中需要用到的警报之间的因果关联关系。知识库的设计需要深入的了解攻击的分类和攻击的整个攻击过程,只有这样,才能够准确的定义攻击知识,精确的分析出警报之间的关联性。

如果知识库中的知识量很大,则可以选择用数据库存储。由于,我们这里的知识库量小,为了方便起见,选择用文件存储。由于XML文件的通用性、易用性、灵活性,而且具有查找数据速度快的特点,知识库采用XML格式描述,并且采用DTD描述XML知识库文件。

根据各种攻击类型的特点,知识库采用两种文件定义格式,一种定义用来记录HyperAlert类型的知识信息,一种定义用来描述HyperAlert类型中的谓词逻辑(predicates)之间隐含的关联关系。由于第一种格式定义了HyperAlert类型之间的直接关联性,而第一种定义了谓词逻辑之间的隐含的间接关联关系。所以,为了警报关联分析的方便,必须使用第二种格式的定义,在第一种格式的定义中增加HyperAlert类型之间的间接关联性。因此,需要增加定义在第一种格式中HyperAlert类型的consequence域的数量。

1.2 报警信息的预处理

由于不同的入侵检测系统在报警信息的格式上缺乏统一标准。在对报警进行聚合与关联前,必须将各种不同的安全设备自己的报警数据格式转换成关联系统的标准格式(如IDMEF格式),同时完成攻击分类等项目内容的统一映射。目前IDS领域被广泛认可的信息交换格式是IDMEF数据格式,格式化后的告警数据被送至预处理模块,并对各特征域值的有效性进行检查,参数不足的报警信息视为非法报警信息,如无目标地址和端口信息的报警信息不具有分析意义的报警,应该被过滤。

1.3 聚合

将某一IDS内部针对同一安全事件产生的大量相同或相似报警合并成一个超报警,也可以通过对多个不同类型IDS或其他不同来源报警信息进行聚合,使不同来源的报警相互补充、相互印证,有利于真正理解攻击的实质。

采用基于相似度的关联方法[5],首先,从经过预处理的报警信息中提取特征(源IP、源端口、目的IP、目的端口、时间等),计算报警信息同类特征之间的相似度,相似度的值在0到1之间(1表示完全匹配)。对于不同的属性值,设定不同的相似度计算函数,新的报警信息会与已存在的所有报警的相应属性值进行比较,计算它们之间的相似度,报警之间的相似度定义为不同的属性相似度的平均值。其次,对仅报警时间不同,且时间小于设定的阈值,其他特征都相同,此类攻击可认为是来源于同一IDS的重复报警,这种关系在报警信息中大量存在。对仅攻击目的、报警类型相同,其他特征都不同,且攻击时间小于设定的阈值,此类攻击可认为是多个攻击源对同一攻击目标的分布式攻击。对其它的新报警与已存在报警相似度最大并超过设定阈值的报警融合为一个报警,若不超过设定阈值则作为一个新的报警。最后,对聚合后的报警通过手工分析与智能算法辅助对不同的特征总结出经验知识,并以此更新定义的特征和阈值。聚合过程如图2所示。

对于时间阈值的设定,经观察发现不同类型的攻击通常具有不同的时间特性,一次持续性攻击具有连续性,并且由于这种攻击通常都是由攻击工具自动完成,因此攻击进行的速度比较稳定。则在报警聚合规则中针对不同的攻击事件给出不同的时间间隔阈值,并当原始报警序列满足攻击类型特征和对应的空间特征才进行聚合。

1.4 关联分析

此操作是在报警聚合基础上,根据知识库中定义的关联规则对超警报进行关联。由于IDS检测出的大都是单一事件触发的报警信息,对于多步的序列攻击往往缺乏关联与分析。而且,现实网络环境中入侵一般不是孤立的,前一步攻击是为下一个攻击做铺垫的,在一个有多个攻击动作组成的入侵过程中,一个攻击的后果就是下一个攻击前因。

该文采用了基于规则的推理技术和因果关系关联方法所设计出的报警关联模块以寻找攻击步骤的“因果关系”为入口,在大量离散的单个的警报中挖掘出具有时序性和逻辑性的若干警报,并将其定义为同一攻击策略的不同步骤或不同阶段,目标是重建攻击过程,将逻辑相关的攻击动作联系起来,从而掌握攻击的整体情况,深层发掘报警间的联系。

HyperAlert关联分析的一个主要问题就是分析的效率问题,本文从下面两个方面来提高关联分析的速度。

1)增加关联的边界值

由于HyperAlert关联分析的目的是对于产生的每个HyperAlert实例,能够分析出是否有其它的HyperAlert实例为它的产生做准备,即是它的先决条件。因此,需要把每一个HyperAlert实例与其它实例进行比较。如果有n个HyperAlert,则需要比较n*n次,则分析费用会很大,分析效率必然会很低。

因此,为了提高效率,我们定义产生时间很接近的HyperAlert会存在关联关系,时间间隔比较远的HyperAlert则不存在关联关系。我们定义一个时间间隔值T,如果两个HyperAlert之间的时间间隔在T之内,则会对它们做关联处理。但需要特别注意的是:T的值应该适中。

如果偏大,则关联分析的效率低;如果偏小,则不容易发现警报的这种关联性。

2)关联分析转化为查找分析

虽然使用时间间隔值来提高HyperAlert关联分析的速度是一个方面,然而,它不能解决所有效率问题。针对HyperAlert数据类型的特征,可以通过把HyperAlert的因果关联分析转换为查找分析来提高分析效率。

因为在知识库的建立时,己经把所有HyperAlert类型之间的直接的、间接的因果关联关系加入了知识库,所以借助知识库也就可以关联所有的具有直接、间接关系的HyperAlert实例。只要比较先产生的HyperAlert的consequence与后产生的HyperAlert的prerequisite是否具有相同的谓词逻辑,(先与后是指被比较consequence的HyperAlert实例的end_time值要小于被比较prerequisite的HyperAlert实例的begin_ime的值),则可以断定这两种HyperAlert实例是否具有因果关联关系。

我们定义IDS的警报是按照产生时间的先后而报告和传输的,也就是可以认为产生的HyperAlert是按照时间升序而排列的。所以,我们在关联分析时不需要考虑HyperAlert的时间先后问题。

1.5 漏报关联

对一个警报进行关联分析时,如果通过直接关联没有找到与之相关联的警报,则进行漏报关联分析。算法描述如下:

Alert是警报集合,实例化的警报存放于预处理单元,Prereqset和conseqset两个表位于警报预处理单元,分别用于存放实例化警报的前提条件和结果,alert.Pre表示警报alert的前提条件,alert.con表示警报alert的结果,alert.type表示警报alert的攻击类型:T是用户定义的关联时间间隔限制,alert.begin_time表示警报alert的开始时间,alert.end_time表示警报alert的结束时间,x、Y是攻击类型集合,Prereq和Conseq两个表位于知识库中,分别用于存放各种攻击类型的前提条件和结果。

(1)警报实例集合alert={alertl,alert2…alerti…alertn};

(2)for所有警报实例alerti∈alert do begin

(3)alerti.pre为alerti的不带参数的前提的状态描述;

(4)警报类型集合Y={y∈AlertType|y.con=alerti.Pre};

(5)if y≠Φthen

(6)for所有警报类型y∈Y do begin

(7)警报实例集合alertl={alertj∈L|alertj.type=y∧0

(8)if alert1≠Φthen insert into table correlated alerts Values(alertj,alerti);

(9)else begin搜索知识库中prereq表,找到符合prereq.type的记录的predicate属性;

(10)警类型集合X={x∈AlertType|x.con=y.pre};

(11)If X≠Φthen

(12)for所有警报类型x∈X do begin

(13)警报实例集合alert2={alertk∈L|alertk.type=x∧0

(14)if alert2≠Φthen Insert into table recorrelated alerts values(alertj,y,alerti);

(15)end

(16)end

(17)end

(18)end

本算法目前只针对攻击序列中一步攻击被漏报的情况,根据警报之间因果关联性的分析,可扩展到攻击序列中的连续两步或几步被漏报的情况。由于现实中这种情况比较少见,同时运算量比较大。因此,还有待进一步深入研究。

该文采用一个三元组对一个攻击抽象类T来描述,即T=(F,P,C),F为一组属性名的集合;P为攻击成功发生所需的前提条件集合,记为P(T);C为攻击发生后可能产生的结果集合,记为C(T)。上述前提条件和结果可以是单个原子谓词,也可以是若干原子谓词的逻辑连接。原子谓词是基于英语的语义表示的,谓词中的参数变量来自集合F。例如:定义一个RPC攻击抽象类:

R_Overflow({DestIP,DestPort,SrcIP,SrcPort},VulnerableRPCService(DestIP,DestPort)AND GainOSInfo(DestIP),GainRootAccess(DestIP)).根据上述谓词描述思想定对所有已知攻击建模。同时谓词通过报告和控制层可以不断更新,以反映未知攻击或已经发现的尚未加入的前提条件和后果,所有这些保存在关联规则库中。

该文实现的关联算法在Ning Peng提出的因果关联方法上做了一定的改进,加入了时间规则约束,将要关联的报警信息的前因后果发生间隔时间约束在一定的时间内,通过本系统试验发现时间窗口设置为18小时,可以使关联成功率达到90%。

1.6 攻击响应

在关联分析的基础上,判断攻击行为的严重性,然后按照攻击处理的规则来响应具体的攻击行为。如活跃攻击源分析报告、易受攻击目标分析报告、各时间段攻击量报告等,这些报告使管理员能关注网络中的威胁事件和薄弱环节并结合生成的攻击场景关联图,对整个保护的网络系统进行风险评估与决策。

2 实验分析

为了验证所设计系统的性能,本文对报警信息聚合与关联系统进行了相关测试。报警数据来源为DARPA 2000年的入侵检测数据集。在测试时,经过报警聚合与关联系统处理后报警量变化统计,可以明显看出经过聚合,报警数量大大减少了,减少的重复报警和误报警约占报警总数的81%,而挖掘出经过聚合后的关联报警数约占聚合报警数的33%。通过实验说明本系统可以有效地减少重复报警和误报警,对关联多步攻击也有一定的成效。

3 结论

该文介绍了入侵检测报警信息关联系统模型,对各个模块的基本技术进行了分析,关联分析技术能够大大减少报警的数量、降低入侵检测误报警率,由于系统设计中聚合与关联都在一定程度上依赖于先验知识,因此,如何详细建立完善的因果关联规则库还待进一步的研究。

参考文献

[1]DENNING D.Intrusion-Detection model[J].IEEE Trans on Software Engineering,1987,13(2).

[2]P.Ning,Y.Cui Constructing Atack Scenarios through Correlation of Intrusion A1erts[J].Technical Report TR-2002-4,North Carolina State University,Department of Computer science,2002:1-10.

[3]李雪莹,刘宝旭.对入侵检测警报关联分析的研究与实践[J].计算机工程与应用,2003.

[4]K.Kendall.A Database of ComPuter Attacks for the Evaluation of Intrusion Detection System.Massachusets Institute of Technology[C].Department of Electrical Engingeer and Computer Science,1999:99-124

[5]Valdes A,Skinner K.Probabilistic Alert Correlation[C].Proc.of the4th Intenrational Symposium on Recent Advances in Intrusion De-tection,2001:54-68.

[6]P.Ning,D.Xu,C.G.Healey and R.S.Amant.Building Attack Scenarios through Integration of Complementary Alert Correlation Methods[J].Network and Distributed System Security Symposium Conference Proceedings,2004.

[7]K.Kendall.A Database of ComPuter Attacks for the Evaluation of Intrusion Detection System.Massachusets Institute of Technology[C].Department of Electrical Engingeer and Computer Science,1999:99-124

IDS入侵检测 篇7

1 Boyer-Moore算法

Boyer-Moore算法是一种非常高效的字符串搜索算法。这种算法可以对搜索关键字先进行预处理, 通过这种方法来快速发现关键字符。BM算法的特点在于搜索关键字的字符越长, 其算法的运算速度便会越快。其运算的效率是十分惊人的, 才采用启发式的方法来减少比较, BM算法能够记录每一个失败的匹配, 通过自身运算的方式排除无法匹配的位置。BM算法的思想如下。

不同于朴素模式逐个字符的对比, BM算法能够通过预处理的P的信息来跳过更多的字符。一般情况下, 在比较一个字符串时都是从首字母比较开始的, 直到发现不同的字符便重新开始下一次的比较, 而BM算法不同, BM算法的关键在于, 当比较完成最后一个字符P后, 可以决定跳过一个或更多个字符, 这样一来整体的运算便会显得高效。

(2) 坏字符的移动。BM算法中字符T中字符出现不匹配的情况, 假如T中出现的不匹配字符在P中所在地方的左侧, 则P移动位置将这两个在字符对齐。如果T中所出现的不匹配字符没有出现在P中所在地方的左侧, 则所在位置左侧的所有字符全部退到不匹配字符的后面, 这便是BM算法中的坏字符原则。原理如图1所示。

(3) 好后缀的移动。好后缀移动的原则是对应某个子串的。P中包含一个字符的子串, 它将在T中发现这个字符子串的下一个出现位置。将P移动到这个位置使字符子串与T中相适应的字符子串对齐, 这便是好后缀移动的原则。好后缀原则的核心内容就是, 通过不匹配位置右侧匹配到的字符串T, 用于查找其在P的不匹配左侧是否存在。

2 BM算法在IDS应用中的现状

就目前的IDS技术研究而言, 最为关键的就是对入侵行为特征的匹配, 这种匹配的又常常被称为规则匹配。它匹配的过程就是通过搜索发现索要入侵程序的数据报文和入侵状态下的规则树进行匹配。通过搜索所有的规则匹配来寻找这个报文, 倘若发现就表示发现一个攻击威胁, 然后再进行下一步的操作。若未搜索到匹配的规则, 则表示是正常的报文。这便是入侵技术的关键环节。随着IDS的不断发展, 在IDS产品中采用误用检测的方法越来越多, 其中比较常见的便是模式匹配。在IDS当中匹配算法影响到了IDS的效率。在网络时代大数据的背景下搜索入侵特征时更加需要一个高效的匹配算法来对众多的数据进行处理分析, KMP算法和BM算法便是两个适合IDS的算法。就在IDS中的应用而言, BM算法在实际中往往要比KMP快很多, 因此, 大多数入侵检测系统选择使用BM算法。于是BM算法也逐渐开始被运用到IDS当中来, 在典型的入侵系统中Snort就已采用了BM算法。虽然BM算法作为一种高效的算法开始运用到IDS当中, 但是, BM算法自身仍然存在着很多缺陷。例如, 在高速网络环境下入侵检测的速度远远比不上数据包到达的速率, 导致经常出现丢包的现象。这便是目前BM算法在IDS中实现所要解决的困难。

3 改进的BM算法在IDS中的实现方法

总的来说, BM算法是一个单模式的字符串匹配算法。即使其有坏字符的运算规则能够提高运算的效率, 但是坏字符运算的方式也是具有局限性的, 坏字符移动的距离是固定的、有限制的。而好后缀移动, 移动函数是对应其某个子串的。P中有一个字符子串, 这个子串将在T中寻找对应的子串字符。因此, 子串字符越长所需要花费的时间也就越多。在比较时会出现很多入侵特征的模式串, 在P中的字符是T中所不具备的。这种思想可以在BM算法中减少无用的比较。

BM算法是可以进一步进行改进的BM, 图2便是改进的BM的模式匹配过程。

改进之前的BM算法预处理阶段的查找时的时间复杂性为O (mn) , 同样的其预处理阶段的时间空间复杂性是O (m+n) 。

在IDS中可以将BM算法进行适当的改进来弥补它在IDS当中的缺陷。模式匹配法检测方法存在局限性, 它仅仅将网络数据包当作一个无序的字符, 不能详细分析其网络数据包的结构。因此, 需要改进BM算法, 不妨将协议分析和模式匹配相结合, 则可以使想要获得的数据更加精确。同时这样也可以提高系统的辨别能力, 在检验未知的行为时能够快速辨别出这个行为是否是入侵行为。

此外, 还可以继续改进BM算法, 可以为其增加模糊搜索的匹配算法。通过模糊搜索的方式使系统可以运用于搜索

模糊搜索的方法还可以扩大搜索的范围。在BM算法当中引入模糊搜索的匹配算法能够将模式串数值化, 然后再通过对文本中每个长度为m的子串进行相同的数值化, 这样一来可以提高串匹配的算法速度, 使其能够快速辨析出所要搜索的内容。

4 结语

综上所述, 在网络技术快速发展的今天, 人们的网络安全防范意识尚不足, 而网络入侵的行为却日益增多。入侵检测系统作为防火墙技术的合理补充, 开始广泛受到人们的重视。而改进的BM算法在IDS中的实现, 能够增强IDS的检验能力, 更加高效去预防入侵行为。就目前而言, 大多数BM算法在IDS应用的过程中都存在一定的不足, 但是倘若稍加改进, 在入侵检测系统中改进后的BM算法可以减少移位的次数, 可以变得更加高效, 尤其是在T串中当其所出现的模式串较少时, 运用这种BM算法可以有效缩短时间, 提高其匹配的速度, 因而能够积极预防攻击者对BM算法的攻击。同时, 为BM算法增加模糊搜索的匹配算法, 能够进一步提高匹配速度。

总之, 在网络日益发达的今天, 改进的BM算法在IDS中的实现有利于IDS技术更加成熟, 笔者相信以后IDS技术在BM算法改进以后会快速发展, 发挥其在入侵检测方面的优势。

参考文献

[1]王淅娜, 喻建鹏.一种改进的Boyer-Moore算法在IDS中的应用[J].计算机科学, 2013.

[2]朱西讲.一种改进的BM算法在网络安全控制中应用[J].科技通报, 2012.

[3]苗亮, 汪瑾.一种基于入侵检测的模式匹配算法研究[J].机械工程与自动化, 2011.

IDS入侵检测 篇8

互联网技术的发展带动了众多新型网络产业的出现 (如网络游戏公司等) , 许多企业都纷纷依靠IT技术来构建企业自身的信息系统和业务运营平台。企业利用网络通信和软件技术把孤立的系统互相连接起来, 实现数据交换和资源共享。基于互联网和IT技术发展起来的新型企业和传统企业最大的不同之处是, 前者已把业务的传统运营模式转换为在线运营模式, 从而降低了运营成本、更快响应市场和提高客户满意度[1]。新型企业的业务主体均通过服务器中的运营平台来完成公司业务, 分布在各地的分公司可以只放置服务器而不需要固定的系统管理员, 这种分布式网络企业的公司架构既能有效地降低人员成本和运营成本, 同时又能满足公司业务不断发展的需求。企业在享受信息技术带来巨大的进步与利益的同时, 数据信息被窃取和针对网络设备的攻击等等潜伏着的巨大的安全威胁也随之而来。尤其是这些新型公司大多业务机房是远程操作的无人值守机房, 安全问题尤其突出, 而防火墙与入侵检测系统的联动能很好地解决这些无人值守机房的安全问题。

1 分布式网络企业的网络安全需求

新型网络公司在网络设备和机房的架构和部署上与传统公司有很大的不同, 表现出很强的分布性, 其架构如图1所示。该类分布式网络企业主要的技术特点表现为:

1) 网络运营平台是公司服务主体, 网络和服务器是软件和数据的主要载体;

2) 服务器地域分散、数量庞大, 而且需要7×24小时运营服务;

3) 分公司不一定是实体公司, 大部分采用无公司值守人员的托管机房;

4) 网络安全是业务保障的基础。

由上述技术特点, 传统的安全防范无法及时解决或者实现成本过高, 而防火墙与入侵检测系统的联动能解决这些企业遇到的大多数安全问题。防火墙与入侵检测系统结合是将动态安全技术的实时、快速、自适应的特点作为静态技术的有效补充, 将静态技术的包过滤、信任检查、访问控制成为动态技术的基础保障。二者结合使用可以很好地将对方的弱点淡化, 而将各自的优点互补, 使防御系统成为一个更加坚固的堡垒[2]。动态技术与静态技术的互动使用, 使得远程控制的无人值守机房的网络安全问题得到有效解决。

2 联动系统总体设计思想

在这个网络安全体系中, 防火墙是最重要的安全要素。同样, 该系统模型以防火墙为联动中心。防火墙在安全防护中的地位决定了防火墙是一切安全联动技术的中心和基础。入侵检测系统 (IDS) 是一种主动的网络安全防护措施, 它从系统内部和各种网络资源中主动采集信息, 从中分析可能的网络入侵或攻击[3]。入侵检测系统在发现入侵后, 会及时作出一些相对简单的响应, 包括记录事件和报警等。显然, 这些入侵检测系统自动进行的操作, 对于网络安全来说远远不够。因此, 入侵检测系统需要与防火墙进行协作, 请求防火墙及时切断相关的网络连接。当有外来入侵者的时候, 一部分入侵由于没有获得防火墙的信任, 首先就被防火墙隔离在外, 而另一部分骗过防火墙的攻击, 或者干脆是内部攻击没经过防火墙的, 再一次受到了入侵检测系统的盘查, 受到怀疑的数据包经预处理模块分检后, 送到相应的模块里去进一步检查, 当对规则树进行扫描后, 发现某些数据包与规则库中的某些攻击特征相符, 立即切断这个IP的访问请求, 或者报警。防火墙与入侵检测联动系统对外界访问的处理工作流程如图2所示。

3 联动系统设计和实现

3.1 联动系统设计

目前防火墙与入侵检测系统结合主要有两种方式:集成方式和联动方式。集成方式是将防火墙与入侵检测系统集中到一个系统当中, 分别进行访问控制和攻击检查的功能。联动方式是将防火墙和入侵检测系统作为两个独立的子系统存在, 单独完成各自的任务, 实现一体化的主动防御。当入侵检测系统发现异常攻击企图时, 立刻通知防火墙, 更改安全策略, 从源头封堵攻击[4]。由于集成方式的实施难度较大, 不适合无人机房实施, 这里我们通过联动的方式来实现防火墙和入侵检测系统的结合, 即通过第三方——联动控制平台来实现。

整个联动系统主要由如下三部分组成:

3.1.1 防火墙系统

防火墙是用来阻挡来自网络外部的攻击和入侵的第一道防线, 同时防火墙也是不同网络或网络安全域之间信息的唯一出入口, 它可根据网络的安全策略控制出入网络的信息流, 且本身具有较强的抗攻击能力[5]。防火墙除了平时根据其各自的安全策略正常运行外, 还要对入侵检测的反馈信息作出反应, 从而能够最大限度地阻止网络攻击行为, 尽可能地对外部网络屏蔽内部网络的信息、结构以及运行状况, 以此来实现网络的安全保护。因此, 防火墙作为第一道防线, 在一定的程度上可以解决网络安全存在的问题, 但由于防火墙是一种访问控制设备, 而且提供的是安全域的周边防护, 因此防火墙存在局限性, 仅仅依靠防火墙来保证网络的安全还是不够的, 原因在于一方面入侵者可能会绕过防火墙, 寻找可能敞开的后门, 另一方面入侵者可能就在防火墙内部。

3.1.2 入侵检测系统

入侵检测系统 (IDS) 是一种主动的网络安全防护措施, 它从系统内部和各种网络资源中主动采集信息, 从中分析可能的网络入侵或攻击。入侵检测系统在发现入侵后, 会及时作出一些相对简单的响应, 包括记录事件和报警等[6]。

3.1.3 联动控制系统

联动控制系统负责定时地分析入侵检测系统生成的日志信息, 从日志警告信息中提取攻击信息, 通过协议转换为防火墙规则, 通过运行在入侵检测系统中的Client 程序, 将入侵检测的分析结果传递给防火墙系统, 运行在防火墙系统的Server 端程序完成对规则的配置。真正实现了动态的添加规则, 及时阻断可能的攻击行为。当防火墙和入侵检测系统互动时, 所有的数据通信是通过认证和加密来确保传输信息的可靠性和保密性。通信双方可以事先约定并设定通信端口, 并且相互正确配置对方IP地址, 防火墙以服务端的模式来运行, IDS以客户端的模式来运行。将防火墙与IDS 结合起来互动运行, 防火墙便可通过IDS及时发现其策略之外的攻击行为, IDS也可以通过防火墙对来自外部网络的攻击行为进行阻断。IDS与防火墙有效互动就可以实现一个较为有效的安全防护体系, 可以大大提高整体防护性能。

联动控制模块由事件收集模块、事件分析模块和策略管理模块三部分组成, 联动控制台的框架结构如图3所示。

1) 事件收集模块

从各个 IDS 中传来的报警信息都汇总在事件收集模块, 存储于事件数据库中, 以供网络管理员及时地了解各主机的安全状况, 同时也为事件分析模块提供了数据分析的来源。

2) 事件分析模块

分布式的入侵检测系统在遇到可疑或攻击事件等会生成大量的报警信息, 一般的入侵检测系统往往只是独立地产生报警, 而忽略了这些报警信息之间可能存在的内在联系以及报警背后所反映的问题, 因此可能会产生许多类似甚至重复的报警信息, 这就给信息的存储、管理以及策略的制定带来了很大的困难。又由于目前入侵检测的误报率较高, 大量的误报警信息一方面易造成防火墙负载过重, 另一方面又会使防火墙采取错误的联动, 影响了用户的正常工作。为了解决这个问题, 可以在联动控制台中加入分析模块, 对获取的报警信息进行过滤分析, 从而得到更为有效的数据, 为防御策略的制定打下良好的基础, 提高联动的准确性。进一步地, 可以采用关联分析的方法。在网络安全领域中, 所谓的关联分析是对网络全局的安全事件数据进行自动、连续的分析, 根据用户定义的、可配置的规则来识别网络威胁和复杂的攻击模式, 从而确定事件的真实性, 进行事件分级, 并对事件进行有效的响应。运用关联分析, 可以更高层次地抽象出数据之间的内在规律及其本质, 以便从众多的报警信息中抽取确定的攻击行为, 将一系列行为相关的信息融合成一条信息, 减少了报警数目也给网络管理减轻了负担, 可以正确、快速地制定出对应的策略来进行防火墙的配置。

3) 策略管理模块

它主要用来针对实际网络环境中存在的各种攻击行为进行有效的响应, 包括策略浏览、策略查找、策略添加、策略修改、策略删除、响应方式浏览、响应添加、响应修改等功能。通过该模块可以实现对整个策略库的配置管理, 从而保证联动响应过程的顺利进行。联动过程中所添加的规则都记录在联动策略库中, 策略管理模块所需做的工作即根据事件分析模块生成的事件攻击类型, 和联动策略库里的策略规则相对照, 以决定是更新防火墙原有的过滤规则还是添加新的阻塞规则。然后, 策略模块给防火墙发送指令, 指出它应该做出什么样的响应动作。对于联动策略库, 当有新的攻击类型出现便需添加新的规则, 在添加新规则后还需进行链表维护, 使得新添加的规则不会破坏原有的链表关系。对于不常见的攻击类型, 防火墙阻隔一段时间后会删除此条规则, 但在防火墙日志模块中仍有记录, 若入侵多次出现, 通过审计结果可向控制台发送信息, 报告这一异常情况, 策略管理模块可决定将此阻断规则永久写入防火墙的规则库中。

3.2 联动系统的实现

从联动系统框架图 (图4) 来看, 首先防火墙根据预定的规则对网络数据包进行过滤。如果发现为合法的数据包则允许其通过防火墙 (完成第三层的包过滤) , 数据包将被传送至交换机, 在交换机上设置端口映射机制, 将所有进出的数据包都映射到入侵检测系统服务器的端口, 入侵检测系统根据其定义的规则库对数据包进行过滤, 一旦发现有害数据包, 联动系统事件收集模块将记录下数据包的一些协议信息并保存到日志文件中。事件分析模块程序通过定时的分析收集模块生成的日志信息, 并将其中有害的日志记录转化为防火墙能够理解的协议格式。通过策略管理模块将所生成的数据发送到防火墙端并根据数据更新防火墙策略, 这样就能够对黑客攻击行为进行有效的阻击。

由此可以看出, 完成联动系统的关键有三点:

1) 分析事件收集模块日志, 完成协议数据转换;

2) 将转换后的协议数据传送到防火墙;

3) 防火墙接收到数据后立即执行指令, 完成动态配置防火墙。

下面以Iptables防火墙和Snort入侵检测系统为例, 详细地介绍两者联动实现过程。

3.2.1 协议格式转换

Snort系统采用独特的日志记录, 需要将日志格式转化为Iptables防火墙能够理解的格式。我们通过对Snort日志格式的分析, 提取其中一些防火墙所关心的字段 (例如:源地址、目的地址、源端口、目的端口、协议类型等) , 并将这些字段组合成新的Iptables指令。

3.2.2建立连接传送Iptables指令

当协议转换成功之后, 我们需要和防火墙建立Socket连接, 建立连接的伪代码如下:

连接建立成功之后, 数据将被发送到服务端。

3.2.3防火墙端执行指令

防火墙接收数据并执行的伪代码如下:

4 结 论

防火墙和入侵检测系统的功能有各自的特点和局限性, 但如果将防火墙和入侵检测系统联动, 就可以有效提升防火墙的机动性和实时反应能力, 同时也可增强入侵检测系统的阻断功能[7], 将两者的能力充分发挥出来, 相互弥补不足, 相互提供保护。特别是针对那些需要7×24小时提供网络服务的服务器, 能在有限的人力情况下实现有效的防护。防火墙与入侵检测系统结合是将动态安全技术的实时、快速、自适应的特点成为静态技术的有效补充, 将静态技术的包过滤、信任检查、访问控制成为动态技术的有力保障。两者结合使用可以很好的将对方的弱点淡化, 而将自己的优点补充上去, 使防御系统成为一个更加坚固的围墙。在未来的网络安全技术领域中, 把动态技术与静态技术的互动使用, 将有很大的发展空间。

摘要:互联网技术的发展带动了众多新型网络产业的出现。针对新型网络公司业务运营要求实现系统安全技术的特点, 设计和实现了一种防火墙与入侵检测联动的系统。该系统通过联动把实时、快速和自适应的动态安全技术作为静态防火墙技术的有效补充, 为静态防火墙技术的包过滤、信任检查和访问控制的动态更新提供了技术保障。使远程控制的无人值守机房的网络系统安全问题得到了有效解决。

关键词:防火墙,入侵检测系统,无人机房,网络安全

参考文献

[1]Rajeev TShandilya.电子商务与技术[M].陈充明, 等译.科学出版社, 2004.

[2]李连焕.防火墙与入侵检测在校园网中的应用[J].科技信息:科学教研, 2007 (15) .

[3]伊志军.网络安全联动分析[J].中国教育网络, 2005 (12) .

[4]孙笑庆.联动防火墙构建立体防护体系[J].中国计算机报, 2002 (30) .

[5]张世永.网络安全原理与应用[M].科学出版社, 2004.

[6]邵波, 王其和.计算机网络安全技术及应用[M].电子工业出版社, 2005.

上一篇:运动设备卫生下一篇:经典对白