基于机器学习的用户行为异常检测
摘要:对LaneT等人提出的IDS用户行为异常检测模型进行了简要介绍,在此基础上提出一种新的检测模型,此模型利用多种长度不同的shell命令序列表示用户的行为模式,建立多个样本序列库来描述正常用户的行为轮廓。检测时,采用序列匹配的方法挖掘用户命令流中的行为模式,以行为模式所对应的长度可变的命令序列为单位进行相似度赋值,并将加窗滤噪后的相似度作为用户身份的判决依据。基于UNIX用户shell命令数据的实验表明,同LaneT等人的检测模型相比,新的检测模型具有更高的检测性能。
关键词:IDS;异常检测;行为模式;机器学习;相似度
中图分类号:TP18;TP393。08文献标识码:A
AnomalyDetectionofUserBehaviorsBasedonMachineLearning
SUNHongwei,TIANXinguang,ZHANGEryang
(1。SchoolofElectronicScienceandEngineering,NationalUniversityofDefenseTechnology,Changsha410073,China;
2。PutianTelecomCorporation,Beijing100088,China)
Abstract:AnomalydetectionactsasoneoftheimportantdirectionsofresearchonIntrusionDetectionSystems(IDSs)。Inthispaper,ananomalydetectionmodeloriginatedmainlybyTerranLaneisbrieflyintroduced。Thenanewanomalydetectionmodelbasedonmachinelearningispresented。Themodelusesshellcommandsequencesofvariablelengthtorepresentavaliduser’sbehaviorpatternsandusesmorethanonedictionariesofshellcommandsequencestobuildtheuser’sbehaviorprofile。Whileperformingdetection,themodeldigsbehaviorpatternsbysequencematchingmethodandevaluatesthesimilaritiesofthecorrespondingcommandsequencestothedictionaries。ThetwomodelsaretestedwithUNIXusers’shellcommanddata。Theresultsshowthatthenewmodeloriginatedbyushashigherdetectionperformance。
Keywords:IDS;anomalydetection;behaviorpattern;machinelearning;similaritymeasure
1引言
目前,异常检测是入侵检测系统(IDS)研究的主要方向,这种检测技术建立系统或用户的正常行为模式,通过被监测系统或用户的实际行为模式和正常模式之间的比较和匹配来检测入侵,其特点是不需要过多有关系统缺陷的知识,具有较强的适应性,并且能够检测出未知的入侵模式。虚警概率高是目前限制异常检测应用的主要因素。异常检测的关键问题在于正常行为模式(库)的建立以及如何利用该模式(库)对当前行为进行比较和判断。
国内外已经开展了神经网络、机器学习等智能技术在异常检测中的应用研究,研究目标主要是提高检测系统的准确性、实时性、高效性以及自适应性,其中一些研究成果在检测性能和可操作性上已接近或达到了实用化水平。本文介绍了LaneT等人提出的基于机器学习的IDS用户行为异常检测模型,在其基础上提出一种新的检测模型,此模型用多种长度不同的shell命令序列表示用户行为模式,建立多个样本序列库来描述正常用户的行为轮廓,检测时以长度可变的命令
序列为单位进行相似度赋值,并将加窗滤噪后的相似度作为用户身份的判决依据。利用UNIX用户shell命令数据进行的实验表明,新的检测模型具有很高的检测性能和较强的可操作性。
2基于机器学习的定长命令序列检测模型
2。1机器学习基本原理
机器学习是人工智能的一个新的分支,它是通过对人类认知机理的研究,借助机器(计算机系统)建立各种学习模型,赋予机器学习的能力,在此基础上构建具有特定应用的面向任务的学习系统。一个机器学习系统主要有学习单元、知识库、执行单元组成,其中学习单元利用外界信息源提供的信息来建立知识库并对其做出改进(增加新知识或重新组织已有知识),执行单元利用知识库中的知识执行任务,任务执行后的信息又反馈给学习单元作为进一步学习的输入。学习单元是机器学习系统实现学习功能的核心部分,它涉及处理外界信息的方式以及获取新知识过程中所用的方法。知识库用来存储知识,包括系统原有的领域知识(这种知识是长期的、相对稳定的),以及通过学习而获得的各种新知识(这种知识是短期的、变化的),选择何种知识表示对学习系统的设计起着非常重要的作用。执行单元是使学习系统具有实际用途,同时又能够评价学习方法好坏的关键部分。
机器学习研究中的很大一部分工作集中在分类和问题求解这两个领域;经过三十多年的发展,目前已有了很多学习方法,如归纳学习、实例学习、遗传学习等,但这些方法均有其局限性,结合具体的应用领域探讨新的学习方法和算法是目前的研究主流。
2。2定长命令序列检测模型的描述
美国Purdue大学的LaneT等人提出了一种基于机器学习的用户行为异常检测模型,并对模型进行了深入的研究和实验。其模型利用长度固定的shell命令序列表示用户的行为模式,建立样本序列库来描述正常用户的行为轮廓;工作时,将被监测用户的命令序列同正常用户的样本命令序列库进行比较和匹配,根据两者的相似度对被监测用户的身份进行判断。模型的要点简述如下〔2〕:
(1)将长度固定的shell命令序列作为描述用户行为模式的最小数据单元,采用实例学习方法建立正常用户的样本序列库(知识库)。
(2)定义两序列之间的相似度,它用于表示两个序列所代表的行为模式之间的相似程度。在此基础上,定义一个序列同样本序列库的相似度,它用于表示此序列所代表的行为模式同正常用户各种行为模式之间的最大相似程度。
(3)模型工作时,计算被监测用户序列流中的每个序列同正常用户样本序列库的相似度,然后,对相似度进行加窗滤噪处理,得到按时间顺序排列的相似度判决值,根据判决值的大小对被监测用户的身份进行实时判决。
模型中有以下几个关键问题:
一、最佳序列长度的选择;
二、样本序列的提取;
三、相似度函数的定义;
四、滤噪算法的选择。LaneT等人针对以上问题利用UNIX用户的shell命令数据做了大量实验,以下是他们得出的结论:
(1)最佳序列长度同具体用户的行为特点有关。随着序列长度的增大(从1到15),模型的检测性能随用户的不同而呈现出不同的变化趋势。
(2)在各种相似度函数中,关心相邻命令之间相关性的相似度函数对应的检测性能优于不考虑相关性的相似度函数。均值滤噪和中值滤噪算法〔2〕对应的检测性能差别不大。
(3)在聚类、按出现概率提取、按时间顺序截取、随机选择等样本序列提取方法中,聚类方法对不同用户的适应性要强一些,但实现起来最复杂。
3基于机器学习的变长命令序列检测模型
3。1变长命令序列检测模型的描述
LaneT等人提出的定长命令序列检测模型主要有两个缺点:
一、在用户行为模式的表示上缺乏灵活性和适应性。行为模式是指用户操作过程中体现出的某种规律性;实际中,不同用户所具有的行为模式存在差异,同一用户完成不同行为模式时所执行的命令个数也不尽相同,因而,用长度固定的命令序列难以全面准确地表示出用户的整体行为轮廓。
二、不容易估算针对具体用户的最佳序列长度。LaneT等人主要采用实验方法来确定最佳序列长度,这种方法所需的计算量很大,而且其性能缺乏稳定性。我们针对定长命令序列检测模型的以上不足进行了改进和修正,提出一种变长命令序列检测模型,具体描述如下:
(1)根据正常用户的历史行为,定义种长度不同的shell命令序列,用于表示正常用户的各种行为模式。
设序列长度的集合为,其中表示第种序列的长度,且。在样本序列库的个数确定的情况下,可有不同的选择。例如时,可以为(即三种序列的长度分别为),也可以为或其它组合。和对检测性能有直接影响,在选择它们时,除了要充分考虑正常用户的行为特点之外,还需考虑模型的复杂度及检测效率(和越大,检测系统的存储量和工作中的运算量也会越大)。
(2)针对每种序列建立一个样本序列库,用个样本序列库来描述正常用户的行为轮廓(行为模式集合)。按照正常用户历史行为中各序列的出现概率来提取样本序列。
设个样本序列库的集合,其中表示长度为的序列对应的样本序列库。设正常用户的训练数据(历史数据)为,它是一个长度为的shell命令流,其中表示按时间顺序排列的第个命令,对应的长度为()的命令序列流可表示为,其中。我们设定一个概率门限,将()中出现概率大于的命令序列视为正常用户的行为模式,即是由这些命令序列组成。
(3)定义序列之间以及序列同样本序列库之间的相似度函数,用以描述行为模式之间以及行为模式同用户整体行为轮廓之间的相似程度。
设长度为的两序列和的相似度为,其计算方法如下〔1〕:
第一步:设定,,。
第二步:如果(其中表示中的第个命令),则,;否则,,。
第三步:。如果,返回执行第二步;否则,。
根据以上定义,如果时(即两序列相同),则有。
序列和样本序列库的相似度函数定义为:
(1)
(4)检测时,以长度可变的命令序列为单位进行相似度赋值,并将加窗滤噪后的相似度作为用户身份的判决依据。
对于被监测用户的命令流,将它所对应的长度为的序列流表示为,其中。模型工作时,按照以下方法定义第个长度可变的序列并计算它同样本序列库集合的相似度。
第一步:设定,,。
第二步:如果,根据
(1)式计算;否则,结束序列定义和相似度计算过程。
第三步:如果(即与中的某个序列相同),则,,,,,并返回执行第二步;否则,。
第四步:如果,返回执行第二步;如果,则,,,,,并返回执行第二步。
按照以上方法进行变长序列的定义和相似度计算,可得到按时间顺序排列的相似度输出值序列,其中为中的变长序列个数,,对此序列进行加窗滤噪处理,得到相似度判决值,对此值设定一个门限,若它大于,将被监测用户判为正常用户,否则,将其判为异常用户。采用均值滤噪算法时的相似度判决值为:
(2)
式中表示用户第个变长序列对应时间点上的相似度判决值(模型在中第个变长序列之后的每个序列对应时间点上都做一次判决),为窗长度,它是一个很重要的参数,决定了从被监测用户行为发生到检测系统对其行为做出判断的最短时间(即检测时间)。
3。2模型的分析与比较
我们提出的变长命令序列检测模型主要有以下几个特点:
(1)用多种长度不同的命令序列表示正常用户的行为模式,并针对每种命令序列建立一个样本序列库,这可以更好地反映正常用户的实际行为轮廓。
(2)以长度可变的序列为单位进行相似度赋值,其实质是在被监测用户命令流中进行行为模式挖掘。行为模式挖掘过程中,以当前命令为起点组成多个长度不同的序列,并按照长度从大到小的顺序依次同相应的样本序列库进行比较,如果其中一个序列同相应样本序列库中的某个序列相同,则认为挖掘到一个行为模式,将此序列提取出来并进行相似度赋值,序列长度越大,所赋的值也越大,如果任何一个序列同相应样本序列库中的序列都不相同,则将当前命令提取出来作为长度为1的序列,并将它与样本序列库的相似度赋以0值;然后,再以此序列之后的下一个命令为起点组成多个序列继续进行挖掘和赋值。
LaneT等人的定长序列检测模型关心的是以当前命令为起点的定长序列与正常用户各个行为模式之间的最大相似程度,而变长序列检测模型关心的是以当前命令为起点的多个长度不同的序列是否能够同正常用户的某个行为模式完全匹配。
(3)定长序列检测模型对正常用户和异常用户的检测时间是相同的。变长序列检测模型则不然,其检测时间为个变长序列持续时间(不考虑模型的计算时间),设变长序列的平均长度为,则平均检测时间为个命令持续时间;当被监测用户是正常用户时,在其命令流中挖掘到的行为模式会比较多,相对较大,最大可为,当被监测用户是异常用户时,在其命令流中只能挖掘到很少的(正常用户的)行为模式,相对较小(最小可为1);所以,模型对异常用户的平均检测时间相对要短。
(4)此模型需要建立多个样本序列库,因而对检测系统数据存储空间的需求相对较大。
4实验结果
我们进行了分组实验,每组实验中将一个用户设为正常用户,而将其他三个设为异常用户,分别采用两种模型进行训练和测试;正常用户的前个命令用于模型的训练(建立样本序列库),正常用户和异常用户的后个命令用于模型检测性能的测试。在定长序列检测模型中,序列长度为;在变长序列检测模型中,序列长度集合。两种模型中,每种样本序列库均由正常用户的近个序列中出现概率大于的序列组成,检测时采用均值滤噪算法计算判决值。
为了在对异常用户的平均检测时间相同的情况下比较两种模型的性能,我们做了四组实验,四个用户各在一组实验中被设为正常用户。每组实验中,采用变长序列检测模型时,用于性能测试的各异常用户命令流(包含个命令)中的变长序列个数平均约为,因此,我们将变长序列检测模型的窗长度设为,而将定长序列检测模型的窗长度设为,以保证两种模型对异常用户的平均检测时间基本相同。实验中通过调整判决门限可以得到不同虚警概率情况下对三个异常用户的平均检测概率。表1给出了USER4被设为正常用户时的一组实验结果。
表1USER4被设为正常用户时的实验结果
虚警概率
0hr0。001
0。005
0。010
0。050
定长序列模型的平均检测概率
0。67
0。70
0。76
0。79
0。96
变长序列模型的平均检测概率
0。83
0。86
0。88
0。92
0。99
根据表1的实验结果,在虚警概率较低的区间,变长序列检测模型对应的平均检测概率相对定长序列检测模型有明显的提高。其余三组实验的结果也证明了这一点,这里不再一一列出。
5结论
本文提出一种新的基于机器学习的IDS用户行为异常检测模型,并利用UNIX用户的shell命令数据进行了实验,实验结果表明,新模型的检测性能同LaneT等人提出的检测模型相比有较大改善。由于模型中的学习方法和检测算法对不同的检测数据有一定的适应性,因而此模型也可以用于shell命令之外其它数据类型(如系统调用)的IDS,但具体的应用范围及检测性能还需要进一步的研究和实验。
参考文献:
〔2〕LaneT。,BrodleyCE。Anapplicationofmachinelearningtoanomalydetection。Proceedingsofthe20thNationalInformationSystemsSecurityConference,1997:366377。
〔4〕WarrenderC,ForrestS,PearlmutterB。DetectingIntrusionsUsingSystemCalls:AlternativeDataModels。Proceedingsthe1999IEEESymposiumonSecurityandPrivacy。Berkely,California,USA:IEEEComputerSociety,1999:133145。
分析利用进程间通信实现程序自我保护分析利用进程间通信实现程序自我保护分析利用进程间通信实现程序自我保护分析利用进程间通信实现程序自我保护论文摘要本文从实例的角度出发,以模拟病毒特征为主线,详细地介绍了如何利用多进程
煤炭运输中计算机监控系统的作用煤炭运输中计算机监控系统的作用煤炭运输中计算机监控系统的作用煤炭运输中计算机监控系统的作用精品源自中考备战煤炭运输中的计算机监控系统,利用计算机进行串行通信来实现对工业集散进行控制
论计算机技术在教育中的多方应用论计算机技术在教育中的多方应用论计算机技术在教育中的多方应用论计算机技术在教育中的多方应用来源论文关键词计算机技术教育教学应用论文摘要随着知识与技术的不断创新,信息时代的全面到来。
谈智能交通系统的分析与实现谈智能交通系统的分析与实现谈智能交通系统的分析与实现谈智能交通系统的分析与实现文章来源于教育网我们所开发的基于GIS的智能交通管理系统硬件平台可为小型机或服务器,服务器操作系统可为
老子思想智慧与教学活动中学生学习错误的积极利用摘要学生在学习活动中出现错误是学科教学过程中常见的现象,教师采取的不同应对方式会使教和学双边活动都产生不同的走向和效果。老子思想作为中国古代思想和文化的精髓,对于教师能够更加积极地
高中英语写作错误分析及成功对策学生也普遍反映英文书面表达难,到底难在哪里?为此笔者采用往届高考书面表达原题对所代届两个高中班学生进行测试调查,评分标准时间限制和高考类同。随后对答卷错误进行了分析统计。结果发现学
清华校园建筑震害预测程序及在土木工程教学中的应用研究1引言建筑结构抗震分析是土木工程专业教学的重点和难点。一方面,它涵盖地震工程抗震工程结构动力学等多种专业知识,内容丰富,综合性强另一方面,实际教学过程中,这些知识通常是在几门独立的
高职教育中程序设计课程教学改革的研究与实践研究程序设计课程是计算机软件专业的核心课程,程序设计能力是该专业学生应具备的基本能力。通过程序设计课程的教学,不仅要为学生程序设计能力的培养打造一个坚实的基础,同时使学生通过该课程能科
浅论电信产业模块化经营分析浅论电信产业模块化经营分析浅论电信产业模块化经营分析浅论电信产业模块化经营分析更多精品文章来源自3edu教育网首先考察了电信产业模块化经营的可行性,以为电信产业已具备模块化经营属性
对于设备驱动程序通知应用程序的几种方法对于设备驱动程序通知应用程序的几种方法对于设备驱动程序通知应用程序的几种方法对于设备驱动程序通知应用程序的几种方法精品源自历史科在目前流行的Windows操作系统中,设备驱动程序是
初中英语开设活动课的实验报告一问题的提出九年义务教育英语新教材的使用,打破了老一套的教学模式,变应试教育为素质教育,旨在通过听说读写的训练,使学生获得英语的基础知识和为交际初步运用英语的能力。要想实现这一目的
论体育游戏在中学体育教学中的运用一特征作为一种重要的教学方法,体育游戏具有自身显著特点,受到任课老师的关注和重视,其应用也变得愈加广泛。首先,趣味性。体育游戏本身具有很强的趣味性,满足中学生好奇心强充满活力乐于参
浅论体育游戏对小学体育教学的影响在小学体育教学中,体育游戏占据十分重要的作用,随着教育体制的改革和深化,我国小学体育教学也得到明显的改善,能够满足小学生们的实际需求。将体育游戏有效的融入与小学体育教学中,能够激发
新课改下对小学体育教学的认识首先,合作与竞争精神应在体育教学中体现出来。合作与竞争是体育精神的重要内容之一。合作精神与竞争精神需要从小培养,改变传统教学中所有学生独立完成教学任务的模式,通过分组竞争让学生产生
高校体育教育可持续发展及趋势讨论高校体育教育可持续发展及趋势讨论一影响我国高校体育可持续发展的因素1思想观念陈旧,对体育不够重视。根据本文笔者对当今我国高校的已与教育形式进行了解和研究,可以得知,虽然体育教育的重
高职院校体育课程教学改革与发展研究高职院校体育课程教学改革与发展研究体育学科作为高职教育中的重要组成部分得到了有效推广和运用,有利于培养实用型人才,满足当前社会的发展需求。因此对高职体育教学课程提出了更高的发展要求
充分利用语文教学美育资源培养中职学生美好心灵中职学校是国家培养技能型人才与高素质劳动者的主要基地,中职学生在校学习阶段是良好的个性健全的人格的形成的重要阶段。如何用美的事物充盈学生心田,使学生在美的熏陶下,形成美好的心灵,创
系统功能语言学之主位推进模式一主位的定义较早关注主位结构的是布拉格学派的其创始人马泰休斯。为了研究语言交际过程,他将一个句子划分为主位,述位和连位三个部分。主位是话语的出发点或起始点述位是围绕主位开展的话语,
研究耐酸性分子筛膜的进展沸石分子筛膜是由分子筛晶体在一定条件下相互交联在载体上连续生长形成的,是近年发展起来的一种重要的新型无机膜。沸石分子筛膜不仅具有无机膜的一般特性,还具有分子筛的特性。它具有规整的孔
基于智能井盖的物联网市政一体化系统摘要为解决目前城市排水系统中存在的各种问题并采集城市内的一些重要信息,文中设计了基于智能井盖的物联网市政一体化系统。该系统主要针对城市排水井盖进行功能拓展,通过各种传感器监测下水道
影视剧字幕组侵权问题探讨一字幕组概述(一)什么是字幕组字幕组(Fansubgroup)是指将外国影片配上本国字幕的爱好者团体。是一种诞生于互联网时代的新事物,属于一种民间自发的个人团体组织。字幕组是由爱好
基于系统功能语言学视角下的话语研究前言语言在我们日常生活中发挥着重要的作用,是我们进行日常交流的重要媒介。话语分析就是对已经存在的语言进行研究,包括分析它的用途意义和产生的后果。本文从系统功能语言学的视角出发,在此