论文学习:2018-TIFS-sequence covering for efficient host based intrusion detection

引入:想要根据系统调用序列进行异常检测,最直接的想法就是使用正常序列与未知序列进行比对;若未知序列与正常序列相似,则可认为是正常序列;若未知序列与正常序列相差较大,则可认为它是异常序列。

序列比对:欧式距离是最容易理解的相似度比对算法,它根据欧式空间中两点的距离进行计算;但是用于序列相似度计算时,它只能反映出同一位置上序列元素的差异性,而无法捕获序列元素的前后关系。

 

Eg:(12345)  (45123

           每个位置的序列元素都相差2-3,因此欧式距离很大;但这两个序列的相似度并不低,它们是循环移动两位的关系。

想精确的计算序列的相似度:生物信息学领域提出了许多序列相似度度量方法(如最长公共子序列算法、最长公共子串算法)。

    Eg:(12345)(45123

最长公共子串/序列为(123)此时相似度为60%(相似度较高)

这些方法也可以成功地应用在系统调用序列上。但是这些方案

1.没有考虑除最长公共序列以外的元素           

Eg: (1,2,3,4,5)  (6,7,1,2,3)之间的最长公共子序列仍为(123);但后者与前者相似度明显不如(45123)与前者高

2.因为都是用于两两序列比对的算法、应用于异常检测时需要位置序列与所有正常序列进行比对;因此时间复杂度很高,只能应用于中小规模的问题上。

该论文提出了 用于入侵检测的序列覆盖算法SC4ID

 

用于入侵检测的序列覆盖算法:

给定 一组正常序列 S ,输入 一条未知 序列 s
最优覆盖 的计算方法:以未知序列 s aaegeagd ”的第一个元素为开头,寻找其在 S 中的最长公共子串,如图找到为“ aae ”;再用 s 剩下的序列“ geagd ”重复上述操作(找到最长公共子串“ gea ”,再从“ gd ”中找到最长公共子串为“gd”)直至剩下序列为空。
一种用于入侵检测的序列相似度度量方法:序列覆盖法
 
 

 •优覆盖:得到的公共子串组aaegeagd就是sS-最优覆盖

正常序列组S,对未知序列s的最优覆盖记为 一种用于入侵检测的序列相似度度量方法:序列覆盖法

 

 

通过最优覆盖的定义可知,最优覆盖的子串数量越少时, s S 的相似度越高

   saaef”是S中的一个子,最优覆盖数量为1相似度很高)

当最优覆盖的子串数量越多时, s S 的相似度越低

  (当sS没有长度大于1的公共子串时,最优覆盖数量为s的长度,如sfdfdfd”的最优覆盖为[f,d,f,d,f,d],最优覆盖数量为6,相似度很低)

因此若想用最优覆盖数量表示序列的相似度,将最优覆盖数量进行归一化处理:将最优覆盖数量从 [1,s 序列长度 ] 映射到 [1,0]

 

 一种用于入侵检测的序列相似度度量方法:序列覆盖法

一种用于入侵检测的序列相似度度量方法:序列覆盖法

 一种用于入侵检测的序列相似度度量方法:序列覆盖法

一种用于入侵检测的序列相似度度量方法:序列覆盖法

一种用于入侵检测的序列相似度度量方法:序列覆盖法

相关文章:

  • 2021-10-20
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-01-15
  • 2021-12-12
猜你喜欢
  • 2022-12-23
  • 2021-12-10
  • 2021-09-13
  • 2021-11-30
  • 2021-07-08
  • 2021-10-06
  • 2021-12-13
相关资源
相似解决方案