一种基于Linux系统调用的攻击检测系统技术方案

技术编号:35692643 阅读:15 留言:0更新日期:2022-11-23 14:41
本发明专利技术属于计算机安全技术领域,具体涉及一种基于Linux系统调用的攻击检测方法与系统,包括:获取系统生成的系统调用,将系统调用序列截取成等长的子序列作为待检测的序列,并转换为词向量形式的检测序列;通过深度学习检测模型初步判定词向量形式的检测序列的类别,若判定为异常序列,则将该序列放入攻击库,更新检测匹配库,若判定为正常序列;将初步判定为正常的序列通过与检测匹配库进行匹配度对比;采用集群计算判断匹配库不能判定类别的序列,得到检测结果。本发明专利技术对于派生攻击检测采用深度学习模型和匹配库的方式,对于未知攻击,采用集群检测的方式,解决了系统调用序列存在冗余调用以及序列过长和入侵检测的漏报率。率。率。

【技术实现步骤摘要】
一种基于Linux系统调用的攻击检测系统


[0001]本专利技术属于计算机安全
,具体涉及一种基于Linux系统调用的攻击检测系统。

技术介绍

[0002]当前“信创”产业发展迅速,以Linux为内核的国产操作系统凭借自身独特的优势,逐渐被越来越多的个人和企业所使用,但针对国产操作系统的恶意攻击也随之增多,开展基于Linux系统的入侵检测研究刻不容缓。
[0003]Linux系统调用是由Linux内核实现的应用编程接口,用于应用程序与内核进行交互,即依托于Linux系统的应用程序,其在运行时会通过系统调用与内核进行交互。且有研究证明正常操作和恶意操作所生成的Linux系统调用序列具有明显差异,因此本专利技术将开展基于Linux系统调用的入侵检测系统的研究。
[0004]现有的基于Linux系统调用的攻击检测方式是通过分析程序的系统调用来实现的,其主要是通过分析收集到的Linux系统调用序列,建立正常的系统调用基线或建立异常的系统调用特征图谱,当出现异于正常系统调用基线的行为或者匹配异常调用特征时,能够判别序列具有攻击性。
[0005]现有技术问题是:
[0006](1)针对Linux系统调用的攻击检测研究主要是基于已知攻击类型进行的派生攻击检测,因此当前入侵检测系统存在一定的漏报率。
[0007](2)针对Linux系统调用的攻击检测研究主要在理论方面,而在实际应用情况下,Linux系统调用序列存在冗余调用以及序列过长等问题,缺少对上述问题的处理。

技术实现思路
<br/>[0008]为解决上述技术问题,本专利技术提出一种基于Linux系统调用的攻击检测系统,包括:
[0009]一种基于Linux系统调用的攻击检测方法,包括以下步骤
[0010]S1:获取系统运行过程中生成的系统调用,以及在现有数据库中获取攻击序列和正常序列构建数据集;
[0011]S2:去除系统运行过程中生成的调用中的冗余系统调用,生成指定时间段内的系统调用序列,并将该系统调用序列截取成等长的子序列,同时将数据集中的序列也截取成等长的子序列;
[0012]S3:将数据集中的等长子序列根据数据类型分为攻击序列和正常序列,并分别存储到攻击库和正常库两类序列库中,得到检测序列匹配库;
[0013]S4:将系统调用序列截取成等长的子序列作为待检测的序列,并转换为词向量形式的检测序列;
[0014]S5:通过深度学习模型初步判定词向量形式的检测序列的类别,若判定为异常序
列,则将该序列放入攻击库,更新检测匹配库,若判定为正常序列,则进行进下一步判定;
[0015]S6:将初步判定为正常的序列通过与检测匹配库进行匹配度对比,判定其类别;
[0016]S7:采用集群计算判断匹配库不能判定类别的序列,得到检测结果。
[0017]优选的,将系统调用序列截取成等长的子序列,具体包括:
[0018]采用统计分析方法去除冗余的系统调用,生成系统调用序列,将生成的系统调用序列截取为固定长度的调用序列:采用滑动窗口技术对长度超过固定长度的调用序列进行截取,若生成序列长度未达到固定长度,在序列尾部填充0进行补齐。
[0019]优选的,采用统计分析方法去除冗余系统调用,具体包括:
[0020]根据数据集中的一致类型的序列,分别计算两类序列中的每条序列的系统调用的TF

IDF值,并分别对两类序列中的每条序列的TF

IDF值降序排序,分别将两类序列中后40个系调用筛选出来,从每类中的序列后40个系统调用中筛选出重复出现的系统调用,对比分析两类筛选出的系统调用,将两类序列中相同的系统调用作为的冗余系统调用,将选出的冗余系统调用与系统运行过程中生成的所有系统调用进行统计分析,找出与选出的冗余系统调用一样的系统调用,并去除。
[0021]进一步的,所述计算每条系统调用序列中的系统调用的TF

IDF值,表示为:
[0022][0023]其中,TF

IDF
a1
表示系统调用a1的TF

IDF值,表示系统调用a1在序列a中出现的频次,Σa
1,k
表示在生成的序列k中出现系统调用a1的序列总数,|N|表示在生成的序列中正常类型或攻击类型序列数总和,|{n
a1
}|表示在当前类别中出现系统调用a1的序列数。
[0024]优选的,对初步判定为正常的序列与匹配库中的序列进行匹配度的对比,判断出该序列的类型,具体包括:
[0025]设置匹配度大小为0.8,比对待检测序列与两类匹配库中序列的相似度,若检测序列与正常序列匹配库中的序列相似度大于0.8,则该序列为正常序列,若检测序列与攻击序列匹配库中的序列相似度大于0.8,则该序列为攻击序列,检测序列与正常序列匹配库中的序列或攻击序列匹配库中的序列相似度小于0.8,则不能认定该序列的类别。
[0026]优选的,所述进行集群计算,具体包括:
[0027]S1:将检测单元不能认定类别的检测序列记为seq01,将seq01转化为词向量形式的序列seqm01;
[0028]S2:选择在内网连接主机群中主机h1与seq01同时段生成的序列seq
11
,并转换为词向量形式的序列seqm
11
,计算其欧式距离d(seqm
01
,seqm
11
);
[0029]S3:设定阈值distance大小,若d(seqm01,seqm11)&gt;distance,则判定该主机生成的序列与检测序列相似,重复S2

S3,检测出与该检测序列存在相似序列的所有主机数量hostNumber,若hostNumber&gt;=threshold,则该检测序列类型为攻击序列,若hostNumber&lt;threshold,则该检测序列类型为正常序列,其中,threshold表示设定的存在相似序列的主机数量阈值。
[0030]进一步的,欧式距离d(seqm
01
,seqm
11
)计算,示为:
[0031][0032]其中,seqm
01
表示词向量形式的检测序列,seqm
11
表示在内网连接主机群中主机h1与检测序列同时段生成的词向量形式的序列,m
mi
表示序列seqm
01
中第i个系统调用,n
ni
表示序列seqm
11
中第i个系统调用。
[0033]一种基于Linux系统调用的攻击检测系统,包括:收集模块、训练模块、检测模块;
[0034]所述收集模块包括:系统调用获取单元、处理单元以及数据发送单元;
[0035]系统调用获取单元用于收集指定进程执行过程所调用的相关信息,以及在现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Linux系统调用的攻击检测方法,其特征在于,包括:S1:获取系统运行过程中生成的系统调用,以及在现有数据库中获取攻击序列和正常序列构建数据集;S2:去除系统运行过程中生成的调用中的冗余系统调用,生成指定时间段内的系统调用序列,并将该系统调用序列截取成等长的子序列,同时将数据集中的序列也截取成等长的子序列;S3:将数据集中的等长子序列根据数据类型分为攻击序列和正常序列,并分别存储到攻击库和正常库两类序列库中,得到检测序列匹配库;S4:将系统调用序列截取成等长的子序列作为待检测的序列,并转换为词向量形式的检测序列;S5:通过深度学习检测模型初步判定词向量形式的检测序列的类别,若判定为异常序列,则将该序列放入攻击库,更新检测匹配库,若判定为正常序列,则进行进下一步判定;S6:将初步判定为正常的序列通过与检测匹配库进行匹配度对比,判定其类别;S7:采用集群计算判断匹配库不能判定类别的序列,得到检测结果。2.根据权利要求1所述的一种基于Linux系统调用的攻击检测方法,其特征在于,将该系统调用序列截取成等长的子序列,具体包括:采用统计分析方法去除冗余的系统调用,生成系统调用序列,将生成的系统调用序列截取为固定长度的调用序列:采用滑动窗口技术对长度超过固定长度的调用序列进行截取,若生成序列长度未达到固定长度,在序列尾部填充0进行补齐。3.根据权利要求2所述的一种基于Linux系统调用的攻击检测方法,其特征在于,所述采用统计分析方法去除冗余系统调用,具体包括:根据数据集中的已知类型的序列,分别计算两类序列中的每条序列的系统调用的TF

IDF值,并分别对两类序列中的每条序列的TF

IDF值降序排序,分别将两类序列中后40个系调用筛选出来,从每类中的序列后40个系统调用中筛选出重复出现的系统调用,对比分析两类筛选出的系统调用,将两类序列中相同的系统调用作为的冗余系统调用,将选出的冗余系统调用与系统运行过程中生成的所有系统调用进行统计分析,找出与选出的冗余系统调用一样的系统调用,并去除。4.根据根据权利要求3所述的一种基于Linux系统调用的攻击检测方法,其特征在于,计算系统调用的TF

IDF值,表示为:其中,TF

IDF
a1
表示系统调用a1的TF

IDF值,表示系统调用a1在序列a中出现的频次,Σa
1,k
表示在生成的序列k中出现系统调用a1的序列总数,|N|表示在生成的序列中正常类型或攻击类型序列数总和,|{n
a1
}|表示在当前类别中出现系统调用a1的序列数。5.根据权利要求1所述的一种基于Linux系统调用的攻击检测方法,其特征在于,将初步判定为正常的序列与匹配库中的序列进行匹配度的对比,判断出该序列的类型,具体包括:设置匹配度大小为0.8,比对待检测序列与两类匹配库中序列的相似度,若检测序列与
正常序列匹配库中的序列相似度大于0.8,则该序列为正常序列,若检测序列与攻击序列匹配库中的序列相似度大于0.8,则该序列为攻击序列,检测序列与正常序列匹配库中的序列或攻击序列匹配库中的序列相似度小于0.8,则不能认定该序列的类别。6.根据权利要求1所述的一种基于Linux系统调用的攻击检测方法,其特征在于,所述进行集群计算,具体包括:S1:将检测单元不能认定类别的检测序列记为seq01,将seq01转...

【专利技术属性】
技术研发人员:万邦睿何雨多钱鹰黄江平金霜
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

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

1