伪装攻击检测中的模型训练方法和检测方法技术

技术编号:4249000 阅读:197 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种伪装攻击检测中的模型训练方法,包括:由合法用户正常行为的训练数据中的shell命令短序列生成多个具有不同长度的shell命令短序列流;一个所述shell命令短序列流包括有具有某一特定长度的shell命令短序列,所述长度为所述shell命令短序列中所含shell命令符号的个数;在各个shell命令短序列流中计算所含shell命令短序列在所在短序列流中的支持度;将shell命令短序列的支持度大小与所在shell命令短序列流的最小支持度参数进行比较,去除各个shell命令短序列流中支持度小于最小支持度参数的shell命令短序列,从而得到用于描述合法用户正常行为的序列库。本发明专利技术具有适应性广、稳定性高、容错能力强、检测准确度较高的优点。

【技术实现步骤摘要】

本专利技术涉及计算机网络安全领域,特别涉及。
技术介绍
伪装攻击是指非授权用户通过伪装成合法用户来获得访问关键数据或更高层访 问权限的行为。近年来,伪装攻击在网络信息安全事件中的比例不断增长,成为对系统破坏 最为严重的攻击方式之一。目前,伪装攻击检测在保障网络信息安全中发挥着越来越大的 作用。 伪装攻击检测是当前网络安全领域研究的热点。由于合法用户的行为本身是变化 的,且伪装用户的行为可能看起来是正常的,这种不确定性使得实现伪装攻击检测比传统 的网络攻击检测更为困难。目前的伪装攻击检测方法和系统大多采用异常检测技术,这种 技术对合法用户的正常行为进行建模,通过被监测用户的实际行为与合法用户正常行为之 间的比较或匹配来检测攻击。采用异常检测技术的伪装攻击检测方法和系统的优点是不需 要过多有关攻击行为的先验知识,且能够检测出未知的攻击类型;但与此同时,此类伪装攻 击检测方法和系统也具有误报率高、检测效率难以满足高速网络实时检测需求等问题,从 而会降低检测方法和系统的可用性。这也是影响此类伪装攻击检测方法和系统实际应用的 主要因素。此外,由于用户行为的多变性,检测所需的训练数据往往不够充分,这就要求检 测模型应当具有一定的容错性、泛化能力以及对用户行为变化的适应性。如何利用相对不 够充分的训练数据来尽可能精确地描述用户的正常行为轮廓,以及如何利用该正常行为轮 廓进行伪装攻击检测是当前主要的技术难点。 目前,在以Unix或Li皿x平台上shell命令为审计数据的用户伪装攻击检测方法 中,基于神经网络、支撑矢量机或隐马尔可夫模型来描述用户的正常行为轮廓是主流的做 法。与一般的异常检测方法相类似,此类方法存在的主要问题是对用户行为变化缺乏适应 性,检测性能的稳定性和容错能力不够强,检测准确度也有待提高。
技术实现思路
本专利技术的目的是克服现有伪装攻击检测方法对用户行为变化缺乏适应性、检测性 能的稳定性和容错能力不够强、检测准确度不高的缺陷,从而提供一种适应性广、稳定性 高、容错能力强、检测准确度较高的伪装攻击检测方法。 为了实现上述目的,本专利技术提供了一种伪装攻击检测中的模型训练方法,包括 步骤1)、由合法用户正常行为的训练数据中的shell命令短序列生成多个具有不 同长度的shell命令短序列流;一个所述shell命令短序列流包括有具有某一特定长度的 shell命令短序列,所述长度为所述shell命令短序列中所含shell命令符号的个数; 步骤2)、在各个shell命令短序列流中计算所含shell命令短序列在所在短序列 流中的支持度; 步骤3)、将shell命令短序列的支持度大小与所在shell命令短序列流的最小支 持度参数进行比较,去除各个shell命令短序列流中支持度小于最小支持度参数的shell 命令短序列,从而得到用于描述合法用户正常行为的序列库。 上述技术方案中,所述的步骤1)包括 步骤1-1)、设定滑动窗口的大小; 步骤l-2)、利用所述滑动窗口在所述训练数据的shell命令短序列中逐步截取 shell命令符号,得到具有相同长度的shell命令短序列,组成所述的shell命令短序列 流; 步骤l-3)、改变滑动窗口的大小后重新执行步骤l-2),直到滑动窗口的大小已经 涵盖所有shell命令短序列的长度。 上述技术方案中,在所述的步骤2)中,对所述支持度的计算采用如下公式support ( ) = number( 5^)/( r - /(/) +1) 其中,number (S。表示shel 1命令短序列在shel 1命令短序列流的r_l (i) +1 个shell命令短序列中的出现次数;support(S+i)表示短序列在中的支持度。 本专利技术还提供了一种伪装攻击检测方法,采用所述的模型训练方法所得到的用于 描述合法用户正常行为的序列库实现伪装攻击检测;该方法包括 步骤1)、由被监测用户的审计数据生成多个具有不同长度的shell命令短序列 流;一个所述shell命令短序列流包括有具有某一特定长度的shell命令短序列,所述长度 为所述shell命令短序列中所含shell命令符号的个数; 步骤2)、将步骤1)所得到的多个shell命令短序列流与所述用于描述合法用户正常行为的序列库进行比较,实现行为模式的匹配,得到多个匹配结果序列; 步骤3)、由所述的匹配结果序列生成参考判决值,根据参考判决值对被监测用户的行为是否异常作出判决。 上述技术方案中,所述的步骤2)包括 步骤2-1)、将一 shell命令短序列流中的某一 shell命令短序列与所述用于描述 合法用户正常行为的序列库中的各个序列进行匹配,当该shell命令短序列与所述序列库 中的某一序列相同,则该shell命令短序列为正常行为模式序列,并做相应标记;否则,该 shell命令短序列为异常行为模式序列,并做相应标记; 步骤2-2)、对该shell命令短序列流中的所有shell命令短序列重复执行步骤 2-1),由所述标记得到该shell命令短序列流的匹配结果序列; 步骤2-3)、对由被监测用户的审计数据所生成的所有shell命令短序列流重复执 行上述步骤,得到多个匹配结果序列。 上述技术方案中,在所述的步骤3)中,对多个所述的匹配结果序列做加窗平滑处 理,从而得到多个与匹配结果序列相对应的参考判决值。 上述技术方案中,在所述的步骤3)中,所述的根据参考判决值对被监测用户的行 为是否异常作出判决包括 步骤3-1-1)、设定W个判决门限ai、 a2.....aw ; 步骤3-1-2)、设定变量k的初始值为1 ; 步骤3-1-3)、如果Dk(j)《ak,则将被监测用户的当前行为判定为伪装攻击行为,并不再执行后续步骤,否则,执行后续步骤;其中,Dk(j)为长度为l(k)的shell命令短序 列流所对应的参考判决值,1 (k)表示第k种shell命令短序列的长度; 步骤3-1-4)、如果k < W,则变量k的值增加1,并返回执行前一步骤,如果k = W, 则执行下一步; 步骤3-1-5)、如果Dk(j) >、,则将被监测用户的当前行为判为正常行为,否则,将被监测用户的当前行为判为伪装攻击行为。 上述技术方案中,所述的步骤3-1-1)包括 步骤3-1-1-1)、设定变量k的初始值为1,并确定期望虚警概率的上限q ; 步骤3-1-1-2)、使用Dk(j)作为最终判决值,并令q(k) = q/W,然后利用所获得的训练数据通过交叉验证的方法来得到期望虚警概率q(k)所对应的判决门限p(k),其中,q(k)表示Dj)作为最终判决值时此种判决方案所容忍的最大虚警概率; 步骤3-1-1-3)、将变量k的值加1 ,然后判断k的值是否小于或等于W,如果是,返回上一步,否则,执行下一步; 步骤3-1-1-4)、设定变量i的初始值为l,对于l《k《W,令ak(i) = p (k); 步骤3-1-1-5)、设定判决门限的增量b ; 步骤3-1-1-6)、将变量i的值加l,对于l《k《W,令ak(i) =p(k)+b; 步骤3-l-l-7)、将aJi),a2(i),... ,aw(i)作为W个判决门限,其中ak(i)与Dj)相对应,然后利用训练数据通过本文档来自技高网
...

【技术保护点】
一种伪装攻击检测中的模型训练方法,包括:步骤1)、由合法用户正常行为的训练数据中的shell命令短序列生成多个具有不同长度的shell命令短序列流;一个所述shell命令短序列流包括有具有某一特定长度的shell命令短序列,所述长度为所述shell命令短序列中所含shell命令符号的个数;步骤2)、在各个shell命令短序列流中计算所含shell命令短序列在所在短序列流中的支持度;步骤3)、将shell命令短序列的支持度大小与所在shell命令短序列流的最小支持度参数进行比较,去除各个shell命令短序列流中支持度小于最小支持度参数的shell命令短序列,从而得到用于描述合法用户正常行为的序列库。

【技术特征摘要】
一种伪装攻击检测中的模型训练方法,包括步骤1)、由合法用户正常行为的训练数据中的shell命令短序列生成多个具有不同长度的shell命令短序列流;一个所述shell命令短序列流包括有具有某一特定长度的shell命令短序列,所述长度为所述shell命令短序列中所含shell命令符号的个数;步骤2)、在各个shell命令短序列流中计算所含shell命令短序列在所在短序列流中的支持度;步骤3)、将shell命令短序列的支持度大小与所在shell命令短序列流的最小支持度参数进行比较,去除各个shell命令短序列流中支持度小于最小支持度参数的shell命令短序列,从而得到用于描述合法用户正常行为的序列库。2. 根据权利要求1所述的伪装攻击检测中的模型训练方法,其特征在于,所述的步骤 1)包括:步骤l-l)、设定滑动窗口的大小;步骤1-2)、利用所述滑动窗口在所述训练数据的shell命令短序列中逐步截取shell 命令符号,得到具有相同长度的shell命令短序列,组成所述的shell命令短序列流;步骤l-3)、改变滑动窗口的大小后重新执行步骤l-2),直到滑动窗口的大小已经涵盖 所有shell命令短序列的长度。3. 根据权利要求1所述的伪装攻击检测中的模型训练方法,其特征在于,在所述的步 骤2)中,对所述支持度的计算采用如下公式support () = number( & )/(r — /(0 +1)其中,number (S+i)表示shell命令短序列在shell命令短序列流的r_l (i)+l个 shell命令短序列中的出现次数;support(S+i)表示短序列S 在中的支持度。4. 一种伪装攻击检测方法,采用权利要求l-3之一的模型训练方法所得到的用于描述 合法用户正常行为的序列库实现伪装攻击检测;该方法包括步骤1)、由被监测用户的审计数据生成多个具有不同长度的shell命令短序列流;一 个所述shell命令短序列流包括有具有某一特定长度的shell命令短序列,所述长度为所 述shell命令短序列中所含shell命令符号的个数;步骤2)、将步骤l)所得到的多个shell命令短序列流与所述用于描述合法用户正常行 为的序列库进行比较,实现行为模式的匹配,得到多个匹配结果序列;步骤3)、由所述的匹配结果序列生成参考判决值,根据参考判决值对被监测用户的行 为是否异常作出判决。5. 根据权利要求4所述的伪装攻击检测方法,其特征在于,所述的步骤2)包括 步骤2-1)、将一 shell命令短序列流中的某一 shell命令短序列与所述用于描述合法用户正常行为的序列库中的各个序列进行匹配,当该shell命令短序列与所述序列库中的 某一序列相同,则该shell命令短序列为正常行为模式序列,并做相应标记;否则,该shell 命令短序列为异常行为模式序列,并做相应标记;步骤2-2)、对该shell命令短序列流中的所有shell命令短序列重复执行步骤2_1), 由所述标记得到该shell命令短序列流的匹配结果序列;步骤2-3)、对由被监测用户的审计数据所生成的所有shell命令短序列流重复执行上 述步骤,得到多个匹配结果序列。6. 根据权利要求4所述的伪装攻击检测方法,其特征在于,在所述的步骤3)中,对...

【专利技术属性】
技术研发人员:田新广程学旗刘悦许洪波段洣毅
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1