[发明专利]一种容器内进程异常行为检测方法与系统有效
申请号: | 201910039085.7 | 申请日: | 2019-01-16 |
公开(公告)号: | CN109858244B | 公开(公告)日: | 2020-01-17 |
发明(设计)人: | 陈兴蜀;金逸灵;王玉龙;蒋超;金鑫;王启旭 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F9/455 |
代理公司: | 51284 成都禾创知家知识产权代理有限公司 | 代理人: | 裴娟 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常行为检测 短序列 调用 进程 循环神经网络 全生命周期 代理监控 进程系统 人工参与 实时感知 同一系统 系统调用 行为轮廓 行为数据 序列数据 训练数据 训练样本 语义特征 正常进程 检测率 宿主机 误报率 用户层 有效地 自定义 映射 捕获 工作量 规律性 刻画 采集 测试 透明 判决 概率 检测 创建 | ||
1.一种容器内进程异常行为检测系统,其特征在于,包括数据采集模块、数据建模模块和异常检测模块;
数据采集模块在容器外部的宿主机用户层,根据指定容器的ID,采用无代理的方式获取该容器内正在运行的所有进程信息,并基于ptrace系统调用监控用于管理该容器生命周期的运行时载体进程,实时感知该容器内新进程的创建和消亡行为,动态追踪并透明采集该容器内所有进程运行过程中产生的系统调用行为数据,将其保存到容器数据日志文件中;
数据建模模块根据正常情况下得到的容器数据日志文件中的系统调用序列训练一个基于LSTM循环神经网络的预测模型,以此刻画正常行为轮廓,并通过测试训练数据的方式,得到由M个连续系统调用组成的短序列出现概率PM的最小值,将其作为检测时的短序列概率阈值ε,并将模型预测错误的理论输出系统调用和对应短序列的映射关系存入模型修正库;
异常检测模块使用训练阶段已构建好的检测模型,衡量采集到的待测数据样本的异常程度,并将检测出的容器内异常进程信息和具体的异常短序列模式输出到容器检测日志中;
所述数据建模模块和异常检测模块构成的检测模型包括数据预处理单元、输入层、隐藏层、输出层、网络训练单元和异常检测单元;
数据预处理单元对采集到的系统调用序列进行分割,生成训练短序列,并对训练样本进行同比去重处理,然后独热编码数据以满足网络输入要求;
输入层、隐藏层、输出层和网络训练单元构成网络的主体结构,采用读取整个序列后产生单个特征输出的循环网络设计模式,从更抽象的层次提取训练短序列的语义信息,并基于此预测每种可能的下一个系统调用的出现概率,然后通过计算理论输出和模型输出的交叉熵,应用Adam优化算法不断更新网络权重,训练得到最终的正常行为模型;
异常检测单元读取待测容器内系统调用行为数据,生成短序列,独热编码后输入训练阶段已构建好的正常行为模型中,并将建模时自定义的短序列概率阈值和模型修正库应用于检测阶段,通过累积局部窗口内的异常短序列和异常值,进行异常判定。
2.一种容器内进程异常行为检测方法,其特征在于,包括以下步骤:
步骤1:采用无代理的方式,在容器外部的宿主机用户层获取自监控某个容器开始需要追踪的进程列表,然后基于ptrace系统调用实时透明地感知容器内新进程的创建和消亡行为,从而全周期动态捕捉所有容器内进程在执行过程中产生的系统调用行为数据;
步骤2:将捕获的容器内进程的具体信息与相应的系统调用行为数据按序存入容器数据日志文件;
步骤3:在未受到任何攻击的系统环境下,对采集到的容器数据日志文件进行预处理,生成系统调用短序列,并对训练样本短序列进行同比去重,然后独热编码短序列,以此结构输入所构建的LSTM预测模型,训练并生成正常行为模型,最后通过测试训练数据的方式自定义短序列概率阈值并生成模型修正库;
步骤4:跟踪待测容器内运行进程,实时采集进程产生的系统调用行为数据,对序列数据进行预处理后输入所述正常行为模型中进行检测,并将检测结果输出到容器检测日志文件中;
所述步骤4具体包括:
步骤4.1:读取实时采集的系统调用行为数据,将待测容器内进程的系统调用序列划分为系统调用短序列,独热编码测试样本短序列后输入所述正常行为模型中,得到模型预测输出和每个理论输出系统调用的出现概率;
步骤4.2:针对每个理论输出系统调用的出现概率,以滑动窗口方式,记录大小为W的局部窗口内短序列出现概率PM小于建模阶段自定义的短序列概率阈值ε的异常短序列个数;当计数值大于0.1W时,判定当前局部窗口异常;若异常窗口总数大于规定的警报阈值判定当前进程异常;将容器进程信息和所有异常序列输出到检测日志中;若异常窗口总数小于规定的警报阈值则跳转至步骤4.3进行二次异常值检测;
步骤4.3:将模型的所有预测输出与测试样本的理论输出进行对比,若不相同,则进一步确定预测输出和对应的短序列是否存在于模型修正库中;若存在,则判定此系统调用正常;若不存在,则记录此异常值,并按照相同的方式处理其余数据;最后记录大小为W的局部窗口内异常值的个数,当计数值大于0.25W时,判定当前局部窗口异常;若异常窗口总数大于规定的警报阈值判定当前进程异常,将容器进程信息和所有异常序列输出到检测日志中;若异常窗口总数小于规定的警报阈值判定当前进程正常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910039085.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:追踪病毒来源的方法和装置
- 下一篇:一种基于改进深度置信网络的入侵检测方法