入侵检测技术注意:本文只是对入侵检测技术的粗略的汇总,可供平时了解与学习,不能作为科研使用!入侵检测分析系统可以采用两种类型的检测技术:异常检测(AnomalyDetection)和误用检测(MisuseDetection).异常检测异常检测也被称为基于行为的检测,基于行为的检测指根据使用者的行为或资源使用状况来判断是否入侵。基于行为的检测与系统相对无关,通用性较强。它甚至有可能检测出以前未出现过的攻击方法,不像基于知识的检测那样受已知脆弱性的限制。但因为不可能对整个系统内的所有用户行为进行全面的描述,况且每个用户的行为是经常改变的,所以它的主要缺陷在于误检率很高。尤其在用户数目众多,或工作目的经常改变的环境中。其次由于统计简表要不断更新,入侵者如果知道某系统在检测器的监视之下,他们能慢慢地训练检测系统,以至于最初认为是异常的行为,经一段时间训练后也认为是正常的了。异常检测主要方法:(1)统计分析概率统计方法是基于行为的入侵检测中应用最早也是最多的一种方法。首先,检测器根据用户对象的动作为每个用户都建立一个用户特征表,通过比较当前特征与已存储定型的以前特征,从而判断是否是异常行为。用户特征表需要根据审计记录情况不断地加以更新。用于描述特征的变量类型有:操作密度:度量操作执行的速率,常用于检测通过长时间平均觉察不到的异常行为;审计记录分布:度量在最新纪录中所有操作类型的分布;范畴尺度:度量在一定动作范畴内特定操作的分布情况;数值尺度:度量那些产生数值结果的操作,如CPU使用量,I/O使用量等。统计分析通过在一段时间内收集与合法用户行为相关的数据来定义正常的域值(Threshold),如果当前的行为偏离了正常行为的域值,那么就是有入侵的产生。对于用户所生成的每一个审计记录,系统经计算生成一个单独的检测统计值T2,用来综合表明最近用户行为的异常程度较大的T2值将指示有异常行为的发生,而接近于零的T2值则指示正常的行为。统计值T2本身是一个对多个测量值异常度的综合评价指标。假设有n个测量值表示为Si,(1=i=n),则T2=a1S12+a2S22+…+anSn2,其中ai(1=i=n)表示第i个测量值的权重。其优点是能应用成熟的概率统计理论,检测率较高,因为它可以使用不同类型的审计数据,但也有一些不足之处,如:统计检测对事件发生的次序不敏感,也就是说,完全依靠统计理论可能漏检那些利用彼此关联事件的入侵行为。其次,定义是否入侵的判断阙值也比较困难。阙值太低则漏检率提高,阙值太高则误检率提高。并且可检测到的入侵类型也受到限制。(2)基于人工免疫的异常检测将被检测网络中正常活动视为自我,异常活动视为异己,其目的就是区分正常或异常的网络活动。人工免疫模型的工作流程分为三个阶段,即生成规则基因库、筛选检测规则集和复制高效检测规则集。该入侵模型可以分成两个检测层次,一个是系统级检测层次;一个是网络级检测层次。在系统级检测层中主要监控主机的各种操作行为。用户的删除、修改、格式化等操作都要接受该层的分析和识别;而网络级检测层主要负责对网络上传输的数据的监控,包括了网络数据包的识别和检测,地址的过滤等等。人工免疫系统归根结底是进行“自我”和“非我”的识别。而在该入侵检测模型中,把与所需检测的机器相连的网络间正常的TCP/IP连接集合和该机器系统内合法的操作行为定义为“自我”,采用可以描述TCP/IP连接的特征信息来表示,例如:源IP地址,目的IP地址,服务端VI,协议类型,包的数量、字节数、特定错误和在短时间内网络的特定服务,以及描述系统合法操作的集合等。而把反常的TCP/IP连接集合和非法的系统操作集合定义为“非”我。而这些特征信息在具体表现形式上,都可以通过某种规则映射为唯一表征该信息长度为1的二进制字符串。该方法成功地将人工免疫理论应用到入侵检测中,但目前还只处于研究阶段.(3)机器学习该方法通过对新序列(如离散数据流和无序的记录)的相似度的计算,将原始数据转化为可度量的空间,然后应用IBL(InstanceBasedLearning)学习技术和一种新的基于序列的分类方法,发现异常事件,从而检测入侵行为这种方法检测速率高,且误报率较低.然而,这种方法对于用户动态行为变化以及单独异常检测还有待改善.(4)基于隐马尔可夫模型(HMM)的入侵检测方法一个系统调用,既可以是完全正常的,也可以是危险的。比如:被缓冲区溢出攻击的程序,它所产生的系统调用事件和在正常情况下产生的有着明显的不同。因此,可以通过构建正常情况下系统调用事件模型,然后观察是否与此模型有明显的偏离,以此来有效地检测入侵的产生。隐马尔可夫模型是对观察到的符号序列构造模型的一种非常好的工具,它在构造系统调用事件模型上有着比其它方法更好的性能,但它在构造正常行为模型时需要较长的时间解决办法是提高计算机系统的性能,或者减少观察的数据误用检测误用检测也被称为基于知识的检测,它指运用己知攻击方法,根据己定义好的入侵模式,通过判断这些入侵模式是否出现来检测。因为很大一部分的入侵是利用了系统的脆弱性,通过分析入侵过程的特征、条件、排列以及事件间关系能具体描述入侵行为的迹象。这种方法由于依据具体特征库进行判断,所以检测准确度很高,并且因为检测结果有明确的参照,也为系统管理员做出相应措施提供了方便。主要缺陷在于与具体系统依赖性太强,不但系统移植性不好,维护工作量大,而且将具体入侵手段抽象成知识也很困难。并且检测范围受已知知识的局限,尤其是难以检测出内部人员的入侵行为,如合法用户的泄漏,因为这些入侵行为并没有利用系统脆弱性。误用检测方法有以下几种:(1)模式匹配模式匹配就是将收集到的信息与己知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单,如通过字符串匹配发现一个简单的条目或指令,也可以很复杂,如利用形式化的数学表达式来表示安全状态的变化。模式匹配方法的一大优点是只需收集与入侵相关的数据集合,可以显著减少系统负担,检测的准确率和效率比较高。模式匹配主要是用一定的模式描述来提取攻击的主要特征.其基本任务就是把存放在入侵检测规则集中的已知入侵模式与系统正在检测的网络包或者重构的TCP流中的文本进行匹配,如果匹配成功,则可以断定发生了入侵。这个过程是不断循环进行的。它具有较高的检测率和较低的误警率,其检测规则必须不断地更新。模式匹配将入侵行为表示成一个事件序列或者转换成某种可以直接在网络数据包审计记录中找到的数据样板,而不进行规则转换,这样可以直接在审计记录中寻找相匹配的已知入侵模式。缺点:必须及时更新知识库兼容性较差建立和维护知识库的工作量都相当大(2)专家系统专家系统是基于知识的检测中运用最多的一种方法。将有关入侵的知识转化成if-then结构的规则,即将构成入侵所要求的条件转化为if部分,将发现入侵后采取的相应措施转化成then部分。当其中某个或某部分条件满足时,系统就判断为入侵行为发生。其中的if-then结构构成了描述具体攻击的规则库,状态行为及其语义环境可根据审计事件得到,推理机根据规则和行为完成判断工作。在具体实现中,专家系统主要面临以下问题:全面性问题,即难以科学地从各种入侵手段中抽象出全面的规则化知识;效率问题,即所需处理的数据量过大,而且在大型系统上,如何获得实时连续的审计数据也是个问题。用专家系统对入侵进行检测经常是针对有特征的入侵行为.它将有关入侵的知识转化为结构,部分为入侵特征,部分为系统防范措施所谓的规则,即是知识。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性专家系统的难点就在于实现专家系统知识库的完备性(3)模型推理模型推理是指结合攻击脚本推理出入侵行为是否出现。其中有关攻击者行为的知识被描述为:攻击者目的,攻击者达到此目的的可能行为步骤,以及对系统的特殊使用等。根据这些知识建立攻击脚本库,每一脚本都由一系列攻击行为组成。检测时先将这些攻击脚本的子集看作系统正面临的攻击。然后通过一个称为预测器的程序模块根据当前行为模式,产生下一个需要验证的攻击脚本子集,并将它传给决策器。决策器收到信息后,根据这些假设的攻击行为在审计记录中的可能出现方式,将它们翻译成与特定系统匹配的审计记录格式。然后在审计记录中寻找相应信息来确认或否认这些攻击。初始攻击脚本子集的假设应满足:易于在审计记录中识别,并且出现频率很高。随着一些脚本被确认的次数增多,另一些脚本被确认的次数减少,攻击脚本不断地得到更新。(4)基于规则库的方法基于规则库的安全审计方法就是将已知的攻击行为进行特征提取,把这些特征用脚本语言等方法进行描述后放入规则库中,当进行安全审记时,将收集到的网络数据与这些规则进行某种比较和匹配操作(关键字、正则表达式、模糊近似度等),从而发现可能的网络攻击行为。这种方法和某些防火墙和防病毒软件的技术思路类似,检测的准确率都相当高,可以通过最简单的匹配方法过滤掉大量的网络数据信息,对于使用特定黑客工具进行的网络攻击特别有效。比如发现目的端口为139以及含有00B标志的数据包,一般肯定是Winnuke攻击数据包。而且规则库可以从互连网上下载和升级(如CERT)等站点都可以提供了各种最新攻击数据库),使得系统的可扩充性非常好。(5)状态转换分析状态转换分析就是将状态转换图应用于入侵行为的分析。状态转换法将入侵过程看作一个行为序列,这个行为序列导致系统从初始状态转入被入侵状态。分析时首先针对每一种入侵方法确定系统的初始状态和被入侵状态,以及导致状态转换的转换条件,即导致系统进入被入侵状态必须执行的操作(特征事件)。然后用状态转换图来表示每一个状态和特征事件,这些事件被集成于模型中,所以检测时不需要一个个地查找审计记录。但是,状态转换是针对事件序列分析,所以不善于分析过分复杂的事件,而且不能检测与系统状态无关的入侵。状态转换分析:它将入侵检测表示成一系列被监控的系统状态迁移,攻击模式的状态对应于系统状态,并具有迁移到另外状态的条件判断。通过弧将连续的状态连接起来以表示状态改变所需的事件,允许事件类型被植入到模型并且无需同审计记录一一对应。(6)按键监视(键盘监控)假设每种网络入侵行为都具有特定的击键序列模式,入侵检测系统监视各个用户的击键模式,并将该模式与已有的入侵击键模式相匹配,如果匹配成功就认为是网络入侵行为。缺点:不能对击键进行语义分析,容易遭受欺骗;缺少可靠的方法来捕获用户的击键行为;无法检测利用程序进行自动攻击的行为。混合检测方法:(说明:虽然此标题是混合检测方法,但其下列举的方法不一定是混合,因为资料不足无法分类所以全放在此类下)使用单一的方法进行入侵检测受到一定的局限,要么不能检测未知入侵,要么检测率不高,达不到有效检测的目标因此,使用多种检测方法来检测入侵受到研究人员的关注,目前已提出多种混合检测方法(1)神经网络神经网络是一种算法,通过学习已有的输入/输出信息对,抽象出其内在的关系,然后通过归纳得到新的输入/输出对。在IDS中,系统把用户当前输入的命令和用户已经执行的W个命令传递给神经网络,如果神经网络通过预测得到的命令与该用户随后输入的命令不一致,则在某种程度上表明用户的行为与其轮廓框架产生了偏离,即说明用户行为异常。神经网络的引入对入侵检测系统的研究开辟了新的途径,由于它有很多优点,如自适应性,自学习的能力,因此,在基于神经网络的入侵检测系统中,只要提供系统的审计数据,它就可以通过自学习从中提取正常的用户或系统活动的特征模式,而不必对大量的数据进行存取,精简了系统的设计。基于神经网络的检测方法具有普遍性,可以对多个用户采用相同的检测措施。神经网络适用于不精确模型,统计方法主要依赖用户行为的主观设计,所以此时描述的精确度很重要,不然会引起大量的误报。入侵检测系统可以利用神经网络的分类和识别能力,适用于用户行为的动态变化特征。但基于神经网络的入侵检测系统计算量大,将影响其实时性,可以采用和其他的技术相结合,来构造入侵检测系统。神经网络模仿生物神经系统,通过接收外部输入的刺激,不断获得并积累知