logo资料库

一种基于支持向量机的入侵检测模型.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
第 22 卷 第 5 期 计 算 机 仿 真 ═ ══════════════════════════════════════════════════════════════ 文章编号:1006 - 9348(2005)05 - 0043 - 03 2004 年 4 月 一种基于支持向量机的入侵检测模型 许劲松,覃俊 (中南民族大学计算机学院 湖北 武汉 430074) 摘要:支持向量机(support vector machines)是一种建立在统计学习理论基础之上的机器学习方法。基于支持向量机在处理小 样本、高维数及泛化能力强等方面的优势,该文提出了一种根据结构风险最小化原则基于支持向量机的入侵检测系统,首先 简单介绍了入侵检测系统近来的发展状况和支持向量机的分类算法,然后给出以支持向量机分类算法为基础的入侵检测模 型,以系统调用执行迹进行仿真实验,详细讨论了该模型的工作过程及核函数参数的选取对检测性能的影响。实验表明,该 模型在先验知识较小的情况下,能够较好的检测出异常的入侵调用。 关键词:入侵检测;支持向量机;分类器;核函数 中图分类号:TP393 文献标识码:A An Intrusion Detection Model Based on Support Vector Machine XU Jin - song,QIN Jun (School of Computer,South - Central University for Nationalities,Wuhan Hubei 430074,China) ABSTRACT:Support vector machine is a method of machine learning based on theory of statistics. The framework model proposed in this paper is a intrusion detection system based on support vector machine(SVM). First,the research process of intrusion detection and algorithm of SVM taxonomy are introduced. Then the model of an intrusion detection based on SVM is presented. System call trace data is used to emulate an intrusion detection experiment . The work process of this model is dis- cussed and the choice of parameter of Kernel function is given to illustrate the performance of this model . The result of exper- iment shows that it can detect the abnormal intrusion under less prior knowledge. KEYWORDS:Intrusion detection;Support vector machine;Classifer;Kernel function 1 引言 随着互联网技术的飞速发展,网络安全正日益受到人们 那么,如何在小样本的情况下,提取审计数据特征,实现入侵 检测且具有较好的推广能力呢?在这一点上,支持向量机被 的关注,其中网络安全的概念主要涵盖四个方面:保密性、完 证明具有良好的理论背景和应用效果。 整性、可用性和认证。我们定义所有损害网络安全的行为为 入侵。入侵检测系统(Intrusion Detection System,IDS)是一种能 够自动检测未授权用户对现有计算机系统的入侵。IDS 的主 要目标是检测外部或内部用户的未授权使用、滥用等。 支持向量机(support vector machines,SVM)是一种建立在 统计学习理论基础之上的机器学习方法,其最大的特点是根 据文[4]结构风险最小化原则,尽量提高学习机的泛化能力, 即由有限的训练集样本得到小的误差仍然能够保证对独立 入侵检测可以看作是一个分类问题,也就是对给定的审 的测试集保持小的误差。另外,由于支持向量算法是一个凸 计数据进行分类,什么样的数据是正常的,什么样的数据是 异常的。在 有 关 文 献 中,文 献[1]把 入 侵 检 测 看 作 是 区 分 “self”(也就是“正常”)和“nonself”(也就是“异常”)的过程,提 出了基于免疫模型的入侵检测技术。文献[2]利用神经网络 来提取特征和分类。文献[3]从数据挖掘技术的角度探讨了 入侵检测的实现问题。以上方法都需要大量或者是完备的 审计数据集才能达到比较理想的检测性能,并且训练时间较 长,且以上的模型在训练后不大容易具有较好的推广能力。 优化问题,所以局部最优解一定是全局最优解,这是其他学 习算法所不及的。将支持向量机应用到入侵检测系统中,可 在先验知识不足的情况下,仍然具有较好的检测效果,从而 使 IDS 具有较好的检测性能。因此,我们提出了基于支持向 量机的入侵检测模型。 本文首先介绍了支持向量机的基本原理,然后提出了基 于支持向量机的入侵检测系统的模型,最后以系统调用执行 迹(system call trace)作为入侵检测数据,详细讨论了该模型的 工作过程,并给出了实验仿真的结果。 收稿日期:2004 - 01 - 19 —34—
2 SVM 基本原理 成其对偶形式: Max W( α ) m = Σ i = 1 αi - m 其样本的最 3 基于 SVM 的入侵检测系统 (2) (3) 图 3 入侵检测系统总体结构 我们采 用 的 入 侵 检 测 模 型 参 考 了 通 用 入 侵 检 测 模 型 CIDF 的建议,主要有数据预处理器、SVM 分类器、和决策响 应、SVM 训练等主要部分组成。系统结构如图 3 所示。 其中数据预处理器是对大量的审计数据进行处理或变 换,其中包括数据采集、特征提取、数据转换功能。数据采 集,是从子网主机上监视系统日志并记下日志。特征提取, m m 1 2 Σ 〈 xi ,xj j = 1 αiαjyiyj i = 1 Σ [0,C],i = 1,. . . ,m 〉 (5) Subject to Σ i = 1 αiyi = 0 αi ∈ m i = 1 以及 αiyixi ω = Σ 解。可以证明,在此优化问题的解中有一部分 (6) 这实质上是一个典型的二次规划问题,已由高效的算法求 不为 0,它们 所对应的训练样本即确定了这个超平面,因此称其为支持向 量。按照优化理论的 Kuhn - Tucker 定理,在鞍点,对偶变量与 约束的乘积为 0,从而求得超平面的另一个参数 b 满足: αi (〈 yi ω ,xi 〉 + b) = 1 (7) 对于未知样本类的向量 x,可引 入 线 性 判 决 函 数:f( x) sgn(〈 + b)来确定其属类。综合式(6)可得判决函数为: ,x〉 = ω f( x) = sign Σ i = 1 m ( 〈 x,xi yiαi 〉 + )b 对于线性不可分的情况,SVM 一方面引入松弛变量 = 1,2,. . . ,m)和惩罚因子 C,使目标函数变为: (8) εi ≥ 0( i ( Φ ω ) , ε = 1 2 ‖ω‖2 + C·Σ εi i = 1 m (9) 另一方面,SVM 通过非线性变换将输入空间映射到高维特征 空间,然后在新空间中求解最佳超平面。线性可分情况下的 点积运算用核函数 K( xi 式(5)对偶形式变为: )〉替代,这样 ( xi ψ ( xj ψ ,xj ), ) 〈 = Max W( α ) m = Σ i = 1 αi - m m 1 2 Σ i = 1 Σ j = 1 αiαjyiyjK〈 xi ,xj 〉(10) m αiyi = 0 Subject to Σ [0,C],i = 1,2,. . . m i = 1 αi ∈ 得到的最终判决函数为: ( f( x) = sign Σ i = 1 m yiαiK( x,xi ) + )b (11) 图 1 具有两类样本的样本空间 SVM 是 建 立 在 结 构 风 险 最 小 化( Struc- tural Risk Mini- mazation)原则的 统 计 学 习 理 论 基础之上,其主 要思想是,对于 一 个 给 定 的 具 图 2 具有最佳超平面的样本空间 有有限数量训练样本的学习任务,通过在原空间或经投影后 的高维空间中构造最佳超平面,将给定的属于两个类别的训 练样本分开,构造超平面的依据是两类样本对超平面的最 小距离最大化,这意味着距超平面最近的异类向量之间的距 离最大。 在某个区域里,给定 m 个所属训练样本集类别为{( x1 , - 1},其中 x 为 k 维 ),. . . ,( xm + 1, ,ym )} ∈ Rk × { 的类别标识。若超平面 ),( x2 y1 向量,yi ,y2 为向量 xi ω (1) + b = 0 〉为向量的点乘积,式(1)中的 乘 以 系 数 后 仍 能 满 足 方 程。由 超 平 面 的 法 向 量 为 〈 x, 〉 ω 能将样本分为两类,其中〈 x, ω x 和 ,对所有的样本 xi ω/ ‖ω‖ 为 〉 , , ω ω 小值为 1,则最佳超平面的边界最小值为 而言,到最佳超平面的最小距离 ,其中式 / ‖ω‖ 〈 xi | 〈 xi | + b | + b | 〉 〈 xi | 〉 + b | , ω where ‖ω‖2 = 〈 〉 , ω ω / ‖ω‖ = 1 / ‖ω‖ 要使两类样本到超平面的最小距离之和最大,即 化条件应使 2 / ‖ω‖ 问题转化为目标函数: 最大,亦等效于最小化 ‖ω‖ ω 和 b 的优 ,此优化 ( Minimize Φ ) = ω + b) 1 2 ‖ω‖2 ≥ 1,i = 1,2,…,m Subject to yi (〈 xi 〉 , ω 这里的约束条件是为了减小误差。利用 Lagrange 乘子法,即 L( ,b, α ) = ω m 1 2 ‖ω‖2 - Σ i = 1 ( yi αi (〈 ω ,xi 〉 + b) - 1) (4) αi ≥ 0( i = 1,2,. . . ,m)。式(3)即变 为 Lagrange 乘子项,且 —44— αi
对这些审计数据提取最能体现该数据类型的特征进行量化。 4 . 2 训练数据的获得 由于支持向量机的分类器只能对维数相同的数字向量进行 分类,但系统中审计数据不但长度不尽相同,而且有可能不 是数字类型,所以要将量化后数据转换为支持向量机能够识 别的数字向量形式。SVM 分类器对这些数字向量进行判别 后,把结果输入决策响应部分进行最后的决策。当然,可以 直接将 SVM 分类器输出的结果作为最后的检测结果,但为 了进一步提高系统的检测正确率,我们给出了决策响应部 分。通过设定一些判决准则,例如发生数目、事件的百分比 支持向量机的参数是由通过对训练数据进行训练得到 的。这里的训练数据分为两类:正常的短序列训练样本(nor- mal)和异常的短序列训练样本(abnormal)。我们用长度为 7 的滑动窗口对正常系统调用执行迹进行连续扫描,如对执行 迹 exit fork read write open close wait4 creat 进行扫描,得到短序 列 exit fork read write open close wait4 和 fork read write open close wait4 creat 。同样的对异常短序列也是如此。当然,异常的 入侵短序列在系统调用迹中只占小部分,所以扫描得出的异 等来进行最终的判定,并对事件作出响应,这个过程是由决 常短序列中既包含正常的短序列又包含异常的短序列。将 策响应部分来完成。 得到的调用短序列模式与正常的调用短序列模式相比较,不 整个过程有两个阶段完成:训练阶段和检测阶段。首先 把训练数据(已知的正常审计数据和异常数据)和测试数据 通过数据转换器进行转化为 SVM 分类器可识别的数字向 量。在训练阶段,利用训练数据训练 SVM 得到支持向量和相 应的参数。在检测阶段,将未知类的测试数据输入到 SVM 分 类器,输出的结果送入决策响应部分进行最终的判决。 4 SVM 实验仿真 在入侵检测系统中,可用于检测的数据类型多种多样, 其中系统调用执行迹就是一种主流的被检测数据。Forrest 等人在研究中发现,系统中关键进程的调用,可通过程序执 行过程中所使用的系统调用执行迹(System audit trace)来描 述。一个正常行为可由其执行迹的各个局部行为来描述,即 各个正常的短序列片。而在一个异常行为中,可能既包括正 常的短序列片,又包括异常的短序列片。因此,判定一个未 知行为是正常的还是异常的,即转化为判定这个行为的短序 列片是正常的还是异常的。由此,我们选择了系统调用短序 列来进行分类。 4 . 1 实验数据预处理 在下面的仿真实验中,我们选用的是 MIT(Massachusetts Institute of Technology)人工智能实验室(AI Lab)公开提供的 lpr 数据来进行仿真。该数据集中的每个进程执行迹数据由两 列数据构成,第一列为进程标识符,第二列为进程系统调用 命令在系统调用命名表(mapping file)中的索引值,列如“8”表 示“Creat”。进程标识符相同的系统调用构成一个进程执行 迹。要对这个数据文件进行预处理,必须进行向量转化。因 为文件本身即为数字序列,所以只需要得到分类用的短序列 即可,具体做法是用长度为 L 的滑动窗口对一个进程的第二 列系统调用命令索引值滑动来得到此执行迹的调用短序列。 但是,又如何选择滑动窗口的长度 L 呢? 系统调用短序列反映了进程调用命令之间的次序关系。如 果滑动窗口的长度太长,就会丢失系统调用的局部信息状况,也 就不能反映正常行为和异常行为情况下的局部调用状况。选择 的过短,则又丢掉了执行迹的次序信息。W. Lee 在从数据挖掘 和信息论的角度分析了数据长度的选择,认为最佳滑动窗口的 长度为 6 ~ 8,本实验选取的滑动窗口的长度为 7。 同于正常模式的序列则够成异常行为短序列。我们把所有 的短序列样本记为{(xi )} ∈Rk ×{+ 1,- 1}, 为每个短序列样本的类型标记,yi 其中 yi 为 + 1 表示正常序 列,yi 为 - 1 表示异常序列,且 k = 7,这样得到的部分系统调 用训练数据见表 1。 ),. . ,(xm ,ym ,yi 表 1 正常和异常的系统调用短序列样本实例(K = 7) 标记 系统调用短序列(标记:1 normal,- 1 abnormal) 1:112 2:19 1:3 2:3 2:4 1:5 2:4 1:5 1:59 2:4 3:93 3:3 3:2 3:2 3:2 1 1 1 - 1 - 1 … 4:19 4:3 4:66 4:66 4:2 … 5:100 5:32 5:66 5:66 5:2 6:50 6:50 6:4 6:5 6:5 7:88 7:27 7:138 7:5 7:50 4 . 3 实验分析 SVM 的分类仿真实验主要研究核函数的选取及其相应 的参数对入侵检测系统的效果的影响,从而找出系统的最佳 工作点。核函数的选取主要包括核函数形式的确定和参数 的确定两个方面。核函数的作用就相当于将样本投影到高 维空间中,然后再构造最佳分类面,因此核函数的选取直接 影响分类器的泛化能力。在这里我们选取的是 SVM 中研究 最多的高斯径向基(Gaussian Radial Basis Function)核函数。 SVM 中的高斯径向基核函数形式为 K( xi )=( - ‖ xi - xj‖2 /δ2),其中的 和 SVM 中的支持向量及相关参数是通 过训练得到的。我们分别测试了 KGaussian 在不同参数下的算 法的性能。选取式(9)中的 C = 1000 . 0,给出了在 0 . 1,0 . 5,1 . 0,2 . 0,5 . 0,10 下的检测错误率曲线图,如图 4。 ,xj δ 从实验结果可以看出, δ2 的值大于 1 时,检测效果随着 δ2 的增大而变得更好,检测错误率接近 1% 。同时为了更好 地确定核函数的参数,我们改变训练数据中正常短序列样本 和异常短序列样本的比例,以找到接近系统的最佳工作点。 通过实验,正常短序列与异常短序列样本比例约在 4:1 时, 检测效果较好。 5 结论与展望 本文探讨了一种基于 SVM 的入侵检测 (下转第 55 页) —54—
[6] 刘志俭,等 . MATLAB 应用程序接口用户指南[M]. 北京:科学 [作者简介] 出版社,2000 . [7] Changyin Jiang,Jie Huang. Praticla Method of Corrections for Refrac- tion Errors in Arbitaary Atmosphere[J]. Acta Electronic Sinica,1999, 27(3):45 ~ 48 . [8] E R Westwater . An Analysis of the Correction of Range Errors Due to Atmospheric Refration By Microwave Radiometric Techniques[ R]. AD651589,1967 . 孙远召(1980 - ),男(汉族),河南禹州人,硕士生, 研究方向:微波技术,软件仿真; 周东方(1963 - ),男(汉族),浙江绍兴人,硕士生导 师,研究方向:高功率微波传输及效应分析; 牛忠霞(1943 - ),男(汉族),河北枣强人,博士生导 师,研究方向:电磁场与微波技术等; 侯德亭(1963 - ),男(汉族),河南洛宁人,副教授,研究方向:高功率 微波传输。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (上接第 45 页) 参考文献: [1] Manuel Davy. An Introduction to Support Vector Machines and Kernel Algorithms[R]. MOUMIR,2002 - 10 - 11 . [2] Thorsten Joachims. Making Large - Scale SVM Learning Practical[M]. MIT Press,Cambridge,USA,1998 . [3] W Lee,S J Stolfo and P K Chan . Learning patterns from unix processes execution traces for intrusion detection[M]. In In AAAI Workshop on AI Approaches to Fraud Detection and Risk Management . AAAi Press, 1997 . [4] Jungwon Kim and Peter J Bentley. Towards an Artificial Immune Sys- tem for Network Intrusion Detection[ C]:An Investigation of Dynamic Clonal Selection . IEEE Transactions on Evolutionary Computation, 2002,4 . [5] 饶鲜,董春曦,杨绍全 . 基于支持向量机的入侵检测系统[J]. 软 件学报 . 2003,14(4):798 - 803 . [6] 张磊,林福宗,张钹 . 基于支持向量机的相关反馈图像检索算 法[J]. 清华大学学报 . 2002,42(1):80 - 83 . [作者简介] 许劲松(1979 . 10 - ),男(汉族),安徽合肥人,硕士 研究生,研究方向为人工智能理论与应用; 覃俊(1965 - ),女(汉族),湖南常德人,博 士,副 教 授,研究方向智能计算与应用。 图 4 δ2 取不同参数时的检测错误率曲线图 系统的设计与实现过程,并介绍了 SVM 的工作原理,它参考 了入侵检测通用模型 CIDF,提出了以 SVM 分类算法来实现 未知数据的分类,以系统调用执行迹进行实验仿真。实验表 明,该系统在训练样本容量小的情况下,仍然能够保持较高 的检测率,同时由于训练时间较小,所以可以随时进行升级, 进行高效的实时检测。由于支持向量机是一种在有限小样 本下具有良好的学习性能的机器学习方法,能够较好地解决 小样本、非线性等实际分类问题,如图象检索、网页分类、人 脸识别等领域,随着研究的深入,它将有着广泛应用前景。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (上接第 48 页) [2] 徐庚保,曾莲芝 . 勇攀世界科技高峰的中国仿真技术[J]. 计算 机仿真,2004(4):5 ~ 9 . [3] 廖瑛,等 . 实时仿真理论与支撑技术[M]. 国防科技大学出版社, 2002 . [4] 徐延万,等 . 控制系统(上、中、下)[M]. 宇航出版社,1989 . [5] 徐庚保 编著 . 运载火箭控制系统实时仿真[M]. 航天工业总公 司一院十二所,1996 . [作者简介] 陈宜成(1976 - ),男(汉族),山东省鱼台县人,中国 科学院研究生院在读硕士研究生,北京航天自动控 制研究所工程师,主要研究领域为弹道导弹、运载火 箭控制系统仿真,计算机软件与理论; 朱友忠(1972 - ),男(汉族),山东省日照市人,中国 科学院研究生院在读硕士研究生,北京航天自动控制研究所工程师, 主要研究领域为弹载计算机及系统仿真,计算机应用。 —55—
分享到:
收藏