1入侵检测

1.1入侵检测概述

入侵检测就是对入侵行为的检测,入侵检测顾名思义就是对入侵行为的检测。通过收集和分析计算机网络或计算机系统中的一些关键点,他可以发现网络或系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测是对入侵行为的检测。它收集和分析网络行为、安全日志、审计入侵检测图像数据、其他网络上可用的信息和计算机系统中一些关键点的信息,检查网络或系统中是否存在违反安全策略和被攻击的迹象。入侵检测作为一种主动的安全保护技术,对内部攻击、外部攻击和误操作提供实时保护,在网络系统受到危害之前拦截和响应入侵。

误用检测是将入侵者的活动用一种模式表示,入侵检测系统的目标是检测主体的活动是否符合这些模式。目前商业产品中最常见的误用检测形式是将每个攻击事件的模式定义为一个独立的特征,从而建立入侵特征库。它可以检查现有的入侵方法,但它可以不要对新的做任何事情。

异常检测假设入侵者的活动与正常主体的活动不同。根据这个概念,活动简介的主题的正常活动,并将受试者的当前活动状态与活动简介。当违反统计法时,认为该活动可能是入侵行为。异常检测的难点在于如何建立活动简介以及如何设计统计算法,才不会把正常操作当成入侵还是忽略了真正的入侵行为。异常检测是指通过攻击行为的特征库,采用特征匹配的方法来确定攻击事件。误用检测具有误报率低、检测速度快的优点。然而,误用检测通常可以在攻击特征数据库中找不到任何预先指定的攻击,因此它可以检测不到新的攻击。

介绍了数据挖掘技术在入侵检测中的应用,从大量的审计数据中提取入侵或正常行为模式,并将这些模式应用于误用检测和异常检测。

1.2入侵检测的内容

入侵检测主要包括以下内容:检测和分析用户和系统的活动;检查系统配置和漏洞;评估关键系统资源和数据文件的完整性;已知攻击;分析日常行为;操作系统日志管理以识别违反安全策略的用户活动。

1.3入侵检测机制

(1)模式匹配。模式匹配是将收集到的信息与已知的网络入侵进行比较,发现违反安全策略的入侵。这种检测方法只需收集相关数据集即可判断,减少了系统占用。它的技术相当成熟,检测精度和效率也相当高。

(2)异常检测。异常检测首先创建系统对象(用户、文件、目录、设备等)的统计描述。),包括正常使用时的测量属性统计,如访问次数、操作失败次数、时间延迟等。测量属性的平均值用于与网络系统的行为进行比较。当观察值超出正常范围时,入侵检测系统将判断发生了入侵。异常检测的优点是可以检测未知入侵和复杂入侵,缺点是虚警和误报率高。异常检测是指基于异常行为(系统或用户)和异常计算机资源使用的入侵检测。关键在于建立用户和系统的正常行为轮廓,并检测实际活动以确定它们是否偏离正常轮廓。

(3)协议分析。协议分析是在传统模式匹配技术的基础上发展起来的一种新的入侵检测技术。它充分利用网络协议的高阶性,结合高速数据包捕获、协议分析和命令解析,快速检测出一个攻击特征的存在。这项技术正逐渐进入成熟的应用阶段。该协议大大减少了计算量,即使在高负载的高速网络中也能逐个分析所有数据包。

2数据挖掘概述

2.1数据挖掘的方法

数据挖掘,也称为数据库中的知识发现(KDD),是用于从大型数据库中提取有价值的知识的过程。

将数据挖掘技术应用于入侵检测的目的是从大量的审计数据中挖掘出用户感兴趣的有价值的信息,然后将获取的知识用可理解的方式表达出来,最后利用获取的知识检测是否存在入侵。

数据挖掘的目标是从数据库中发现隐含的、有意义的知识。根据其功能,可分为以下几类:

(1)相关性分析

关联分析可以发现数据库中大量数据的相关性。两种常用的技术是关联规则和序列模式。关联规则是发现一个事物与其他事物之间的相关性或相互依赖性,可以用来比如分析顾客在超市购买牙刷的同时购买牙膏的可能性;关联规则关联规则是XY形式的蕴涵,其中X和Y分别称为先行或左手边,LHS)和后继(共识或右手边,RHS)。序列分析侧重于分析数据之间的因果关系。比如买电脑的客户,会在3个月内购买杀毒软件。序列模式挖掘是指挖掘相对时间内出现频率较高的模式或其他模式。顺序模式的一个例子是九个月前购买奔腾电脑的客户可能会在一个月内订购新的CPU芯片。由于许多商业交易、电传记录、天气数据和生产过程都是时间序列数据,序列模式挖掘在目标市场、客户吸引和天气预报的数据分析中非常有用。

(2)聚类

输入数据未标记任何类型。聚类是将数据按照一定的规则划分到合理的集合中,即将对象分组到多个类或簇中,使同一簇中的对象具有较高的相似性,而不同簇中的对象差异较大。

(3)自动预测趋势和行为。

数据挖掘可以在大型数据库中自动进行分类和预测,发现预测信息,自动提出模型来描述重要的数据类别或预测未来的数据趋势。

(4)概念描述

概念描述是描述一个类对象的内涵,概括这个类对象的相关特征。对于数据库中复杂的数据,人们期望用简洁的描述形式来描述收集到的数据集。

(5)偏差检测

偏差包括很多潜在的知识,如分类中的异常例子,特殊情况下不不满足规则,观测结果与模型预测值的偏差,震级随时间的变化等。

2.2数据挖掘的过程

将数据挖掘引入入侵检测的优势在于它可以提取人们需要和不需要的知识和规则不能从大量的网络数据和主机日志数据中提前知道。入侵检测可以看作是一个数据分析过程,可以对大量的安全数据应用特定的数据挖掘算法,从而构建一个具有适应性和良好扩展性的入侵检测系统。

应用于入侵检测的数据挖掘算法主要集中在四种基本模型上:关联、序列、分类和聚类。

数据挖掘在入侵检测中的应用

3.1数据挖掘技术在入侵检测中的应用

(1)关联规则挖掘的应用

关联规则是数据挖掘中应用最广泛的技术之一,也是最早应用于入侵检测的技术。这项技术最初被用作生成网络流量(包括消息和连接)报告的工具。发现关联规则的问题是发现所有支持度和可信度超过规定阈值的关联规则。这个发现过程分为两步:第一步是识别所有频繁项集,即支持度不低于用户指定的最小支持度阈值的所有项集;第二步是从第一步得到的频繁集构造可信度不低于用户指定的最小可信度阈值的规则。在网络流量分析的应用中,一个连接被视为一个事务T,许多收集到的连接记录形成一个事务数据库d,每个事务T由七项组成:duration、service、src-host、dst-host、dst-bytes、flag。事务的唯一标识符是time,其中service是服务(或目的端口),src-host是源主机,dst-host。

(2)序列模式分析的应用

该模式用于发现诸如在一定时期内,顾客购买商品A,然后购买商品B,再购买商品C,即ABC的顺序频繁出现。由于网络攻击与时间变量密切相关,序列模式分析在相关性分析的基础上进一步分析攻击的时间相关性。利用Lee关联分析的数据结构和库函数实现序列模式分析。序列模式的形式化描述是:事件数据库D是已知的,其中每个事务T都与一个时间戳相关联,事务以区间[t1,t2]的顺序从时间t1开始到t2结束。对于D中的项目集X,如果一个区间包含X,但其子区间不包含X,则这个区间称为X的最小出现区间,X的支持度定义为包含X的最小出现区间数与D中记录数的比值,规则表示为X,YZ,[confi ce,support,window],其中X,Y,Z为D中的项目集,规则支持度为support (x y z),置信度为support(XYZ)/D考虑到网络或操作系统中审计数据流的特点,将入侵事件序列视为单一序列,X、Y、Z满足偏序关系。

(3)聚类分析的应用

聚类分析是指将一组物理或抽象对象分组到由相似对象组成的多个类中的分析过程。这是一种重要的人类行为。聚类分析的目标是基于相似性收集用于分类的数据。聚类起源于许多领域,包括数学、计算机科学、统计学、生物学和经济学。在不同的应用领域已经开发了许多聚类技术。这些技术用于描述数据,测量不同数据源之间的相似性,并将数据源分类到不同的聚类中。分类和聚类的区别在于,分类将分类规则应用于数据对象;聚类是为了发现隐藏在混合数据对象中的分类规则。Portnoy提出了一种基于聚类分析的入侵检测算法——无监督异常检测算法,通过训练未标记数据来检测入侵。算法设计基于两个假设:第一次正常行为记录的数量远大于入侵行为记录的数量;第二种入侵行为与正常行为有本质区别。

(4)分类分析的应用

数据分类分为两个过程:(1)选择一个数据集,已知训练数据集的每个元组(训练样本)的类标签。例如,在入侵检测中,可以根据黑客入侵的危害程度将类别标签指定为:正常、弱入侵、一般入侵和强入侵。建立模型,通过分析属性描述的训练数据库元组来构建模型。因为提供了每个训练样本的类标签,所以这一步也称为引导学习过程。通常,学习模型以分类规则、决策树或数学公式的形式表示。(2)对模型进行分类。首先,评估模型(分类规则)的预测精度。对于每个测试样本,将已知类别标签与样本的类别预测标签进行比较。给定测试集上模型的准确性是由模型分类的测试样本的百分比。如果模型的精度是可接受的,它可以用于分类数据元组或具有未知类别号的对象。

3.2数据挖掘技术用于入侵检测的优势

(1)良好的适应性

传统入侵检测系统规则库的建立需要一个专门的专家组来发现其特征,并根据已有的攻击开发其检测工具。然而,当攻击很复杂或需要很长时间时,系统不可能总是快速跟踪入侵技术的发展。此外,为每次新的攻击更换系统的成本很高。由于使用数据挖掘技术的异常检测不是基于信号匹配模式,也不是检测每一个特殊信号,所以不存在这个问题,所以表现出一定的实时性。

(2)低误报率

现有系统过于依赖简单的信号匹配,发出的告警可能远远多于实际情况。如果这种信号包含在一些正常的工作中(这种可能性很大),必然会产生虚警。使用数据挖掘的系统可以从警报发生的序列中发现一些规则,并过滤掉正常行为产生的信号。数据挖掘方法还能有效剔除重复攻击数据,因此具有较低的误报率。

(3)漏报率低。

当一种以前从未出现过的新的攻击方式出现,或者一种攻击改变了它的某些方式时,很有可能传统系统不会做出反应。使用数据挖掘技术的系统可以快速发现新的攻击,大大降低了误报的可能性。

(4)减少数据过载。

对于传统的入侵检测系统来说,另一个需要考虑的问题不是能否准确有效地检测到来自各方的攻击,而是准确发现一次攻击需要多少数据。如今,网络上的数据流量越来越大。如果一个大公司整个网络需要一个入侵检测系统,那么它的网络流量和每天产生的各种网络记录都是非常巨大的。数据挖掘技术的应用可以很好地解决这个问题。现有的数据挖掘算法通过探索数据之间的关系,可以从不同侧面提供数据特征,特别是通过将以前的结果与最新的数据相结合,可以大大减少不必要的数据。

3.3有待改进的领域

数据挖掘在入侵检测中的应用还有待提高。比如:(1)全流程自动化,即从审计数据中自动建立可以直接应用的入侵检测系统。因此,需要对从审计数据中挖掘出的数据建立有效的编码机制,将挖掘出的模式转换成数字形式,以更直观的方式将正常模式与攻击模式进行比较,自动生成攻击模式。(2)提高系统的整体性能、准确性、实时性和可用性,将科研成果应用到实际环境中。(3)数据挖掘结果的可视化。数据挖掘的结果可以图形化表示,可以更好地分析数据中隐藏的信息。(4)将入侵检测系统与网络管理系统相结合。许多网络异常行为可以被网络管理系统过滤掉。当检测到入侵时,入侵检测系统可以与网络管理系统进行通信,并及时采取措施,如切断连接和重定向被攻击主机的服务。