一种入侵检测模型的建立方法和装置
文献发布时间:2023-06-19 10:19:37
技术领域
本发明属于计算机系统安全领域,更具体地,涉及一种入侵检测模型的建立方法和装置。
背景技术
随着现代攻击方法变得越来越隐蔽和复杂,一方面导致选择用于入侵检测数据的可靠性与有效性变得尤为重要;另一方面导致在大数据环境中带标记的样本更难以获取。因此如何在大数据环境下基于可靠的数据使用少量标记样本实现准确的入侵检测,这对当前用户构成了挑战。
传统的入侵检测系统通常使用系统调用来分析和识别基于主机的入侵。由于这些方法未提及系统漏洞的位置和入侵原因,因此检测精度较低。与系统调用相比,系统日志或溯源提供了对象所有权及其之间的依赖关系的详细结构化历史记录,从而极大地确保了数据的完整性和安全性。然而基于溯源的异常检测方法通常需要大量标记的数据集样本进行学习和训练,这也导致对检测模型的训练需要大量的人力和时间。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种入侵检测模型的建立方法和装置,解决现有技术中未考虑异常检测模型特点以及溯源数据特征,从而导致无法以少量的标签数据建立准确高识别率的目标入侵检测模型的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种入侵检测模型的建立方法,包括:
S1:利用溯源收集系统收集多种易受入侵应用对应的原始溯源信息,并对所述原始溯源信息粗略过滤,所述原始溯源信息包括:进程节点的名称及各个所述进程节点之间的依赖关系;
S2:对所述原始溯源信息进行预处理,将包括临时文件及环境变量的冗余信息与入侵检测无关的信息进行过滤及剪枝,以压缩所述依赖关系的数量;
S3:引入固态硬盘SSD和硬盘驱动器HDD两种存储介质实现所述预处理后的溯源信息的冷热存储;利用预处理后的溯源信息中各个进程节点之间的依赖关系建立溯源规则库,将所述溯源规则存入所述两种存储介质;
S4:根据用户发来的查询请求对所述预处理后的溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将长期未被使用到的溯源信息进行压缩,以节约溯源信息的空间开销;
S5:基于所述溯源规则库在原始溯源入侵检测模型上,利用主动学习方法完善所述溯源规则库,利用所述溯源规则库建立目标入侵检测模型。
在其中一个实施例中,所述溯源收集系统包括网络溯源拦截层、网络溯源观察层、网络溯源分析层和网络溯源分布层;所述步骤S1包括:
利用所述网络溯源拦截层拦截accept、connect、send和recv系统调用;
利用所述网络溯源观察层初始化socket结构中加入的溯源变量,收集与所述socket结构连接相关联的IP地址、端口号信息、用户ID和连接创建时间;
利用所述网络溯源分析层处理所述原始溯源信息,去掉重复的信息并且保证不会出现环;
利用所述网络溯源分布层将获得的所述原始溯源信息写入溯源文件系统并保存。
在其中一个实施例中,所述步骤S2包括:
将收集到的所述原始溯源信息表现为节点与节点之间相互依存进而建立相应的依赖关系;相互连接的每个节点中包含对进程以及文件对象进行描述的属性信息;
从溯源流中选择用于检测入侵的关键数据,以节省存储空间并提高检测效率;省略程序执行期间生成的临时文件或管道的来源来过滤数据;其中,删除pid和时间戳相关的冗余信息。
在其中一个实施例中,所述步骤S3包括:
将预处理得到的溯源信息进行处理,获取溯源规则数据,并利用溯源规则混合存储模块建立所述溯源规则库;
引入SSD和HDD两种存储介质实现溯源信息的冷热存储,首先全部所述预处理得到的溯源信息无差别的存入HDD中,当收到主动学习的查询请求后,进行实时冷热调度;溯源查询时常会根据节点的依赖关系对节点的全部子节点进行递归查找,以发现节点的全部历史变化过程;
将查询的反馈结果返回并将查询到的规则迁移到SSD中,同时在SSD中维护规则数据的淘汰列表,所述淘汰列表用于存储规则关系并使用LRU队列,每次查询后重新维护所述LRU队列,所述LRU队列中的队尾数据为最近且最少使用的规则关系。
在其中一个实施例中,所述步骤S3还包括:
当SSD存放满之后,将SSD中变冷的数据替换出HDD,以实现冷热数据分级存储,提高查询效率。
在其中一个实施例中,所述步骤S4包括:
根据主动学习查询请求对溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将磁盘中的数据分为温数据和冷数据;
周期性启动一次并将周期内未被查询到的溯源文件进行bzip压缩,且将之前的查询记录清空。
在其中一个实施例中,所述步骤S5中利用主动学习方法完善所述溯源规则库,包括:
S51:从正常数据集中随机选择学习样本,将所述学习样本添加到训练集中进行学习,并生成初始规则库;
S52:利用所述溯源入侵检测模型对所述初始规则库进行学习,检测其他未选择样本,并判断所述未选择样本是否为异常样本以及图可疑程度;
S53:通过主动学习查询策略优先选择所述溯源入侵检测模型判断为异常且对应图可疑度大的目标样本,将所述目标样本添加到训练集中并更新规则库;
S54:重复步骤S51至步骤S53不断添加样本更新所述溯源规则库,以少量的标签数据实现完整的溯源规则库的更新。
按照本发明的另一方面,提供了一种入侵检测模型的建立装置,包括:
收集模块,用于利用溯源收集系统收集多种易受入侵应用对应的原始溯源信息,并对所述原始溯源信息粗略过滤,所述原始溯源信息包括:进程节点的名称及各个所述进程节点之间的依赖关系;
预处理模块,用于对所述原始溯源信息进行预处理,将包括临时文件及环境变量的冗余信息与入侵检测无关的信息进行过滤及剪枝,以压缩所述依赖关系的数量;
存储模块,用于引入SSD和HDD两种存储介质实现所述预处理后的溯源信息的冷热存储;利用预处理后的溯源信息中各个进程节点之间的依赖关系建立溯源规则库,将所述溯源规则存入所述两种存储介质;
记录模块,用于根据用户发来的查询请求对所述预处理后的溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将长期未被使用到的溯源信息进行压缩,以节约溯源信息的空间开销;
建立模块,用于基于所述溯源规则库在原始溯源入侵检测模型上,利用主动学习方法完善所述溯源规则库,利用所述溯源规则库建立目标入侵检测模型。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明中的目标入侵检测模型是根据正常样本建立的,而以往主动学习方法均根据正常样本集和异常样本集提出的,解决了以往主动学习方法难以适用于溯源入侵检测模型,导致无法选取到能够极大地改善检测模型的样本的缺点,提高了目标入侵检测模型的识别准确率。
(2)定义溯源样本与当前规则库之间的差异程度的指标,由于入侵行为可以通过记录入侵过程和受感染文件之间的依赖关系来描述。基于溯源入侵检测模型使用溯源节点之间的关系进行入侵检测,对于溯源信息通过当前规则库的入侵检测模型对样本进行检测,判定该样本是否为异常以及其图怀疑度大小,从而定义样本与当前规则库之间的差异程度。
附图说明
图1为本发明一实施例中入侵检测模型的建立方法的流程图;
图2为本发明一实施例中入侵检测模型的建立装置的结构示意图;
图3为本发明一实施例中溯源收集及粗剪枝示意图;
图4为本发明一实施例中溯源规则混合存储模型图;
图5为本发明一实施例中溯源反馈模块流程图;
图6为本发明一实施例中基于溯源入侵检测的主动学习方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
按照本发明的一个方面,提供了一种入侵检测模型的建立方法,如图1所示,所述方法包括:S1:利用溯源收集系统收集多种易受入侵应用对应的原始溯源信息,并对所述原始溯源信息粗略过滤,原始溯源信息包括:进程节点的名称及各个进程节点之间的依赖关系;S2:对原始溯源信息进行预处理,将包括临时文件及环境变量的冗余信息与入侵检测无关的信息进行过滤及剪枝,以压缩依赖关系的数量;S3:引入固态硬盘SSD和硬盘驱动器HDD两种存储介质实现预处理后的溯源信息的冷热存储;利用预处理后的溯源信息中各个进程节点之间的依赖关系建立溯源规则库,将溯源规则存入两种存储介质;S4:根据用户发来的查询请求对预处理后的溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将长期未被使用到的溯源信息进行压缩,以节约溯源信息的空间开销;S5:基于溯源规则库在原始溯源入侵检测模型上,利用主动学习方法完善溯源规则库,利用溯源规则库建立目标入侵检测模型。
具体的,如图2所示,入侵检测模型的建立的过程如下:(1)使用PASS和SPADE系统收集多种易受入侵应用的溯源信息,并对溯源信息进行粗过滤得到进程节点名称与它们之间的依赖关系。(2)对溯源信息进行预处理,将临时文件及环境变量等与入侵检测无关的信息进行过滤及剪枝,从而进一步压缩依赖关系的数量。(3)混合存储模块引入SSD和HDD两种存储介质实现溯源信息的冷热存储。将预处理后得到的溯源数据,根据进程节点之间的溯源关系建立规则,并存入其中,并通过主动学习查询情况,溯源查询反馈模块的结果进行实时冷热调度。(4)溯源反馈模块根据用户发来的查询请求,对溯源数据的查询情况进行记录,并根据记录结果进行冷热数据的调度,将长期未被使用到的溯源规则信息进行压缩,节约溯源信息的空间开销。(5)基于当前规则库在溯源入侵检测模型上,使用主动学习方法完善规则库,利用溯源规则库建立目标入侵检测模型,目标入侵检测模型能够准确地识别网络入侵。
在其中一个实施例中,溯源收集系统包括网络溯源拦截层、网络溯源观察层、网络溯源分析层和网络溯源分布层;步骤S1包括:利用网络溯源拦截层拦截accept、connect、send和recv系统调用;利用网络溯源观察层初始化socket结构中加入的溯源变量,收集与socket结构连接相关联的IP地址、端口号信息、用户ID和连接创建时间;利用网络溯源分析层处理原始溯源信息,去掉重复的信息并且保证不会出现环;利用网络溯源分布层将获得的原始溯源信息写入溯源文件系统并保存。
具体的,如图3所示,溯源跟踪框架通过拦截Syscall对易受攻击的应用进行溯源收集,并生成文件级源及剪枝的示意图包含以下几个部分:溯源拦截层:记录系统调用信息,将信息传送给溯源观察层;溯源观察层:把拦截层拦截到的信息转换成溯源信息。溯源分析层:处理一些重复的信息记录,从而保证不会出现重复的数据。溯源分布层:将记录下的溯源信息保存在磁盘和缓存中。溯源文件系统:保存溯源信息记录为txt文件后,已便后续存储入数据库中。
在其中一个实施例中,步骤S2包括:将收集到的原始溯源信息表现为节点与节点之间相互依存进而建立相应的依赖关系;相互连接的每个节点中包含对进程以及文件对象进行描述的属性信息;从溯源流中选择用于检测入侵的关键数据,以节省存储空间并提高检测效率;省略程序执行期间生成的临时文件或管道的来源来过滤数据;其中,删除pid和时间戳相关的冗余信息。
在其中一个实施例中,步骤S3包括:将预处理得到的溯源信息进行处理,获取溯源规则数据,并利用溯源规则混合存储模块建立溯源规则库;引入SSD和HDD两种存储介质实现溯源信息的冷热存储,首先全部预处理得到的溯源信息无差别的存入HDD中,当收到主动学习的查询请求后,进行实时冷热调度;溯源查询时常会根据节点的依赖关系对节点的全部子节点进行递归查找,以发现节点的全部历史变化过程;将查询的反馈结果返回并将查询到的规则迁移到SSD中,同时在SSD中维护规则数据的淘汰列表,淘汰列表用于存储规则关系并使用LRU队列,每次查询后重新维护LRU队列,LRU队列中的队尾数据为最近且最少使用的规则关系。
具体的,如图4所示,混合存储模块引入SSD和HDD两种存储介质实现溯源信息的冷热存储。根据主动学习的查询请求,使用溯源反馈模块进行记录,将查询反馈的结果返回,并将查询到的规则迁移到SSD中,同时在SSD中维护各类数据的淘汰列表,当SSD存放满之后,将SSD中变冷的数据替换出HDD。同时将溯源数据以事件规则为单位进行冷热调度,一方面能够感知到用户对溯源使用的冷热情况从而进行提前的调度,另一方面可以对用户可能会使用到的溯源节点进行预判,提高用户的查询效率。
在其中一个实施例中,步骤S3还包括:当SSD存放满之后,将SSD中变冷的数据替换出HDD,以实现冷热数据分级存储,提高查询效率。
在其中一个实施例中,步骤S4包括:根据主动学习查询请求对溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将磁盘中的数据分为温数据和冷数据;周期性启动一次并将周期内未被查询到的溯源文件进行bzip压缩,且将之前的查询记录清空。
具体的,如图5所示,一方面对溯源数据的查询情况进行记录,另一方面每隔一段时间定时启动一次,将该段时间内没有被查询到的溯源文件进行bzip压缩,并将之前的查询记录清空。
在其中一个实施例中,步骤S5中利用主动学习方法完善溯源规则库,包括:S51:从正常数据集中随机选择学习样本,将学习样本添加到训练集中进行学习,并生成初始规则库;S52:利用溯源入侵检测模型对初始规则库进行学习,检测其他未选择样本,并判断未选择样本是否为异常样本以及图可疑程度;S53:通过主动学习查询策略优先选择溯源入侵检测模型判断为异常且对应图可疑度大的目标样本,将目标样本添加到训练集中并更新规则库;S54:重复步骤S51至步骤S53不断添加样本更新溯源规则库,以少量的标签数据实现完整的溯源规则库的更新。
具体的,如图6所示,首先从正常样本数据集中随机抽取一些样本,添加到规则库中进行学习,并生成初始规则库。然后使用基于出处的入侵检测模型(例如FRAP,PIDAS和Pagoda)在当前规则库上进行训练并检测其他未选择的样本,以确定它们是否为异常样本以及样本的可疑程度。由于某些入侵检测方法(例如FRAP,PIDAS和Pagoda)基于异常检测模型,因此该模型可以准确地识别已添加到规则库中的正常规则。入侵检测系统可以准确地将其识别为正常操作,但是此规则对于当前规则库是多余的,并且添加此类样本无法改善规则库。因为当前规则库不完整,所以检测模型会将当前规则库中缺少的正常规则的样本检测为异常样本,并且可疑程度更高。这意味着样本中包含的规则与当前规则库中的规则之间的差异越大,因此添加此类样本可以提高入侵检测模型的性能。重复上述步骤,并不断添加此类样本,以建立少量样本的完整规则库。
按照本发明的另一方面,提供了一种入侵检测模型的建立装置,包括:收集模块,用于利用溯源收集系统收集多种易受入侵应用对应的原始溯源信息,并对原始溯源信息粗略过滤,原始溯源信息包括:进程节点的名称及各个进程节点之间的依赖关系;预处理模块,用于对原始溯源信息进行预处理,将包括临时文件及环境变量的冗余信息与入侵检测无关的信息进行过滤及剪枝,以压缩依赖关系的数量;存储模块,用于引入SSD和HDD两种存储介质实现预处理后的溯源信息的冷热存储;利用预处理后的溯源信息中各个进程节点之间的依赖关系建立溯源规则库,将溯源规则存入两种存储介质;记录模块,用于根据用户发来的查询请求对预处理后的溯源信息的查询情况进行记录,并根据记录结果进行冷热数据的调度,将长期未被使用到的溯源信息进行压缩,以节约溯源信息的空间开销;建立模块,用于基于溯源规则库在原始溯源入侵检测模型上,利用主动学习方法完善溯源规则库,利用溯源规则库建立目标入侵检测模型。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
- 一种网络入侵检测模型建立方法及网络入侵检测方法
- 一种入侵检测模型的建立方法和装置