第2卷第4期 智能系统学报 Vol.2№4 2007年8月 CAAI Transactions on Intelligent Systems Aug.2007 基于SVDD的网络安全审计模型研究 罗隽,潘志松,胡谷雨 (解放军理工大学指挥自动化学院,江苏南京210007) 摘要:审计是入侵检测的基础,为入侵检测提供必要的分析数据,在传统的网络安全审计与入侵检测系统中,需要 由人工来定义攻击特征以发现异常活动.但攻击特征数据难以获取,能够预知的往往只是正常用户正常使用的审计 信息.提出并进一步分析了一种基于支持向量描述(SVDD)的安全审计模型,使用正常数据训练分类器,使偏离正常 模式的活动都被认为是潜在的入侵.通过国际标准数据集MIT LPR的优化处理,只利用少量的训练样本,试验获得 了对异常样本100%的检测率,而平均虚警率接近为0. 关键词:网络安全审计:入侵检测:支持向量描述:单类分类器 中图分类号:TP393.08文献标识码:A文章编号:16734785(2007)04006905 A net work security audit system based on support vector data description algorithm LUO Jun,PAN Zhi-song,HU Guryu (Institute of Command Automation,PLA University of Science and Technology,Nanjing 210007,China) Abstract:Security audit,which is the basis of intrusion detection,provides the necessary data for intrusion detection analysis.In traditional security audit and intrusion detection system,the characteristics of an at- tack need to be defined by experts for the system to be able to successfully identify anomalous activities. Due to the difficulty in predicting attack data,in most cases administrators only get normal sequences of system calls.In this paper,a security audit system based on SVDD algorithm was designed to resolve the one-class problem in anomalous activity detection.All activities deviating from normal patterns were clas- sified as potential intrusions.In experiments using the international standard data set MIT L PR,the one- class classifier achieved a 100%detection rate and a zero false alarm rate for sequences of system calls based on a small training dataset.The proposed algorithms can be trained for anomalous activity detection simply by using normal samples and the algorithm also enables the security audit system to detect new types of anomalous behavior. Key words:network security audit;intrusion detection;support vector data description,one-class classifier 在网络安全体系中,对于C2及其以上安全级 入侵检测和安全审计中“数据爆炸、知识贫乏”的问 别的计算机系统来讲,审计功能是其必备的安全机 题,成为当前网络安全研究中的难点和热点.自动的 制,是其他安全机制的有力补充,同时,审计还是人 知识发现是网络安全检测和安全审计处理的重要研 们研究入侵检测系统的前提山.由于审计跟踪审查究方向).传统的入侵检测由于依赖已知攻击数据 是基于每个目标或每个用户的访问模式,必然导致进行训练,不能做到自动更新规则库和检测新的入 有海量数据产生,特别是网络攻击带来的海量的安 侵也无法检测新的攻击行为. 全审计信息难以处理,如何利用人工智能技术解决 审计跟踪作为一种安全机制,其信息包含了很 多方面的内容,本文中主要关注的是网络安全审计 收稿日期:20061013. 基金项目:江苏省自然科学基金资助项目(BK2005009):中因博士后 中的系统调用执行迹3.1.1996年,墨西哥大学的 基金资助项目(2004036405):江苏博士后基金资助项目 (0401064B). Forrest等人提出了在异常检测中通过分析程序执 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net
第 2 卷第 4 期 智 能 系 统 学 报 Vol. 2 №. 4 2007 年 8 月 CAAI Transactions on Intelligent Systems Aug. 2007 基于 SVDD 的网络安全审计模型研究 罗 隽 ,潘志松 ,胡谷雨 (解放军理工大学 指挥自动化学院 ,江苏 南京 210007) 摘 要 :审计是入侵检测的基础 ,为入侵检测提供必要的分析数据. 在传统的网络安全审计与入侵检测系统中 ,需要 由人工来定义攻击特征以发现异常活动. 但攻击特征数据难以获取 ,能够预知的往往只是正常用户正常使用的审计 信息. 提出并进一步分析了一种基于支持向量描述(SVDD) 的安全审计模型 ,使用正常数据训练分类器 ,使偏离正常 模式的活动都被认为是潜在的入侵. 通过国际标准数据集 MIT L PR 的优化处理 ,只利用少量的训练样本 ,试验获得 了对异常样本 100 %的检测率 ,而平均虚警率接近为 0. 关键词 :网络安全审计 ;入侵检测 ;支持向量描述 ;单类分类器 中图分类号 : TP393. 08 文献标识码 :A 文章编号 :167324785 (2007) 0420069205 A network security audit system based on support vector data description algorithm L UO J un , PAN Zhi2song , HU Gu2yu (Institute of Command Automation , PLA University of Science and Technology , Nanjing 210007 , China) Abstract :Security audit , which is t he basis of intrusion detection , provides the necessary data for intrusion detection analysis. In traditional security audit and intrusion detection system , t he characteristics of an at2 tack need to be defined by experts for t he system to be able to successf ully identify anomalous activities. Due to the difficulty in predicting attack data , in most cases administrators only get normal sequences of system calls. In this paper , a security audit system based on SVDD algorit hm was designed to resolve t he one2class problem in anomalous activity detection. All activities deviating from normal patterns were clas2 sified as potential intrusions. In experiments using t he international standard data set MIT L PR , t he one2 class classifier achieved a 100 % detection rate and a zero false alarm rate for sequences of system calls based on a small training dataset. The proposed algorithms can be trained for anomalous activity detection simply by using normal samples and t he algorithm also enables t he security audit system to detect new types of anomalous behavior. Keywords :network security audit ; intrusion detection ; support vector data description , one2class classifier 收稿日期 :2006210213. 基金项目 :江苏省自然科学基金资助项目(B K2005009) ;中国博士后 基金资助项目 (2004036405) ;江苏博士后基金资助项目 (0401064B) . 在网络安全体系中 ,对于 C2 及其以上安全级 别的计算机系统来讲 ,审计功能是其必备的安全机 制 ,是其他安全机制的有力补充 ,同时 ,审计还是人 们研究入侵检测系统的前提[1 ] . 由于审计跟踪审查 是基于每个目标或每个用户的访问模式 ,必然导致 有海量数据产生 ,特别是网络攻击带来的海量的安 全审计信息难以处理 ,如何利用人工智能技术解决 入侵检测和安全审计中“数据爆炸、知识贫乏”的问 题 ,成为当前网络安全研究中的难点和热点. 自动的 知识发现是网络安全检测和安全审计处理的重要研 究方向[ 2 ] . 传统的入侵检测由于依赖已知攻击数据 进行训练 ,不能做到自动更新规则库和检测新的入 侵也无法检测新的攻击行为. 审计跟踪作为一种安全机制 ,其信息包含了很 多方面的内容 ,本文中主要关注的是网络安全审计 中的系统调用执行迹[3 - 4 ] . 1996 年 ,墨西哥大学的 Forrest 等人提出了在异常检测中通过分析程序执 © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
·70 智能系统学报 第2卷 行过程产生的系统调用序列(称为系统调用执行迹, 主要目的就是要得到执行迹的系统调用短序列.由 sequences system calls,SSC)来构建特征轮廓的方 于执行迹中系统调用的次序关系是描述该程序行为 法,并用实验证明了程序执行轨迹的局部模式(系统 的重要特征,分析这种次序关系的最简单方法就是 调用的短序列)可以完全刻画程序行为的特征山.这 利用长度为K的滑动窗口(sliding window)技术构 种基于程序行为的分析方法可以大大减少由用户行 造系统调用短序列.基于前期的研究和对比,本实验 为的不可测性带来的系统虚警(误报)率,Forrest对 选取短序列的长度K为7 短序列采用的是统计的方法,较为经典的是Tide 对滑动窗口进行切分后,得到大量的短序列样 (time-delay embedding)Stide(sequence time-de- 本,存入安全审计数据库中.由于各个用户在使用过 lay embedding)2种方法.Tide方法存储所有唯 程中常常使用类似的系统调用序列,这样会产生大 一的短序列来构成特征数据库,检测时比较并记录 量冗余的数据.经过对短序列的数据规约,得到了有 被测轨迹的短序列与数据库中记录的不匹配,以此 代表性的少量样本.这些样本将用来训练基于支持 作为检测标准.Stide是在Tide方法的基础上通过 向量描述的单类分类器.选择原始样本2912133个, 求序列的局部不匹配率来判断异常,这种方法认为 训练样本604个。 局部区域的不匹配数目能够更好地表征异常行为 可见经过适当的数据预处理,利用少量的训练 虽然采用了树状存储,但这些算法仍需要较大的空 样本来训练SVDD,大大减少了运算量,保证了实验 间来存储特征数据库,且缺少对偶然事件和入侵变 的高效、顺利进行,同时也符合支持向量描述算法的 异的识别能力,很容易产生虚报.在后来的研究中, 思想 LEE等人用数据挖掘的方法研究系统调用数据的 2基于SVDD的审计模型 采样,使用一个称为RIPPER(repeated incremental pruning to produce error reduction)的程序sI,用一 D.M.J Tax建立了支持向量数据描述(SVDD) 个较小的规则集合来描述正常数据的模式特征,在 利用高斯核函数把样本空间映射到核空间,在核空 检测时,违反这些特征的序列被视为异常.同时在神 间找到一个能够包含所有训练数据的一个球体.当 经网络领域中,Anupk Ghosh等人提出了一种用神 判别时,如果测试样本位于这个高维球体中,那么就 经网络对程序行为特征进行分析的方法61 认为正常,否则就认为异常.其基本思想是:首先通 这些理论研究证明了系统调用序列检测方法 过核函数将输入空间映射到一个高维空间,在这个 是高效、准确的,但是作为现有的网络入侵检测系 高维空间构造一个包含所有训练样本点的球体;在 统,缺乏良好的实时效应,以及特征数据库的训练依 球面上的样本点即为SVDD所求得的支持向量.由 赖于特定的网络环境,因而迟迟未得到实际应用. 于支持向量的个数是稀疏的,因此计算量相应减少 本文提出了基于支持向量描述(SVDD)的安全 假设模型∫(x;w)表示一类紧密的有界数据 审计模型,利用SVDD算法构建了系统正常状态模 集,因此可以借助一个超球体去包含并描述它.这个 式,对偏离该模式的行为进行异常检测.在对安全审 球体可以用中心a和半径R表示,而且使训练集 计中的系统调用序列数据预处理中,对大量的短序 的所有样本都落在此球体内.这就表示经验风险 列样本进行数据规约.减少SVDD的训练样本,降 等于0,因此,类比于SVM1,定义一个结构误差: 低SVDD训练的复杂度.利用不完备的数据集,实 Estruct (R,a)=R2 (1) 现基于SVDD的安全审计模型,通过对短序列切分 在如下的约束下对它最小化: 大小的调整,对SVDD模型在MIT lpr数据集上的 lx,-a2≤R2,i 2) 异常检测效果进行了验证.基于前期短序列的切分 由于训练样本中一般含有噪声或野值(也叫新颖 长度对SVDD的分类效果的影响,进一步讨论了不 值),因此上述优化结果对噪声或野值敏感,缺少鲁 同的核参数以及数据发生频率等约束对于结果的不 棒性.为提高结果的鲁棒性,仿照SVM为每个样本 同影响,并作了比较 引入松弛变量50,i,以控制野值对解的影响. 意即对于远离球心的样本点实施惩罚,因此,最小化 1系统调用序列的数据预处理 问题变为如下形式: 系统调用序列的数据采集方法比较简单,通过 estrua (R,a,x)=R +Caixi, (3) 对系统的审计系统进行配置,就可使审计系统根据 其约束条件为 用户的要求监控相关程序的执行过程).预处理的 lx-a2≤R2+5,5≥0,i, 4) 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved. h2,/hp11.C1.e
行过程产生的系统调用序列(称为系统调用执行迹 , sequences system calls , SSC) 来构建特征轮廓的方 法 ,并用实验证明了程序执行轨迹的局部模式(系统 调用的短序列) 可以完全刻画程序行为的特征[ 1 ] . 这 种基于程序行为的分析方法可以大大减少由用户行 为的不可测性带来的系统虚警(误报) 率. Forrest 对 短序列采用的是统计的方法 ,较为经典的是 Tide (time2delay embedding) 和 Stide (sequence time2de2 lay embedding) 2 种方法[ 4 ] . Tide 方法存储所有唯 一的短序列来构成特征数据库 ,检测时比较并记录 被测轨迹的短序列与数据库中记录的不匹配 ,以此 作为检测标准. Stide 是在 Tide 方法的基础上通过 求序列的局部不匹配率来判断异常 ,这种方法认为 局部区域的不匹配数目能够更好地表征异常行为. 虽然采用了树状存储 ,但这些算法仍需要较大的空 间来存储特征数据库 ,且缺少对偶然事件和入侵变 异的识别能力 ,很容易产生虚报. 在后来的研究中 , L EE 等人用数据挖掘的方法研究系统调用数据的 采样 ,使用一个称为 RIPPER(repeated incremental pruning to p roduce error reduction) 的程序[5 ] ,用一 个较小的规则集合来描述正常数据的模式特征 ,在 检测时 ,违反这些特征的序列被视为异常. 同时在神 经网络领域中 ,Anup k Ghosh 等人提出了一种用神 经网络对程序行为特征进行分析的方法[ 6 ] . 这些理论研究证明了系统调用序列检测方法 是高效、准确的 ,但是作为现有的网络入侵检测系 统 ,缺乏良好的实时效应 ,以及特征数据库的训练依 赖于特定的网络环境 ,因而迟迟未得到实际应用. 本文提出了基于支持向量描述 (SVDD) 的安全 审计模型 ,利用 SVDD 算法构建了系统正常状态模 式 ,对偏离该模式的行为进行异常检测. 在对安全审 计中的系统调用序列数据预处理中 ,对大量的短序 列样本进行数据规约. 减少 SVDD 的训练样本 ,降 低 SVDD 训练的复杂度. 利用不完备的数据集 ,实 现基于 SVDD 的安全审计模型 ,通过对短序列切分 大小的调整 ,对 SVDD 模型在 MIT lpr 数据集上的 异常检测效果进行了验证. 基于前期短序列的切分 长度对 SVDD 的分类效果的影响 ,进一步讨论了不 同的核参数以及数据发生频率等约束对于结果的不 同影响 ,并作了比较. 1 系统调用序列的数据预处理 系统调用序列的数据采集方法比较简单 ,通过 对系统的审计系统进行配置 ,就可使审计系统根据 用户的要求监控相关程序的执行过程[ 3 ] . 预处理的 主要目的就是要得到执行迹的系统调用短序列. 由 于执行迹中系统调用的次序关系是描述该程序行为 的重要特征 ,分析这种次序关系的最简单方法就是 利用长度为 K 的滑动窗口(sliding window) 技术构 造系统调用短序列. 基于前期的研究和对比 ,本实验 选取短序列的长度 K 为 7. 对滑动窗口进行切分后 ,得到大量的短序列样 本 ,存入安全审计数据库中. 由于各个用户在使用过 程中常常使用类似的系统调用序列 ,这样会产生大 量冗余的数据. 经过对短序列的数据规约 ,得到了有 代表性的少量样本. 这些样本将用来训练基于支持 向量描述的单类分类器. 选择原始样本2 912 133个 , 训练样本 604 个。 可见 ,经过适当的数据预处理 ,利用少量的训练 样本来训练 SVDD ,大大减少了运算量 ,保证了实验 的高效、顺利进行 ,同时也符合支持向量描述算法的 思想. 2 基于 SVDD 的审计模型 D1 M1J Tax 建立了支持向量数据描述(SVDD) 利用高斯核函数把样本空间映射到核空间 ,在核空 间找到一个能够包含所有训练数据的一个球体. 当 判别时 ,如果测试样本位于这个高维球体中 ,那么就 认为正常 ,否则就认为异常. 其基本思想是 :首先通 过核函数将输入空间映射到一个高维空间 ,在这个 高维空间构造一个包含所有训练样本点的球体 ;在 球面上的样本点即为 SVDD 所求得的支持向量. 由 于支持向量的个数是稀疏的 ,因此计算量相应减少. 假设模型 f ( x ; w) 表示一类紧密的有界数据 集 ,因此可以借助一个超球体去包含并描述它. 这个 球体可以用中心 a 和半径 R 表示 ,而且使训练集 X tr的所有样本都落在此球体内. 这就表示经验风险 等于 0 ,因此 ,类比于 SVM [7 ] ,定义一个结构误差 : εstruct ( R , a) = R 2 . (1) 在如下的约束下对它最小化 : ‖xi - a ‖2 ≤R 2 , Πi. (2) 由于训练样本中一般含有噪声或野值 (也叫新颖 值) ,因此上述优化结果对噪声或野值敏感 ,缺少鲁 棒性. 为提高结果的鲁棒性 ,仿照 SVM 为每个样本 引入松弛变量ξi ≥0 , Πi ,以控制野值对解的影响. 意即对于远离球心的样本点实施惩罚 ,因此 ,最小化 问题变为如下形式 : estruct ( R , a , x) = R 2 + C a . i x i , (3) 其约束条件为 ‖xi - a ‖2 ≤R 2 +ξi ,ξi ≥0 , Πi , (4) ·70 · 智 能 系 统 学 报 第 2 卷 © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第4期 罗隽,等:基于SVDD的网络安全审计模型研究 ·71· 参数C类似于SVM中的控制变量, K(x,y=tanh[b(x·y以-cl.12) 利用Lagrange函数求解上述约束下的最小化 引入核函数后,原来的公式变成了如下形式: 问题,其约束条件不变 L=,Kx,xW-,0K(,,I3) Lagrange函数为 约束不变,而决策函数变为 L(R,a,x,a.g)R Cax- fsvDD (=:a,R)I(l()a)2R)= 1(K,-2K2,xW+ aaf R+x:-(x Xx:2a Xx:a Xa)-agixi. 9K,≤R) 14) (5) 这里判别函数I定义为 令L分别对a、R、y求偏导,并令偏导为0,可得 1 if A is true L ,x·W·,a,x动, 1(A)= (15) 0 otherwise. 约束为:)=1:20≤a≤C,1 3 小样本SVDD的系统调用序列分 对上述问题相对求·最大,可以用标准的二次 类器仿真实验 规划算法来解决.这样就可以求得ā的最优值,对于 为了检测单类分类器在安全审计记录上的效 0,≤C,其对应的样本点是支持向量,位于球面 果,利用MIT LPR程序的相关数据来对该模型的 上:而a=0则表示对应的样本点位于球体内.在这 异常检测能力进行评估.试验将少量的正常程序执 里并没有显式表出a和R,它们可以用a隐含表出. 行迹作为训练样本.在测试数据集中正常的执行迹 假设:为测试样本,那么当如下公式满足,即判 为2704个,而异常执行迹为1001个 别:是正常类,否则为异常类.相当于:落在该超球 首先对训练集中的系统执行迹进行预处理,获 体内部 得的长度为K的系统调用短序列集作为训练样本 :-aP=(2·-2,e·x)+ 输入SVDD单类分类器,训练后的分类器就可以实 现对在线样本的异常检测.在测试阶段,将测试的程 ∑,0(x:·x)≤R (7) 序执行迹进行预处理,得到的一系列的短序列输入 式中:R是任意一个支持向量xk到球心a的距离: 单类分类器,根据式(14),当fsvpD(z;a,R)输出为 R2=(k·x-2,(x·x划+ +1时,判断为正常的短系列:当SVDD输出为-1 时,可以认为对应的短序列偏离了正常模式,判断为 d(x.x 8) 异常短序列.为了更加正确地判断整个系统执行迹 当输入空间的样本点不满足球状分布时,可以通过 的异常状态,需设置相应的规则来提高整个检测系 核技巧把输入空间先映射到高维空间,然后在映射 统的性能.针对监控状态下整个系统调用执行迹,选 后的高维空间内求解.也就是将上述公式中的内积 定一个阈值a,当该执行迹中的短序列被判断为异 形式都变换成核函数形式: 常的数目超过·,则判定该系统调用执行迹为异常 x:·x→x)·x=K(x,x. (9) 在本实验中,当给定的系统执行迹中短序列输 式中:中为非线性映射,对于某些核函数可以显式地 出为-1(即异常样本)的个数超过a时,即整个用户 求出中,而绝大多数则难以表出. 系统调用执行迹为异常:否则,判断为正常」 选择一个适当的核函数也是比较重要的,如果 通过前期的研究与实验),当序列长度K取 选取的核函数能够将输入空间正好映射成高维空间 9~12时,系统的检测率和误报率即虚警率,将正常 的一个球体分布,那么所求得的分类器也会比较吻 误报为异常的比率)非常理想.但在K取值为6~8 合实际的分布情况.常用的的核函数有 的时候,系统的误报率比较高.如图1所示 1)多项式核函数: 但序列长度的增加意味着训练样本数目和训练 L(x,以=(1+x以日 (10) 时间的增加,为了更好地满足检测的实时性需要,必 2)Gaussian RBF核函数: 须把序列长度控制在一个较小的范围内,因此选取 合适的核参数是很关键的,为了验证核参数的调整 K(x.y)=exp- LxyE 2560 11) 对实验结果的影响,选取比较典型的K=7的样例 3)Sigmoid核函数: 进行调整,具体实验步骤以及使用的参数为 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net
参数 C 类似于 SVM 中的控制变量. 利用 Lagrange 函数求解上述约束下的最小化 问题 ,其约束条件不变. Lagrange 函数为 L ( R , a , x , a , g) = R 2 + C a 。 i x i - a 。 i ai{ R 2 + xi - ( xi ×xi 2 a ×xi a ×a) } - a 。 i g i x i . (5) 令 L 分别对 a、R、γ求偏导 ,并令偏导为 0 ,可得 L = ∑i αi ( xi ·xi) - ∑i , j ααi j ( xi ·x j) , (6) 约束为 :1) ∑i αi = 1 ; 2) 0 ≤αi ≤C, Πi. 对上述问题相对求α最大 ,可以用标准的二次 规划算法来解决. 这样就可以求得α的最优值 ,对于 0 ≤αi ≤C, 其对应的样本点是支持向量 , 位于球面 上;而αi = 0 则表示对应的样本点位于球体内. 在这 里并没有显式表出 a 和 R ,它们可以用α隐含表出. 假设 z 为测试样本 ,那么当如下公式满足 ,即判 别 z 是正常类 ,否则为异常类. 相当于 z 落在该超球 体内部. ‖z - a ‖2 = ( z ·z) - 2 ∑i αi ( z ·xi) + ∑i , j ααi j ( xi ·x j) ≤R 2 . (7) 式中 : R 是任意一个支持向量 x k 到球心 a 的距离 : R 2 = ( xk ·xk ) - 2 ∑i αi ( xi ·xk ) + ∑i , j ααi j ( xi ·x j) . (8) 当输入空间的样本点不满足球状分布时 ,可以通过 核技巧把输入空间先映射到高维空间 ,然后在映射 后的高维空间内求解. 也就是将上述公式中的内积 形式都变换成核函数形式 : xi ·x j →<( xi) ·<( x j) = K( xi , x j) . (9) 式中 :<为非线性映射 ,对于某些核函数可以显式地 求出 <,而绝大多数则难以表出. 选择一个适当的核函数也是比较重要的 ,如果 选取的核函数能够将输入空间正好映射成高维空间 的一个球体分布 ,那么所求得的分类器也会比较吻 合实际的分布情况. 常用的的核函数有 1) 多项式核函数 : L ( x , y) = (1 + x ·y) d . (10) 2) Gaussian RBF 核函数 : K( x , y) = exp - ‖x - y ‖2 256σ2 . (11) 3) Sigmoid 核函数 : K( x , y) = tan h[ b( x ·y) - c]. (12) 引入核函数后 ,原来的公式变成了如下形式 : L = ∑i αi K ( xi , xi) - ∑i , j ααi j K ( xi , x j) , (13) 约束不变 ,而决策函数变为 f SVDD ( z;α, R) = I ( ‖<( z) - <( a) ‖2 ≤R 2 ) = I ( K( z , z) - 2 ∑i αi K ( z , xi) + ∑i , j ααi j K ( xi , x j) ≤R 2 ) . (14) 这里判别函数 I 定义为 I ( A) = 1 , if A is true , 0 , otherwise. (15) 3 小样本 S V DD 的系统调用序列分 类器仿真实验 为了检测单类分类器在安全审计记录上的效 果 ,利用 MIT L PR 程序的相关数据来对该模型的 异常检测能力进行评估. 试验将少量的正常程序执 行迹作为训练样本. 在测试数据集中正常的执行迹 为 2 704 个 ,而异常执行迹为 1 001 个. 首先对训练集中的系统执行迹进行预处理 ,获 得的长度为 K 的系统调用短序列集作为训练样本 输入 SVDD 单类分类器 ,训练后的分类器就可以实 现对在线样本的异常检测. 在测试阶段 ,将测试的程 序执行迹进行预处理 ,得到的一系列的短序列输入 单类分类器 ,根据式 (14) ,当 f SVDD ( z;α, R) 输出为 + 1 时 ,判断为正常的短系列;当 SVDD 输出为 - 1 时 ,可以认为对应的短序列偏离了正常模式 ,判断为 异常短序列. 为了更加正确地判断整个系统执行迹 的异常状态 ,需设置相应的规则来提高整个检测系 统的性能. 针对监控状态下整个系统调用执行迹 ,选 定一个阈值α,当该执行迹中的短序列被判断为异 常的数目超过α,则判定该系统调用执行迹为异常. 在本实验中 ,当给定的系统执行迹中短序列输 出为 - 1 (即异常样本) 的个数超过α时 ,即整个用户 系统调用执行迹为异常;否则 ,判断为正常. 通过前期的研究与实验[13 ] ,当序列长度 K 取 9~12时 ,系统的检测率和误报率(即虚警率 ,将正常 误报为异常的比率) 非常理想. 但在 K 取值为 6~8 的时候 ,系统的误报率比较高. 如图 1 所示. 但序列长度的增加意味着训练样本数目和训练 时间的增加 ,为了更好地满足检测的实时性需要 ,必 须把序列长度控制在一个较小的范围内 ,因此选取 合适的核参数是很关键的 ,为了验证核参数的调整 对实验结果的影响 ,选取比较典型的 K = 7 的样例 进行调整 ,具体实验步骤以及使用的参数为 第 4 期 罗 隽 ,等 :基于 SVDD 的网络安全审计模型研究 ·71 · © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
·72 智能系统学报 第2卷 ◆检测率■误报率 ◆检测率量一误报率 120 是 100 80 0 6 40 20 4 91215182124273033 倒值 0 131721.2529 33 肉值 图1K取7时系统检测率与误报率 图3 KP取10~14时平均系统检测率与误报率 Fig.1 Detecting rate error rate when K=7 Fig.3 Average detecting rate 1)通过计算,SVDD中选用的核函数为RBF error rate when KP=10~14 核,0=20,C=1,K=7 2)为了验证核参数kernel param(KP)的取值 ◆检测率一误报率 对整个检测结果的影响,选取3个范围的KP即5一 120 9、10~14、15~20,分别取各个范围的检测率和误报 80 60 率的平均值,以观察不同的核参数对应于整个系统 40 的检测结果 3)根据不同阈值(本实验取值为9~35),对切 13 1721 25 29 岗值 分好的攻击数据和正常数据进行检测,从图2一4可 以看到KP取不同值时的异常检测系统的检测率和 误报率。 图4KP取15~20时平均系统检测率与误报率 Fig.4 Average detecting rate ◆检测率量误报率 error rate when KP=15~-20 120 能达到了最优,完全将MIT LPR中的异常样本分 八 0 60 开.当KP>10时,系统的误警率有了较大回升 0 通过实验可以看出,基于SVDD的单类分类器 20 的入侵检测模型具有以下特点: 9 13172125 29 33 國值 1)它不需要为系统提供异常的信息,避免了大 规模的短序列匹配过程,减少了预处理时间 图2 KP取5~9时平均系统检测率与误报率 2)可以从较少的正常执行迹中学习正常的模 Fig.2 Average detecting rate 式,并能取得比较理想的检测效果 error rate when KP=5~9 3)该方法由于不需要入侵的先验知识,利用正 由图2所示,在KP取59时,对于测试的所 常的样本建立正常的工作模式,所以该方法能够检 有阈值,系统获得了对异常样本接近100%的检测 测新的攻击和攻击的变种 率,误报率在00.6%,而当KP取10~14、15~20 4)由于检测部分只需要简单的计算,能够满足 时,平均最高误报警率则分别达到了42.31%和 入侵检测实时性的要求」 98.54%(图3,图4),远大于前次取值所获得的误报 4结束语 率. 根据实验结果,当KP取5~9时,系统在阈值 绝对安全无缺陷的系统是不存在的,因此入侵 调整的整个坐标系内,检测率和误报警率一直维持 防护系统已成为系统安全防护中最重要的组成部 在一个100%和平均接近于0的范围,说明通过核 分,传统基于网络的防护系统由于数据采集方式的 参数的调整,在序列长度维持不变的情况下,改善系 不足,对非授权获得超级用户权限攻击(user to 统性能也是可行的,从另一个方面证明了文中设计 root,U2R)和远程用户到本地的非授权访问(re 的系统是鲁棒的;正常数据和攻击数据可以被完全 mote to local,R2L)对这2类模仿正常的用户行为 得到区分,同时也说明不同的核参数选择对于检测 的攻击的识别效果很不好,本文利用主机系统调用 结果的影响是较大的.KP=5~9的情况下系统性 安全审计信息为数据源,同时引入SVDD单类分类 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.htp://www.cnki.net
图 1 K 取 7 时系统检测率与误报率 Fig. 1 Detecting rate & error rate when K = 7 1) 通过计算 , SVDD 中选用的核函数为 RBF 核 ,σ= 20 , C = 1 , K = 7. 2) 为了验证核参数 kernel param ( KP) 的取值 对整个检测结果的影响 ,选取 3 个范围的 KP 即 5~ 9、10~14、15~20 ,分别取各个范围的检测率和误报 率的平均值 ,以观察不同的核参数对应于整个系统 的检测结果. 3) 根据不同阈值 (本实验取值为 9~35) ,对切 分好的攻击数据和正常数据进行检测 ,从图2~4可 以看到 KP 取不同值时的异常检测系统的检测率和 误报率. 图 2 KP 取 5~9 时平均系统检测率与误报率 Fig. 2 Average detecting rate & error rate when KP = 5~9 由图 2 所示 ,在 KP 取 5~9 时 ,对于测试的所 有阈值 ,系统获得了对异常样本接近 100 %的检测 率 ,误报率在 0~0. 6 % ,而当 KP 取 10~14、15~20 时 ,平均最高误报警率则分别达到了 42. 31 %和 98. 54 %(图 3 ,图 4) ,远大于前次取值所获得的误报 率. 根据实验结果 ,当 KP 取 5~9 时 ,系统在阈值 调整的整个坐标系内 ,检测率和误报警率一直维持 在一个 100 %和平均接近于 0 的范围 ,说明通过核 参数的调整 ,在序列长度维持不变的情况下 ,改善系 统性能也是可行的 ,从另一个方面证明了文中设计 的系统是鲁棒的 ;正常数据和攻击数据可以被完全 得到区分 ,同时也说明不同的核参数选择对于检测 结果的影响是较大的. KP = 5~9 的情况下系统性 图 3 KP 取 10~14 时平均系统检测率与误报率 Fig. 3 Average detecting rate & error rate when KP = 10~14 图 4 KP 取 15~20 时平均系统检测率与误报率 Fig. 4 Average detecting rate & error rate when KP = 15~20 能达到了最优 ,完全将 MIT L PR 中的异常样本分 开. 当 KP > 10 时 ,系统的误警率有了较大回升. 通过实验可以看出 ,基于 SVDD 的单类分类器 的入侵检测模型具有以下特点 : 1) 它不需要为系统提供异常的信息 ,避免了大 规模的短序列匹配过程 ,减少了预处理时间. 2) 可以从较少的正常执行迹中学习正常的模 式 ,并能取得比较理想的检测效果. 3) 该方法由于不需要入侵的先验知识 ,利用正 常的样本建立正常的工作模式 ,所以该方法能够检 测新的攻击和攻击的变种. 4) 由于检测部分只需要简单的计算 ,能够满足 入侵检测实时性的要求. 4 结束语 绝对安全无缺陷的系统是不存在的 ,因此入侵 防护系统已成为系统安全防护中最重要的组成部 分 ,传统基于网络的防护系统由于数据采集方式的 不足 ,对非授权获得超级用户权限攻击 ( user to root ,U2R) 和远程用户到本地的非授权访问 ( re2 mote to local ,R2L) 对这 2 类模仿正常的用户行为 的攻击的识别效果很不好 ,本文利用主机系统调用 安全审计信息为数据源 ,同时引入 SVDD 单类分类 ·72 · 智 能 系 统 学 报 第 2 卷 © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
第4期 罗隽,等:基于SVDD的网络安全审计模型研究 ·73 器,避免了对入侵知识进行大规模匹配和提取的复 [10]RTSCH G,SCHL KOPF B,MIKA S M,et al.SVM 杂工作,解决了安全审计中的异常检测问题.本文提 and boosting:one class [R].Berlin,Germany:GMD 出了基于SVDD单类分类器的安全审计异常检测 FIRST Kekuieést,2000. 模型,其检测性能在国际标准数据集上得到了较好 [11]CHEN Y Q,ZHOU X,ET A L.One-class SVM for learning in image retrieval [A].IEEE Intl Conf on Image 的效果.需要在真实的应用环境中进一步验证这一 Proc (ICIP2001)[C].Thessaloniki,Greece,2001. 结论,并同时深入研究实施该技术的方法和系统结 [12 COL IN C,KRISTIN P.A linear programming ap- 构等问题,同时还要对系统调用的分类做进一步的 proach to novelty detection[J].Advances in Neural In- 研究,以确定一个更为合适的划分方法,从而构造能 formation Processing System,2001,13:25-28. 力更强、效率更高的防护系统 [13]潘志松,罗隽.基于支持向量描述的人工免疫检测算 参考文献: 法0].哈尔滨工程大学学报,2006,27(增刊):302, 306. [1 ]BISHOP M.A standard audit trail format [A ]Proceed- PAN Zhisong,LUO Jun.An immune detector algo- ing of the 18th National Information Systems Security rithm based suppert vector data description[J].Journal Conference [C].Baltimore,1995. of Harbin Engineering University,2006,27 (supl): [2]FORREST S,HOFMEYR S A.Computer immunology 302.306 [J ]Communications of the ACM,1997,40(10):88- 作者简介: 96. [3]WARRENDER C,FORREST S,PEARLMUTTER B. 罗隽,男,1981年生,讲师,主要研 Detecting intrusion using system calls:alternative data 究方向为网络安全、模式识别, models EB/OL ]http://www.cs.unm.edu/~forrest/ E mail zyqs1981 @hotmail.com. publications/Oakland-withcite.pdf,2000. [4]FORREST S,HOFMEYR S A,LON GSTAFF T A.A sense of self for unix processes[A].IEEE Computer So- ciety Press[C].Los Alamitos,1996. [5 ]LEE W,STOLFO S J,MOK K W.A data mining 潘志松,男,1973年生,副教授,主要 framework for building intrusion detection models [A]. 研究方向为网络安全、模式识别 Proc the 1999 IEEE Symposium on Security and Privacy E mail hotpzs @hotmail.com [C].Berkely,USA,1999. [6]HA YKIN S.Neural networks-a comprehensive founda- tion[M]2nd.Beijing:Tsinghua University Press,2001. [7]CRISTIANINI N,TA YLOR J S.An introduction to SVMs and other kernel-based learning methods M ] 胡谷雨,男,1963年生,教授,博士生 Cambridge Univ Press,2000. 导师,主要研究方向为网络安全、网络管 [8]DAVID M J T.One-class classification [D].Disserta- 理 tion:ICT Group Delft Netherland,1999. E mail huguyu @vip.163.com [9]MANEVITZ L M,YOUSEF M.One-class SVMs for document classification [J].Journal of Machine Learning Research,2001(2):139-154. 1994-2009 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net
器 ,避免了对入侵知识进行大规模匹配和提取的复 杂工作 ,解决了安全审计中的异常检测问题. 本文提 出了基于 SVDD 单类分类器的安全审计异常检测 模型 ,其检测性能在国际标准数据集上得到了较好 的效果. 需要在真实的应用环境中进一步验证这一 结论 ,并同时深入研究实施该技术的方法和系统结 构等问题 ,同时还要对系统调用的分类做进一步的 研究 ,以确定一个更为合适的划分方法 ,从而构造能 力更强、效率更高的防护系统. 参考文献 : [ 1 ]BISHOP M. A standard audit trail format [ A ]. Proceed2 ing of the 18th National Information Systems Security Conference [C]. Baltimore , l995. [2 ] FORREST S , HOFMEYR S A. Computer immunology [J ]. Communications of the ACM , 1997 ,40 (10) : 88 - 96. [3 ]WARRENDER C , FORREST S , PEARLMU TTER B. Detecting intrusion using system calls: alternative data models [ EB/ OL ]. http :/ / www. cs. unm. edu/ ~forrest/ publications/ Oakland2with2cite. pdf , 2000. [4 ] FORREST S , HOFMEYR S A , LON GSTAFF T A. A sense of self for unix processes[A ]. IEEE Computer So2 ciety Press[C]. Los Alamitos , 1996. [5 ] L EE W , STOL FO S J , MO K K W. A data mining framework for building intrusion detection models [ A ]. Proc the 1999 IEEE Symposium on Security and Privacy [C]. Berkely , USA , 1999. [6 ] HA YKIN S. Neural networks2a comprehensive founda2 tion[ M] 2nd. Beijing : Tsinghua University Press , 2001. [7 ] CRISTIANINI N , TA YLOR J S. An introduction to SVMs and other kernel2based learning methods [ M ]. Cambridge Univ Press , 2000. [8 ]DAVID M J T. One2class classification [ D ]. Disserta2 tion : ICT Group Delft Netherland ,1999. [9 ] MANEVITZ L M , YOUSEF M. One2class SVMs for document classification [J ]. Journal of Machine Learning Research , 2001 (2) :139 - 154. [10 ] RTSCH G, SCHL KOPF B , MIKA S M , et al. SVM and boosting : one class [ R ]. Berlin , Germany : GMD FIRST Kekuiést , 2000. [11 ]CHEN Y Q , ZHOU X , ET A L. One2class SVM for learning in image retrieval [ A ]. IEEE Intl Conf on Image Proc (ICIP’2001) [C]. Thessaloniki , Greece , 2001. [ 12 ] COL IN C , KRISTIN P. A linear programming ap2 proach to novelty detection [J ]. Advances in Neural In2 formation Processing System , 2001 ,13 :25 - 28. [13 ]潘志松 ,罗 隽. 基于支持向量描述的人工免疫检测算 法[J ]. 哈尔滨工程大学学报 , 2006 , 27 (增刊) : 302 - 306. PAN Zhisong , LUO J un. An immune detector algo2 rithm based suppert vector data description[J ]. Journal of Harbin Enqineering University , 2006 , 27 ( supl) : 302 - 306. 作者简介 : 罗 隽 ,男 ,1981 年生 ,讲师 ,主要研 究方向为网络安全、模式识别. E2mail :zyqs1981 @hotmail. com. 潘志松 ,男 ,1973 年生 ,副教授 ,主要 研究方向为网络安全、模式识别. E2mail :hotpzs @hotmail. com. 胡谷雨 ,男 ,1963 年生 ,教授 ,博士生 导师 ,主要研究方向为网络安全、网络管 理. E2mail :huguyu @vip . 163. com. 第 4 期 罗 隽 ,等 :基于 SVDD 的网络安全审计模型研究 ·73 · © 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net