无监督异常检测系统和方法技术方案

技术编号:24504115 阅读:76 留言:0更新日期:2020-06-13 06:31
本公开提供一种无监督异常检测系统和方法。该系统具有第一操作模式和第二操作模式并且包括http请求日志数据库、http请求接收装置、参数值异常检测模块、参数序列异常检测模块、常请求参数记录数据库以及报警装置,其中所述http请求日志数据库存在web服务器的过往正常HTTP请求日志;其中在所述第一种操作模式下,所述http请求接收装置获取特定Web服务器的过往正常HTTP请求日志,所述参数值异常检测模块基于带存储模块的变分自编码器进行训练,而所述参数序列异常检测模块对用户请求包含的输入参数类型与请求时间间隔的序列进行泛化表示,然后通过LSTM进行训练,以便用来进行识别异常http请求。

Unsupervised anomaly detection system and method

【技术实现步骤摘要】
无监督异常检测系统和方法
本公开涉及无监督异常检测系统和方法,尤其涉及采用端到端的深度学习方式来进行无监督异常检测的系统和方法。
技术介绍
在Web攻击中,用户的输入成为攻击者突破的载体,而对于不同的应用,正常用户输入往往相同,异常请求则与正常请求存在模式上的差别。同时由于标签数据的匮乏,有监督等分类算法难以在实践中应用,因此采取无监督深度学习,尽可能地通过端到端的方式来解决用户输入的HTTP参数异常的问题。一些方法采取人工构造特征加上机器学习的方式来进行HTTP参数异常检测,包括使用one-classSVM、iforest、KNN等算法。例如,方勇、刘亮等人的文献“一种基于机器学习的Web入侵检测技术”,卢康、刘亮等人的文献“Web攻击检测方法及装置”,方勇、黄诚等人的文献“一种基于语义分析的Web威胁感知系统”就是采用这样的检测技术。这种十分依赖于人工的特征工程,如果构造的特征不够好的话,相当于损失了较多的原始信息。也有一些方案使用变分自编码器或隐马尔科夫链根据重构概率来进行网络流量异常检测,如A.拉马尔、M.汉泽尔曼等人的本文档来自技高网...

【技术保护点】
1.一种无监督异常检测系统,其具有自动或手动切换的第一操作模式和第二操作模式,所述系统包括http请求日志数据库、http请求接收装置、参数值异常检测模块、参数序列异常检测模块、常请求参数记录数据库以及报警装置,/n其中所述http请求日志数据库存在web服务器的过往正常HTTP请求日志;/n其中在所述第一种操作模式下,所述http请求接收装置获取特定Web服务器的过往正常HTTP请求日志,所述参数值异常检测模块基于带存储模块的变分自编码器进行训练,而所述参数序列异常检测模块对用户请求包含的输入参数类型与请求时间间隔的序列进行泛化表示,然后通过LSTM进行训练,以便用来进行识别异常http请求...

【技术特征摘要】
1.一种无监督异常检测系统,其具有自动或手动切换的第一操作模式和第二操作模式,所述系统包括http请求日志数据库、http请求接收装置、参数值异常检测模块、参数序列异常检测模块、常请求参数记录数据库以及报警装置,
其中所述http请求日志数据库存在web服务器的过往正常HTTP请求日志;
其中在所述第一种操作模式下,所述http请求接收装置获取特定Web服务器的过往正常HTTP请求日志,所述参数值异常检测模块基于带存储模块的变分自编码器进行训练,而所述参数序列异常检测模块对用户请求包含的输入参数类型与请求时间间隔的序列进行泛化表示,然后通过LSTM进行训练,以便用来进行识别异常http请求,并且
其中在所述第二种操作模式下,所述http请求接收装置将接收到的每个当前HTTP请求先转发给所述参数值异常检测模块以便检测当前HTTP请求的参数值是否正常,并且若检测到所述http请求为异常请求,则为发送该http请求的用户创建一个缓存块,用以储存可能到来的后续http请求,如果该用户存在后续http请求,则对特定时间内不超过一定数量的后续请求进行预处理,而如果后续http请求中,异常http请求超过一定比例,则直接通过所述报警装置发出告警;否则,将http请求的序列进行预处理,转送到所述参数序列异常检测模块中,如果其检测结果为异常,则通过所述报警装置发出告警,并且其中在没有后续http请求或是所述参数序列异常检测模块检测结果为正常的情况下,将该参数异常值保存在所述常请求参数记录数据库中,以便后续进一步分析。


2.根据权利要求1所述的无监督异常检测系统,其中所述参数值异常检测模块包括:
字符串泛化/向量嵌入预处理部分,用于接收http请求的字符串,对该字符串中可能发生参数异常的字符进行提取,对每一个字符进行泛化处理,将经过字符串泛化/向量嵌入预处理部分的字符串形成一维向量,并进行三维或两维的词嵌入来生成向量化字符串;
变分自编码器,用于利用该向量化字符串来进行http请求重构;
隐变量矩阵保存与稀疏部分,用于基于可训练的N*c维矩阵形式的隐变量来重构带约束隐变量,以增加异常变量的重构难度;
解码器,用于将带约束隐变量映射成为L*13的向量,其中13个维度表明当前字符位置重构为泛化后的13个字符类型的概率;以及
重构概率计算与判断部分,用于将解码器所输出的概率作为重构概率,通过交叉熵损失函数来计算整个序列的重构损失,并根据重构损失来判断参数值是否出现异常。


3.根据权利要求2所述的无监督异常检测系统,其中所述字符串泛化/向量嵌入预处理部分包括:
字符串泛化部分,用于接收每个字符串并根据预定泛化规则对接收到的每一个字符进行泛化处理,以减少输入的维度;以及
向量嵌入预处理部分,将经过字符串泛化部分处理后的字符串中的每个字符映射成长度为L的一个一维向量,并对所得到的一维向量进行三维或两维的词嵌入来生成向量化字符串,以便后续神经网络优化。


4.根据权利要求2所述的无监督异常检测系统,其中所述变分自编码器采用分组卷积的浅层神经网络以便高效地提取特征,并将所接收到的向量化字符串映射成两个c维隐变量,这两个c维隐变量分别代表向量化字符串的方差σ和均值u,其中所述隐变量根据标准的重采样方法从标准正态分布中采样并生成。


5.根据权利要求2所述的无监督异常检测系统,其中所述隐变量矩阵保存与稀疏部分用于增加异常变量的重构难度,所述隐变量矩阵保存与稀疏部分包括:
矩阵存储单元,用于每一个隐变量作为一个行向量、以可训练的N*c维矩阵的形式保存隐变量,其中N为预设值,c为隐变量的维数;
隐变量稀疏器,用于对该N*c维矩阵中的每一个行向量Ci,i=1,2,……,N计算其与隐变量的余弦相似度Di,根据公式



来计算N*c维矩阵中的每个行向量在重构新的隐变量时的权重来得到权重向量,并将权重向量中小于一定阈值的值设置0以得到稀疏的权重向量;以及
L1范数归一化器,用于对稀疏权重向量通过L1范数归一化处理,并与未处理N*c维矩阵进行矩阵乘法来重构带约束隐变量。


6.根据权利要求1所述的无监督异常检测系统,其中当所述参数值异常检测模块检测到参数值出现异常时,所述参数值异常检测模块从该异常请求开始,在后续一段时间内,收集并存储来自同一用户的其他请求,直到请求数目达到设定上限L,或是超出指定时间间隔T,若所收集的http请求中判别为异常的请求数目超过设定的百分比阈值时,则由报警装置直接进行告警。


7.根据权利要求6所述的无监督异常检测系统,其中若所收集的http请求中判别为异常的请求数目不超过设定的百分比阈值,所述参数序列异常检测模块计算LSTM对应的重构概率,并根据该概率判断参数序列是否异常,若判断参数序列正常则直接结束进程,而若判断参数序列出现异常则发出告警后结束进程。


8.一种无监督异常检测模型的训练方法,包括以下步骤:
读取特定Web应用服...

【专利技术属性】
技术研发人员:韩科谭天
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

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

1