基于神经网络的入侵检测技术汇总.docx
《基于神经网络的入侵检测技术汇总.docx》由会员分享,可在线阅读,更多相关《基于神经网络的入侵检测技术汇总.docx(20页珍藏版)》请在冰豆网上搜索。
基于神经网络的入侵检测技术汇总
基于神经网络的入侵检测技术
摘要:
关于神经网络与入侵检测技术的结合一直是网络安全问题研究的一个热点,本文介绍了网络发展带来的问题,并详细阐述了入侵检测技术的基本概况,接着说明神经网络在入侵检测中的应用,最后对其提出了一些展望。
关键词:
神经网络入侵检测激励函数模型
Abstract:
Onneuralnetworkandintrusiondetectiontechnologycombinedwithnetworksecurityissueshasbeenaresearchfocus,thispaperbringstheissueofnetworkdevelopment,andelaboratedonthebasicoverviewofintrusiondetectiontechnology,andthentheneuralnetworkintrusiondetectionFinally,someprospectsofitsproposed.
Keywords:
neuralnetworkintrusionDetectionActivationfunctionmodel
1引言
伴随着计算机网络技术的快速发展,网络的安全问题也日益突出,网络安全的一个主要威胁就是通过网络对信息系统的人侵。
特别是系统中一些敏感及关键信息,经常遭受恶意和非法用户的攻击,使得这些信息被非法获取或破坏,造成严重的后果。
目前在各个领域的计算机犯罪和网络非法入侵,无论是数量,手段,还是性质、规模,已经到了令人咋舌的地步。
据统计,美国每年由于网络安全问题而造成的经济损失超过170亿美元,德国、英国也均在数十亿美元以上,法国、新加坡等其它国家问题也很严重[1]。
在国际刑法界列举的现代社会新型犯罪排行榜上,计算机犯罪已名列榜首。
2008年,CSI/FBI调查所接触的524个组织工作中,有56%遇到电脑安全事件,其中有38%遇到1-5起,16%以上遇到11起以上。
因与互联网连接而成为频繁攻击点的组织连续3年不断增加,遭受拒绝服务攻击则从2005年的27%上升到2008的42%。
所以,对网络及其信息的保护成为重要课题。
对于网络安全现有的解决方案,我们知道防火墙、加密技术等都属于静态的防护手段,只能够被动的防御攻击,而对于已经发生的攻击则束手无策。
鉴于此,能动态、主动地实现网络防卫的实时人侵检测技术日益成为网络安全领域的一个关键技术。
神经网络NN(NeuralNetwork)具有检测准确度高且有良好的非线性映射和自学习能力、建模简单、容错性强等优点。
神经网络技术具备相当强的攻击模式分析能力,能够较好地处理带噪声的数据,在概念和处理方法上都适合入侵检测
系统的要求,已成为入侵检测技术领域研究的热点之一[2]。
但由于传统的入侵检测技术存在着规则库难于管理、统计模型难以建立以及较高的误报率和漏报率等诸多问题,制约了入侵检测系统在实际应用中的效果。
因此针对目前入侵检测系统存在的各种缺点和不足,提出了将神经网络运用于入侵检测的概念模型。
网络入侵检测问题本质上是获取网络上的数据流量信息并根据一定的方法进行分析,来判断是否受到了攻击或者入侵,因此,入侵检测问题可以理解为模式识别问题。
而人工神经网络是一种基于大量神经元广泛互联的数学模型,具有自学习、自组织、自适应的特点,在模式识别领域的应用取得了良好的效果。
利用神经网络技术的自学习能力、联想记忆能力和模糊运算能力,可以对各种入侵和攻击
进行识别和检测。
基于这个思路,将神经网络技术和入侵检测技术相结合,建立了一个基于神经网络的入侵检测系统模型并实现了一个基于BP(BackPropagation)神经网络的入侵检测系统的原形,对原有的误差返向传播算法进行了改进以太提高收敛速度,然后对一些实际数据进行了测试和分析,在检测率,漏报率,误报率等方面取得了较好的效果。
2入侵检测技术概况
2.1入侵检测介绍
2.1.1入侵检测的基本概念
入侵(Intrusion)是指任何试图破坏资源完整性、机密性和可用性或可控性的行为。
完整性是指数据XX不能改变的特性;机密性是指信息不泄漏给非授权用户、实体或过程,或供其利用的特性;可用性是可被授权实体访问并按要求使用的特性;可控性是指对信息传播及内容具有控制能力。
作为一个广义的概念,入侵不仅包括发起攻击的人(如恶意的黑客)取得超出合法范围的系统控制权,也包括用户对于系统资源的误用,收集漏洞信息造成拒绝访问(DenialofService)等对计算机系统造成危害的行为。
入侵检测(IntrusionDetection),顾名思义,是指对于面向计算资源和网络资源的恶意行为的识别和响应。
入侵检测是一种主动保护网络和系统安全的新型网络安全技术,是目前网络安全体系结构中的重要组成部分。
它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为或被攻击的迹象,然后采取适当的响应措施来阻挡攻击,降低可能的损失[3]。
入侵检测系统的主要功能包括:
1、监视、分析用户及系统活动;
2、检查系统配置及存在的漏洞;
3、评估系统关键资源和数据文件的完整性;
4、识别已知的攻击;
5、统计分析异常行为;
6、管理操作系统的日志,并识别违反用户安全策略的行为。
2.1.2入侵检测的一般步骤
(1)信息收集确定数据源是入侵检测的第一步。
它的内容包括系统、网络、数据及用户活动的状态和行为。
入侵检测是否准确很大程度上依赖于收集信息的可靠性和正确性,入侵检测利用的信息一般来自一下四个方面:
A系统日志和网络数据报
B目录和文件中的不期望的改变
C程序执行中的不期望行为
D物理形式的入侵信息
(2)数据分析收集到的有关系统、网络、数据及用户活动的状态和行为等信息,被送到检测引擎,一般通过三种技术手段进行分析:
模式匹配、统计分析和完整性分析。
模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。
该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。
一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。
该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。
它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。
但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。
测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。
例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的账户却在凌晨两点试图登录。
其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。
具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。
完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。
完整性分析利用强有力的加密机制,称为消息摘要函数(例如MD5),它能识别哪怕是微小的变化。
其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。
缺点是一般以批处理方式实现,不用于实时响应。
尽管如此,完整性检测方法还应该是网络安全产品的必要手段之一。
例如,可以在每一天的某个特定时间内开启完整性分析模块,对网络系统进行全面地扫描检查。
(3)系统响应入侵检测的响应可以分为主动响应和被动响应两种类型。
在主动响应中,入侵检测系统(自动地或与用户一起)应能阻塞攻击,进而改变攻击的进程。
在被动攻击里,入侵检测系统仅仅简单地报告和记录所检测出的问题。
主动响应包括入侵反击、修正系统环境、收集额外信息等几种方式;被动相应包括告警和通知等。
主动响应和被动响应并不是相互排斥的,不管使用哪一种响应机制,作为任务的一个重要部分,入侵检测系统应该总能以日志的形式记录下检测结果。
2.2入侵检测分类
目前入侵检测技术的分类方法很多,但主要包括基于体系结构的分类、基于分析策略的分类和基于工作方式的分类[4,5]。
2.2.1基于体系结构的分类
根据体系结构的不同可以分为基于主机的IDS(Host-basedIDS)和基于网络的IDS(Network-basedIDS)。
基于主机的IDS安装在独立的主机上,通过监视WINDOWSNT上的系统事件、日志以及UNIX环境下的SYSLOG文件可以精确地判断入侵事件[6],一旦这些系统文件有变化,IDS将新的日志记录与攻击签名比较,以发现它们是否匹配。
如匹配,IDS将向管理员报警并采取相应行动。
基于网络的IDS使用原始的网络分组数据包作为进行攻击分析的数据源,一般需要一个独立的网络适配器,将其设置为混杂模式来实时监听所有通过网络进行传输的数据包[7],并与攻击签名匹配,一旦检测到攻击,IDS将对相关事件进行报警。
2.2.1.1基于主机的入侵检测早期在网络远没有现在盛行的时候,入侵检测系统主要是基于主机的系统。
基于主机的入侵检测系统通常应用两种类型的信息源,操作系统审计踪迹和系统日志。
操作系统审计踪迹由操作系统内核产生,这些审计踪迹是系统活动信息的集合,是对系统事件的忠实记录,由于操作系统本身提供了对审计踪迹的保护机制,因此作为入侵检测的信息源,操作系统审计踪迹的可靠性能得到很好的保证,但审计数据过于庞杂并
且不易理解是其弱点所在;系统日志是一个反应各种各样的系统事件和设置的文件,由于日志文件通常是由应用程序产生,而且通常存储在不受保护的目录里,与操作系统审计踪迹相比,安全性不够好,但是系统日志结构简单(比如作为文本文件形式存在),理解起来相对容易,而安全性问题可以通过日志文件重定向等方法来解决,因此日志文件仍然是基于主机的入侵检测系统最常用的信息源之一,对日志文件在入侵检测系统中应用的研究也是当前的研究热点之一。
基于主机的入侵检测系统的优点包括:
对入侵事件的观察更为细腻,理解更为准确;可以观察到入侵事件的后果;可以检测到网络入侵检测系统检测不到的入侵,不受网络信息流加密和交换网络的影响;可以检测到特洛伊木马等破坏软件完整性的入侵。
所存在的不足主要有:
占用所监视主机的系统资源,影响系统运行效率;无法检测针对网络发起的协同入侵:
本身容易受到入侵而失效。
2.2.1.2基于网络的入侵检测随着网络的飞速发展,基于网络的入侵检测系统开始走向前台,成为入侵检测研究的热点和主流,目前的入侵检测系统大都是基于网络的入侵检测系统。
基于网络的入侵检测系统,顾名思义,其信息源来来自网络,系统通过对网络数据流进行捕获、分析,以判断是否受到入侵。
在体系结构上,华于网络的入侵检测系统通常包含一系列sensor和中央控制台,这些sensor负责监视网络数据流,做局部的分析和判断,并
向中央控制一台报告,这些传感器通常被设计成隐藏模式运行,因此安全性较好。
基于网络的入侵检测系统的主要优点包括:
作用范围较广,与只能监视单一主机的主机型入侵检测系统不同,基于网络的入侵检测系统可以部署在网段的关键位置,监控流经该网段所有主机的网络通信流,保护该网段的所有主机,这对局域网用户特别实用:
本身的抗入侵性能较好,自身安全性较高;提供实时的网路监视,对入侵反应迅速;对现有网络影响很小;操作系统无关性。
所存在的主要不足之处:
高速网络环境下的数据报丢失问题;交换网络环境下以及VPN环境下信息报的加密问题,随着越来越多得企业组织使用VPN,这个问题将会变得更加突出:
检测精确度较差,容易被高明的黑客欺骗。
2.2.2基于分析策略的分类
根据采用的策略不同可分为误用检测(MisuseDetection或称Rule-basedDetection)和异常检测(AnomalyDetection)两大类[8,9]。
2.2.2.1误用检测误用检测又可称为基于知识的入侵检测。
这一检测假设所有入侵行为和手段都能够表达为一种模式或误用,那么所有已知的入侵方法都可以用匹配的方法发现,它对己知的攻击或入侵的方式做出确定性的描述,系统的目标是检测主体活动是否符合这些模式,形成相应的事件模式,对入侵特征的精确描述使入侵检测系统可以很容易将入侵检测出来。
当被审计的事件与已知的入侵事件模式相匹配时就记录下来并报告管理员。
其原理
上与专家系统相仿,检测方法上与计算机病毒的检测方式类似。
误用检测的关键是如何表达入侵的模式,把真正的入侵与正常行为区分开来。
目前基于对包误用描述的模式匹配应用较为广泛,其难点在于如何设计模式既能够表达“入侵”现象又不会将正常的活动包含进来。
误用检测可以有多种实现方法,它们的不同点主要是匹配算法的入侵模式编码方式不同。
误用检测系统的实现技术包括专家系统、击键监视、状态转化和模式匹配的入侵检测系统等。
误用检测的最大优点是由于依据具体特征库进行判断,可以精确有效的检测规则库中包含的入侵模式。
可以将己有的入侵方法检查出来,误报少,预报检测的准确率较高,并且因为检测结果有明确的参照,也为系统管理员做出相应措施提供了方便。
局限性是它只能发现已知的攻击,对未知的攻击无能为力,对新的入侵方法无能为力。
对于规则库中没有的未知入侵模式,
误用检测就显得无能为力。
由于建立系统弱点和攻击模式的规则需要进行分析和归类,因此误用检测的检测规则需要进行手工编码和验证。
由于新的攻击技术随时会出现,因此规则库需要经常更新。
再者与具体系统依赖性太强,不但系统移植性不好,维护工作量大,而且将具体入侵手段抽象成知识也很困难。
并且检测范围受已知知识的局限,尤其是难以检测内部人员的入侵行为,如合法用户的泄漏,因为这些入侵行为并没有利用系统脆弱性。
2.2.2.2异常检测异常检测方法通过异常监测器观察主体的活动,然后产生刻画这些活动的行为的轮廓。
每一个轮廓保存记录主体当前的行为,并定时将当前行为与存储的轮廓合并。
通过比较当前轮廓与己存储的轮廓判断异常行为,检测出网络入侵。
它对端口漏洞扫描和拒绝服务攻击(DoS)等具有统计特征攻击方法的检测特别有效。
这种模型与系统相对无关,通用性较强,简单,易于实现,运动速度快,不需要为设定限制值而掌握正常活动的知识,可检测出一些未知攻击方法。
当然,单纯的统计异常检测方法是不能满足需要的,它对事件发生的次序不敏感,误报率较高,对没有统计特征的攻击方法难以检测。
异常检测一般先建立用户行为的正常模型,再将实际观察到的行为与之相比较,检测与正常行为偏差较大的行为。
对异常行为的检测一般基于统计法,一个用户正常行为模型的建立往往需要进行多次统计,并且随着观察数据的变化进行周期性更新。
为了准确表现用户行为,在进行统计时需要对观察值进行加权处理。
在异常入侵检测中,假定所有入侵行为都是与正常行为不同的,这样,如果建立系统正常行为的轨迹,那么理论上可以把所有与正常轨迹不同的系统状态视为可疑企图。
比如,通过流量统计分析将异常时间的异常网络流量视为可疑。
异常检测的难题在于如何建立系统正常行为的轨迹以及如何设计统计算法,从而不把正常的操作作为“入侵”或忽略真正的“入侵”行为。
由于异常检测不需要预先知道特定入侵的任何知识,因而可以检测未知类型的攻击。
另外由于统计模型的更新相对容易,对异常的检测便具有对用户或系统行为的适应性。
异常入侵检测的局限是并非所有的入侵都表现为异常,而且系统的轨迹难于计算和更新;不同计算环境中选取的用与统计的系统误用也不相同;界定正常行为与异常行为的阈值难以确定;用户行为可能会动态改变或前后不一致;一些入侵只有通过对用户数据的连续观察才能检测,在异常统计中表现为正常的单个数据可能属于某个入侵行为;由于基于统计的系统需要经过一定时间的学习,一个有准备的入侵者可以精心设计使统计模型适应他的数据,从而使系统将这类入侵行为标记为正常行为。
2.2.3基于工作方式的分类
2.2.3.1离线检测离线检测是一种非实时工作的系统,在事件发生后分析审计事件,从中检查入侵事件。
这类系统的成本低,可以分析大量事件,调查长期的情况,可以为在线检测提供攻击信息。
但由于是在事后进行,不能对系统提供及时的保护。
而且很多入侵在完成都将审计事件去掉,使其无法审计。
2.2.3.2在线检测在线检测对网络数据包或主机的审计事件进行实时分析,可以决速反应,保护系统的安全;但在系统规模较大时,难以保证实时性和较低的误报警率和漏报警率。
2.3入侵检测方法概览
误用检测和异常检测作为两大类入侵检测技术,各有所长,又在技术上互补。
误用检测是建立在使用某种模式或者特征编码方法对任何已知攻击进行描述这一理论基础上的;异常检测则是通过建立一个“正常活动”的系统或用户的正常轮廓,凡是偏离了该正常轮廓的行为就认为是入侵。
误用检测检测精度高,却无法检测新的攻击;异常检测可以检测新的攻击却有较高的误警率。
2.3.1误用检测技术
2.3.1.1基于专家系统的IDS专家系统是误用检测技术中运用最多的一种方法。
基于专家系统的入侵检测的原则是任何与己知入侵模型符合的行为都是入侵。
它首先要求建立已知的攻击签名知识库,即将入侵知识进行编码表示成IF-THEN规则。
然后对当前系统日志文件和数据包进特征抽取,和签名库中的攻击签名进行匹配,判断是否出现入侵行为,这种方法准确性高,而且可精确判定是何种攻击。
规则可以根据IDS类型不同来定义。
如基于网络的IDS专家系统中的规则就包含和网络相关的几个部分,如处理的方法、协议、通讯的方向、特征值等。
基于这种模型的入侵检测主要问题是只能检测已知的攻击。
2.3.1.2基于状态转移分析的方法在这种方法中,状态转移分析(StateTransitionAnalysis)将攻击表示成一系列被监控的系统状态转移。
这里的“状态”指系统在某一时刻的特征,由一系列系统属性来描述。
初始状态对应于入侵开始时刻的系统状态,危及系统安全的状态对应于已成功入侵时刻的系统状态,在这两个状态之间则可能有一个或多个中间状态的迁移。
分析时首先针对每种入侵方法确定系统的初始状态和危及系统安全的状态,以及导致状态转换的事件,即导致系统进入危及系统安全状态必须执行的关键操作(特征事件)。
状态间的迁移信息可以用状态迁移图描述,通过弧将连续的状态连接起来以表示状态改变所需要的特征事件。
允许特征事件类型被植入到模型中,并且无须同审计记录一一对应,所以检测时不需要一个个地查找审计记录。
在分析审计事件时,若根据由已知的入侵特征建立的布尔表达式,系统从安全状态转移到不安全状态,则可认为是入侵事件。
采用这种方法的系统包括STAT(StateTransitionAnalysisTools)和USTAT(AReal-timeIntrusionDetectionSystemforUNIX)。
2.3.1.3模式匹配的方法SandeepKumar提出了基于模式匹配(PatternMatching)的入侵检测方法。
这一方法将已知的入侵特征编码成为与审计记录相符合的模式。
与状态转移分析相类似,当新的审计事件产生时,这一方法将寻找与它相匹配的己知入侵模式。
与状态转移分析不同之处在于用作限制条件的布尔表达式与状态相关联而不是与转换相关联。
Kumar使用CPN(ColoredPetriNetwork)来描述入侵者的攻击模式。
CPN是一种节点代表状态、边表示状态间迁移的有向图,表示迁移的边可以附加一些用表达式描述的操作。
在发生状态迁移时,这些表达式允许对一些符号的局部变量进行赋值。
CPN可有多个初始状态,但只能有一个终结状态。
而且每个CPN可拥有一组与它有关的变量,用于描述状态变迁的上下文。
2.3.2异常检测技术
2.3.2.1基于统计的异常检测技术统计异常检测方法根据异常检测器观察主体的活动,然后产生刻画这些活动的行为的轮廓。
每一个轮廓保存记录主体当前行为,并定时将当前的轮廓与存储的轮廓合并。
通过比较当前的轮廓与已存储的轮廓来判断异常行为,从而检测出网络入侵。
统计异常检测方法的有利之处是所应用的技术方法在统计学得到很好的研究。
例如,位于标准方差两侧的数据可认为是异常的。
但基于统计的异常检测有以下的缺点:
A统计测量对事件的发生的次序不敏感,单纯的统计入侵检测系统可能不会发觉事件当中依次相连的入侵行为。
B单纯的统计入侵检测系统容易被入侵者通过长时间的训练使模型适应其入侵行为,而不被发现。
C难以确定判断异常的阈值,阈值设置偏低或偏高均会导致误报警事件。
D统计异常检测行为类型模型是有限的。
运用统计技术对异常作形式化处理需要假设数据来源稳定和具有才刚以胜,但在现实情况下这种假设并不总是能得到满足。
2.3.2.2基于神经网络的IDS人工神经网络(ANN)自从20世纪50年代Rosenblatt首次将单层感知器应用于模式分类学习以来,已经有了40多年的研究历史。
人工神经网络中每个神经元的结构和功能是相对简单和有限的,但正是这些众多结构简单、功能有限的神经元的“微观”活动,构成了复杂的“宏观效应”:
能完成各种复杂的信息识别和任务处理。
人工神经网络的信息分布式存储和并行式处理为信息高速处理创造了条件,且带来了对不完整信息的容错性和联想一记忆能力。
非线性全局作用特征使其处理起大规模非线性的复杂动力学系统得心应手。
更重要的是人工神经网络无需预编程,无需制定工作规则,它通过学习自行领悟事物内在规律。
这种自组织、自学习及推理的自适应能力是神经网络相对于传统AI和其它计算模型的最大优势。
如今人工神经网络已与模糊逻辑、概率推理、遗传算法、混沌系统、信念网络以及局部学习方法构成新一代智能计算内核一一软计算。
目前,神经网络己有多种模型在IDS中应用。
只要提供系统的审计迹(Audittraces)数据,神经网络就可以通过自学习从中提取正常的用户或系统活动的特征模式,而不需要获取描述用户行为特征集以及用户行为特征测度的统计分布。
另一方面,神经网络也可以作为误用检测。
神经网络可以利用大量入侵实例对其进行训练学会入侵知识,获得预测的能力,并且这一过程可以是完全抽象的计算,神经网络可以自动掌握系统的各个度量之间的内在关系,使其最大限度接近于现实的系统工作模型或网络攻击模型,从而对于输入给它的任何监测数据都能做出相当正确的判断。
2.3.2.3基于数据挖掘的IDS计算机联网导致大量审计记录,而且审计记录大多是以文件形式存放(如UNIX系统Syslog),若蠕虫依靠手工方法去发现记录中的异常现象是十分困难的,往往操作不便,且不容易找出审计记录间的相互关系。
WenkeLee和Salvatore.J.Stolfo将数据挖掘技术应用到入侵检测研究领域中,从海量审计数据或数据流中提取感兴趣的知识,这些知识是隐含的、事先未知的、潜在的有用信息,提取的知识表示为概念、规则、规律、模式等形式,并可用这些知识去检测异常入侵。
其研究的目标是尽可能得减少在建立一个入侵检测系统手工和经验成分。
这种方法采用以数据为中心的观点,把入侵检测问题看作是一个数据分析的过程。
这种方法的优点是适合于处理大量数据的情况,但对实时检测还需开发更有效的算法。
2.3.2.4基于预测模型的IDS基于预测模式生成(PredictivePatternGeneration)的异常检测方法的假设条件是事件序列不是随机的而是遵循可辨别的模式。
这种检测方法的特点是考虑了事件的序列及相互联系。
Teng和Chen给出基于时间的归纳方法利用时间规则来识别用户行为正常模式的特征。
通过归纳学习产生这些规则集,并