一种基于系统调用的容器安全特征选择算法



1.本发明涉及面向容器的机器学习特征选择算法,属于云安全和机器学习领域。


背景技术:



2.随着云计算的不断发展,容器的使用在云环境中逐渐成为主流。然而云计算的网络服务与通信场景通常复杂多变,这使得容器在安全性方面面临严峻挑战。面向容器的安全检测也因此成为了这一领域的研究热点。
3.基于系统调用的安全检测为容器安全检测提供了新思路,该方法通过分析识别容器进程的系统调用序列从而判断容器是否受到攻击或存在异常现象。系统调用序列是将众多系统调用按调用的时间顺序排列而得到的序列,而系统调用是操作系统实现提供的用于程序传递请求的一系列内核函数,每个系统调用都以一特定数字序号的形式排列于调用序列中。在程序运行时,程序的行为目标几乎都需要通过系统调用这一接口连接系统来最终实现,它反应出了程序最真实最基础的行为链。因此,基于系统调用来检测容器安全是一个行之有效的方法。
4.在云环境中,不考虑中止服务的前提下,容器的系统调用时间序列可以无限延长,因此现有的系统调用检测大多采用n-gram思路。该思路利用滑动窗口机制,将长序列通过步进移动长度为n的窗口从而获得大量的定长系统调用短序列,将得到的短序列收集,选取出现频率最高的一部分序列作为特征,然后利用机器学习模型来进行异常检测。
5.然而该方法对单个容器运行简单服务的时候或许会有很好的效果,但在传统n-gram中,滑动窗口每次只移动一格,在n很大时,序列集中将会存在大量的冗余。另外,随着容器技术与网络发展的需要,如今的容器服务呈现出高内聚低耦合这一特点,不同容器间的服务差异大,同一容器内的服务则相关性极强。由于基于系统调用的机器学习特征选择技术仅支持单个数据集的检测识别,不同容器间难以共享传递同一特征选择方案,而若对每一个容器都进行独立的检测,则会造成极大的资源开销。因此,如何对多容器进行统一的系统调用安全检测,急需一种有效的解决方案。


技术实现要素:



6.针对上述问题,提出了基于互信息和偏序关系的多容器系统调用检测特征选择算法,具体步骤如下:
7.步骤一、基于原始系统调用序列生成合适的n-gram短序列:
8.1、对调用序列预处理:多个连续重复调用合并为一个,删除明显异常调用,为了后续步骤能够顺利得到所有短序列,末端不足则直接填补最后一个调用号;
9.2、计算相邻调用之间的相关性来决定滑动窗口的移动幅度,窗口大小为固定值,移动幅度动态可调:
10.1)通过统计的方法计算相邻调用x、y的点间互信息并将
其作为主要指标之一,用以表达二者相连的合理程度;
11.其中p(x,y)为调用x、y的联合分布(x在前,y在后),即x、y连续出现的情况在所有二元调用序列组的占比。p(x)为单个调用在所有出现的调用中所占的概率;
12.2)对于信息熵属性d可分为m类,pk为第k类的占比,计算每个调用x的左右两侧信息熵ent_l(x)、ent_r(x),为了描述相邻的两个调用间相遇的可能性以及对应后续调用的衔接可能性,构造衔接表达项m(x,y):
13.m(x,y)=-k1min{ent_r(x),ent_l(y)}+k2ent_r(y)
14.其中表示x在前,所有可能的xk在后共同构成的信息熵,pk为x在前xk在后的所有二元组个数与所有连续二元组个数的比值,ent_l(x)表示x在后,其余在前的所有连接情况构成的信息熵,k1、k2为大于0的常数;
15.3)将系统调用分为进程控制、文件管理、设备管理、信息维护、通信和保护六大类,考虑各类调用间的连接期望,计算相邻两个调用所归属的α、β两类调用之间的互信息作为相关性权重;
16.4)计算相邻系统调用的相关性:
17.g(x,y)=i(α,β)
·
[p(x,y)+m(x,y)]
[0018]
5)选择相关性最低的两个调用之间的位置作为滑动窗口的下一个起始位置;
[0019]
3、确定滑动窗口大小:
[0020]
1)分别选取不同短序列长度对预先选择的测试集进行训练并检测,对比选定检测精确度最高的长度为最终选取的n-gram短序列长度n;
[0021]
2)滑动窗口大小设定为n,窗口内覆盖的短序列作为后续操作的短序列;
[0022]
4、特征的预处理:任意两个序列x、y,通过快速相关性滤波算法(fcbf)计算对称不确定性su(x,y)=2
·
ig(x,y)/[ent(x)+ent(y)],根据设定的su阈值对序列去冗余;其中ig(x,y)=ent(x)-ent(x|y)为信息增益,ent(x),ent(y)为信息熵;
[0023]
步骤二、基于生成的短序列筛选适合容器的特征集:
[0024]
1、选出符合条件的短序列:对于每个独立容器,在通过步骤一获得的所有序列中选择出现频率ti=mi/ni最高的前30%作为该容器的候选特征集;
[0025]
其中ti表示特征fi出现的频率,mi为特征fi在所有容器中出现的次数,ni为所有特征在所有容器中出现的次数和;
[0026]
2、对所有特征计算特征间的相对优势函数:
[0027]
1)给定n个特征组成的集合a={f1,f2,

,fn},各容器的信息熵排序结果v={v1,v2,

,vd},vi为容器ci的各特征的信息熵排序,信息熵为左侧与右侧信息熵之和,对于其中的部分排序结果若对于均满足u(fi)≤u(fj),则称根据偏序关系计算各个特征在所有结果中的优势类
[0028]
2)计算各个特征的劣势类
[0029]
3)计算每个特征x权重其中z为归一化系数,τ(x,i)为第i个排序结果中x的排名成绩,特征x出现在总共k个容器排序结果中;
[0030]
4)对所有特征计算特征x相对于特征y的优势程度:
[0031][0032]
其中表示集合的元素个数;
[0033]
3、根据优势程度筛选主次要特征:
[0034]
1)根据优势程度画出特征的优势拓扑图,通过拓扑图依次排序所有特征;
[0035]
2)筛选主要特征:根据信息增益选取一定比例;根据优势程度函数的排序结果选取一定比例;
[0036]
3)筛选次要特征:选取部分全局效果不佳,自身增益大的部分特征;选取部分优势程度不佳,但出现频率高的部分特征;
[0037]
综上所述,本发明优点如下:
[0038]
1)本发明提出的特征选择算法能够对多个容器进行特征选择;
[0039]
2)优化了传统n-gram思路的滑动生成序列这一步骤,能够合理体现出序列切割的特点;
[0040]
3)考虑到容器间的差异,能够在保持各自场景独立化的同时减少计算资源损耗,多容器间能够共享传递一定比例的特征选择方案。
附图说明
[0041]
图1是候选特征集生成流程图;
[0042]
图2是特征去冗余的流程图;
[0043]
图3是主次要特征的筛选流程图;
[0044]
图4是本发明的整体流程图。
具体实施方式
[0045]
如图1、2、3所示,本发明技术方案的具体步骤为:
[0046]
步骤1、如图1、2所示,候选特征集的生成:
[0047]
1)将原始系统调用序列进行预处理,包括但不限于去除异常调用号,删减重复连续调用,末端的缺失值处理等;
[0048]
2)计算相邻调用之间的相关性来决定滑动窗口的移动幅度,窗口大小为固定值,移动幅度动态可调,统计计算相邻调用x、y的点间互信息使用它们的点间互信息作为主要指标,用以表达二者相连的合理程度;
[0049]
其中p(x,y)为调用x、y的联合分布(x在前,y在后),即x、y连续出现的情况在所有二元调用序列组的占比。p(x)为单个调用在所有出现的调用中所占的频率;
[0050]
3)计算每个调用x的左右两侧信息熵ent_l(x)、ent_r(x),为了描述相邻的两个调
用间相遇的可能性以及对应后续调用的衔接可能性,构造衔接表达项m(x,y):
[0051]
m(x,y)=-k1min{ent_r(x),ent_l(y)}+k2ent_r(y)
[0052]
其中表示x在前,所有可能的xk在后共同构成的信息熵,pk为x在前xk在后的所有二元组个数与所有连续二元组个数的比值,ent_l(x)表示x在后,其余在前的所有连接情况构成的信息熵,k1、k2为大于0的常数;
[0053]
4)将系统调用分为六大类,考虑各类调用间的连接期望,计算相邻两个调用所归属的α、β两类调用之间的互信息作为相关性权重;
[0054]
5)计算相邻系统调用的相关性:
[0055]
g(x,y)=i(α,β)
·
[p(x,y)+m(x,y)]
[0056]
6)根据相邻调用的相关性动态滑动窗口,并根据测试集的准确率选取窗口大小n=15;
[0057]
7)对任意两个序列x、y,通过fcbf算法计算对称不确定性su(x,y)=2
·
ig(x,y)/[ent(x)+ent(y)]对序列去冗余;将其排序之后迭代筛选、检测最相关的特征,去除达不到阈值的冗余特征;
[0058]
步骤2、如图3所示,主次要特征的筛选:
[0059]
1)在通过步骤1获得的所有序列中选择出现频率ti=mi/ni最高的前30%作为该容器的候选特征集;
[0060]
其中ti表示特征fi出现的频率,mi为特征fi在所有容器中出现的次数,ni为所有特征在所有容器中出现的次数和;
[0061]
2)给定n个特征组成的集合a={f1,f2,

,fn},各容器的信息熵排序结果v={v1,v2,

,vd},vi为容器ci的各特征的信息熵排序,信息熵为左侧与右侧信息熵之和,对于其中的部分排序结果若对于均满足u(fi)≤u(fj),则称根据偏序关系计算各个特征在所有结果中的优势类
[0062]
3)计算各个特征的劣势类
[0063]
4)计算每个特征x在所有结果下的权重其中z为归一化系数,τ(x,i)为第i个排序结果中x的排名成绩,特征x出现在总共k个容器排序结果中;
[0064]
5)对所有特征计算特征x相对于特征y的优势程度:
[0065][0066]
其中表示集合的元素个数;
[0067]
6)根据优势程度画出特征的优势拓扑图,通过拓扑图依次排序所有特征;
[0068]
7)根据信息增益、优势程度函数的排序结果各选取一定比例;二者结合作为主要特征;
[0069]
8)选取部分全局效果不佳,自身增益大的部分特征;选取部分优势程度不佳,但出
现频率高的部分特征;二者结合作为次要特征。

技术特征:


1.一种基于系统调用的容器安全特征选择算法,其特征在于首先基于原始系统调用序列生成合适的n-gram短序列候选特征集合,然后提炼主次要特征以完成检测特征的筛选,所述方法至少包括以下步骤:步骤1、基于原始系统调用序列生成合适的n-gram短序列:1)对序列进行预处理;2)计算相邻调用之间的相关性来决定滑动窗口的移动幅度;3)确定滑动窗口大小;4)得到短序列后根据对称不确定性进行冗余去除,以完成特征的预处理;步骤2、完成主次要特征的筛选;1)选取适应性评价结果较前的特征;2)计算各特征的优势类及劣势类;3)计算各特征的优势权重;4)计算预选序列中所有特征的相对优势函数;5)生成优势拓扑图;6)筛选主次要特征。2.根据权利要求1所述的基于系统调用的容器安全特征选择算法,其特征在于所述的基于原始系统调用序列生成合适的n-gram短序列至少还包括以下步骤:1)对调用序列预处理,连续重复调用合并为一个,删除明显异常调用,末端不足则直接填补最后一个调用号;2)为了确定滑动窗口的移动幅度,通过统计计算相邻调用的点间互信息并将其作为主要指标之一,用以表达二者相连的合理程度;3)计算每个调用的左右两侧信息熵ent_l(x)、ent_r(x),通过计算这些值用以描述相邻的两个调用相遇的可能性以及对应后者调用的衔接可能性,构造衔接表达项m(x,y):m(x,y)=-k1min{ent_r(x),ent_l(y)}+k2ent_r(y)4)将系统调用分为进程控制、文件管理、设备管理、信息维护、通信和保护六大类,考虑各类调用间的连接期望,计算相邻两个调用所归属的α、β两类调用之间的互信息作为相关性权重;5)计算相邻系统调用的相关性g(x,y)=i(α,β)
·
[p(x,y)+m(x,y)];6)选择相关性最低的两个调用之间的位置作为滑动窗口的下一个起始位置;7)根据测试集的表现选定滑动窗口的大小n;8)通过对称不确定性su(x,y)=2
·
ig(x,y)/[ent(x)+ent(y)]去冗余。3.根据权利要求1或2所述的基于系统调用的容器安全特征选择算法,其特征在于所述的生成主次要特征待选集至少还包括以下步骤:1)在步骤2最终得到的所有序列中选择出现频率t
i
=m
i
/n
i
最高的前30%作为该容器的候选特征集;2)根据偏序关系计算各个特征在所有结果中的优势类
3)计算各个特征的劣势类4)计算每个特征x在所有结果下的权重5)对所有特征计算特征x相对于特征y的优势程度6)根据优势程度画出特征的优势拓扑图;7)通过拓扑图依次筛选主次要特征。4.根据权利要求1或3所述的基于系统调用的容器安全特征选择算法,其特征在于提炼主次要特征至少还包括以下步骤:1)对于主要特征:

根据信息增益选取一定比例;

根据优势程度函数进行排序,选取一定比例。2)对于次要特征:

选取部分全局效果不佳,自身增益大的部分特征;

选取部分优势程度不佳,但出现频率高的部分特征。

技术总结


本发明提出了一种能够对多个容器进行系统调用检测的特征选择算法,包括以下步骤:1)通过计算相邻系统调用间的相关性来表述调用间的紧密程度;2)利用滑动窗口机制获得系统调用短序列;3)通过相关性函数确定滑动窗口的移动位置,通过测试集表现确定滑动窗口的大小;4)根据频率高低选取一定比例的短序列作为各容器的待选特征集;5)根据优势程度函数等确定整体的主要特征集与各容器的次要特征集。本发明提出的特征选择算法能够对多个容器进行特征选择,多容器间能够共享传递一定比例的特征选择方案,使得容器安全检测在保持各自场景相对独立化的同时减少计算资源损耗。对独立化的同时减少计算资源损耗。对独立化的同时减少计算资源损耗。


技术研发人员:

龙赛琴 谢磊 李艳春 田淑娟 刘昊霖 申冬苏

受保护的技术使用者:

湘潭大学

技术研发日:

2022.07.29

技术公布日:

2023/3/24

本文发布于:2024-09-23 08:23:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/78233.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:特征   序列   容器   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议