当前位置: 首页 > 专利查询>湘潭大学专利>正文

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

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

【技术实现步骤摘要】
一种基于系统调用的容器安全特征选择算法


[0001]本专利技术涉及面向容器的机器学习特征选择算法,属于云安全和机器学习领域。

技术介绍

[0002]随着云计算的不断发展,容器的使用在云环境中逐渐成为主流。然而云计算的网络服务与通信场景通常复杂多变,这使得容器在安全性方面面临严峻挑战。面向容器的安全检测也因此成为了这一领域的研究热点。
[0003]基于系统调用的安全检测为容器安全检测提供了新思路,该方法通过分析识别容器进程的系统调用序列从而判断容器是否受到攻击或存在异常现象。系统调用序列是将众多系统调用按调用的时间顺序排列而得到的序列,而系统调用是操作系统实现提供的用于程序传递请求的一系列内核函数,每个系统调用都以一特定数字序号的形式排列于调用序列中。在程序运行时,程序的行为目标几乎都需要通过系统调用这一接口连接系统来最终实现,它反应出了程序最真实最基础的行为链。因此,基于系统调用来检测容器安全是一个行之有效的方法。
[0004]在云环境中,不考虑中止服务的前提下,容器的系统调用时间序列可以无限延长,因此现有的系统调用检测大多采用N

gram思路。该思路利用滑动窗口机制,将长序列通过步进移动长度为N的窗口从而获得大量的定长系统调用短序列,将得到的短序列收集,选取出现频率最高的一部分序列作为特征,然后利用机器学习模型来进行异常检测。
[0005]然而该方法对单个容器运行简单服务的时候或许会有很好的效果,但在传统N

gram中,滑动窗口每次只移动一格,在N很大时,序列集中将会存在大量的冗余。另外,随着容器技术与网络发展的需要,如今的容器服务呈现出高内聚低耦合这一特点,不同容器间的服务差异大,同一容器内的服务则相关性极强。由于基于系统调用的机器学习特征选择技术仅支持单个数据集的检测识别,不同容器间难以共享传递同一特征选择方案,而若对每一个容器都进行独立的检测,则会造成极大的资源开销。因此,如何对多容器进行统一的系统调用安全检测,急需一种有效的解决方案。

技术实现思路

[0006]针对上述问题,提出了基于互信息和偏序关系的多容器系统调用检测特征选择算法,具体步骤如下:
[0007]步骤一、基于原始系统调用序列生成合适的N

gram短序列:
[0008]1、对调用序列预处理:多个连续重复调用合并为一个,删除明显异常调用,为了后续步骤能够顺利得到所有短序列,末端不足则直接填补最后一个调用号;
[0009]2、计算相邻调用之间的相关性来决定滑动窗口的移动幅度,窗口大小为固定值,移动幅度动态可调:
[0010]1)通过统计的方法计算相邻调用x、y的点间互信息并将
其作为主要指标之一,用以表达二者相连的合理程度;
[0011]其中p(x,y)为调用x、y的联合分布(x在前,y在后),即x、y连续出现的情况在所有二元调用序列组的占比。p(x)为单个调用在所有出现的调用中所占的概率;
[0012]2)对于信息熵属性D可分为m类,p
k
为第k类的占比,计算每个调用x的左右两侧信息熵Ent_l(x)、Ent_r(x),为了描述相邻的两个调用间相遇的可能性以及对应后续调用的衔接可能性,构造衔接表达项M(x,y):
[0013]M(x,y)=

k1min{Ent_r(x),Ent_l(y)}+k2Ent_r(y)
[0014]其中表示x在前,所有可能的x
k
在后共同构成的信息熵,p
k
为x在前x
k
在后的所有二元组个数与所有连续二元组个数的比值,Ent_l(x)表示x在后,其余在前的所有连接情况构成的信息熵,k1、k2为大于0的常数;
[0015]3)将系统调用分为进程控制、文件管理、设备管理、信息维护、通信和保护六大类,考虑各类调用间的连接期望,计算相邻两个调用所归属的α、β两类调用之间的互信息作为相关性权重;
[0016]4)计算相邻系统调用的相关性:
[0017]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、选出符合条件的短序列:对于每个独立容器,在通过步骤一获得的所有序列中选择出现频率T
i
=m
i
/n
i
最高的前30%作为该容器的候选特征集;
[0025]其中T
i
表示特征f
i
出现的频率,m
i
为特征f
i
在所有容器中出现的次数,n
i
为所有特征在所有容器中出现的次数和;
[0026]2、对所有特征计算特征间的相对优势函数:
[0027]1)给定n个特征组成的集合A={f1,f2,

,f
n
},各容器的信息熵排序结果V={v1,v2,

,v
d
},v
i
为容器c
i
的各特征的信息熵排序,信息熵为左侧与右侧信息熵之和,对于其中的部分排序结果若对于均满足u(f
i
)≤u(f
j
),则称根据偏序关系计算各个特征在所有结果中的优势类
[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)筛选次要特征:选取部分全局效果不佳,自本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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)将系统调用分为进程控制、文件管理、设备管理、信息维护、通信和保护六大类...

【专利技术属性】
技术研发人员:龙赛琴谢磊李艳春田淑娟刘昊霖申冬苏
申请(专利权)人:湘潭大学
类型:发明
国别省市:

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

1