一种基于机器学习的WEB恶意请求深度检测系统及方法技术方案

技术编号:20729874 阅读:9 留言:0更新日期:2019-03-30 19:26
本发明专利技术公开了一种基于机器学习的WEB恶意请求深度检测系统及方法,涉及计算机网络安全技术领域。系统包括数据库模块、分类器训练模块、流量检测模块;数据库模块存放网关WEB流量数据,分类器训练模块被配置为进行分类训练,以得到第一分类器和第二分类器,流量检测模块包括正则匹配模块、内外网请求分类模块、内网请求检测模块、非内网请求检测模块。网关WEB流量数据经正则匹配和流量类别划分处理后,分为内网请求流量数据和非内网请求流量数据,前者被送入第二分类器检测,后者被送入第一分类器检测,检测结果全部被存入数据库模块。本发明专利技术使用了多模型的深度检测技术,成功实现了对网关恶意流量的检测,具有错检率和漏检率低,数据集适应性强等优势。

【技术实现步骤摘要】
一种基于机器学习的WEB恶意请求深度检测系统及方法
本专利技术涉及计算机网络安全
,尤其涉及一种基于机器学习的WEB恶意请求深度检测系统及方法。
技术介绍
WEB恶意请求指用于窃取信息、攻击应用程序等恶意行为的WEB请求。WEB恶意请求具有隐蔽性与突然性,有多种多样的攻击方式(如SQL注入、跨站脚本攻击等),给网络安全带来极大的威胁。相关学者为了拦截恶意请求提出过很多方案,包括规则匹配技术,单一化的机器学习算法检测等技术,但都存在各自的局限。传统的规则匹配技术只能用于检测已知类型的攻击,面对日新月异的层出不穷的恶意请求抵抗能力较弱,且容易被人工伪装的恶意请求“欺骗”,因此使用的场景较为局限。近些年来,随着机器学习技术的发展,一些机器学习算法开始被应用到恶意请求的检测上来。一些有监督分类模型,如逻辑回归,支持向量机(SVM),通过选取合适的特征,在一些数据集上取得了不错的效果。另外的一些无监督聚类算法,通过生成恶意流量模板,也有较好的效果。但是单一的机器学习模型过于宽泛,没有考虑到不同流量类型的特异性,同时缺乏实时性,难以用于实时检测。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式可以用于检测出有某些已知特征的WEB请求,达到过滤的效果。隐马尔可夫模型(HiddenMarkovModel,HMM)是一种统计模型,它用来描述一种含有未知参数的马尔可夫过程,它需要从可观察的参数中确定该过程的隐含参数。然后利用这些参数来做进一步的分析,如模式识别。N-gram技术曾被广泛地用来进行文本压缩、检查拼写错误、加速字符串查找、文献语种识别。目前N-gram是自然语言处理中非常重要的技术,常常被用来评估两个字符串之间的差异长度,也是模糊匹配中常用的一种手段。TF-IDF(词频-逆文档频率)算法是一种统计方法,用以评估一个字词在一篇文章,一个语料库的重要程度。字词的重要性随着它在文章中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。该算法在数据挖掘,文本处理和信息检索领域得到了广泛的应用,其中最常见的用途是从一篇文章中找出它的关键词。LogisticRegression(逻辑回归)是一种非常常用的分类算法,它是一种广义线性回归模型,它使用Sigmoid函数将线性回归值转换到(0,1)区间内,然后与阈值进行比较得到分类的结果。因此,本领域的技术人员致力于开发一种基于机器学习的WEB恶意请求深度检测系统及方法,以实现对网关恶意流量的检测,并且相较于传统WEB请求恶意检测系统使用的字符串匹配技术和普通的机器学习技术,具有更低的错检率和漏检率,以及更高的数据集适应性。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何克服单一的机器学习模型过于宽泛,没有考虑到不同流量类型特异性以及缺乏实时性的缺点,将访问流量分为内网WEB服务器访问流量和外网WEB服务器访问流量,根据两种流量各自的特性和独有的模式,以及内外网服务器安全等级的不同,去做有针对性和侧重性的检测模型,以实现对网关恶意流量的实时检测,并且保证系统具有低错检率和漏检率。为实现上述目的,本专利技术提供了一种基于机器学习的WEB恶意请求深度检测系统,包括数据库模块、分类器训练模块、流量检测模块;所述数据库模块被配置为存放网关WEB流量数据,所述分类器训练模块被配置为进行分类训练,以得到第一分类器和第二分类器,所述数据库模块中存放的网关WEB流量数据被传送给流量检测模块,经正则匹配和流量类别划分处理后,分为内网请求流量数据和非内网请求流量数据,所述非内网请求流量数据被送入所述第一分类器进行检测,所述内网请求流量数据被送入所述第二分类器进行检测,检测结果全部被存入所述数据库模块。进一步地,所述数据库模块包括待检测流量数据存放区和检测结果数据存放区。进一步地,所述分类器训练模块包括第一分类器训练子模块和第二分类器训练子模块,所述第一分类器训练子模块基于N-gram、TF-IDF特征提取进行训练,得到所述第一分类器,所述第二分类器训练子模块基于隐马尔可夫HMM模型进行训练,得到所述第二分类器。进一步地,所述流量检测模块包括正则匹配模块、内外网请求分类模块、内网请求检测模块、非内网请求检测模块。进一步地,所述第一分类器训练子模块的具体训练过程包括以下步骤:步骤101、利用从Github的公开数据集中获取已标记好的129万条正常流量和5万条异常流量;步骤102、对数据集的每一行先用N-gram分词,再用TF-IDF算法进行处理,最终得到URL-TFIDF矩阵,所述矩阵是m×n维矩阵,其中m是不同URL子串的个数,n是URL的个数;步骤103、利用Scikit-learn下的LogisticRegression工具进行Logistic回归,将URL子串的TF-IDF值作为特征,URL是否异常作为标记,进行训练,得到一个二分类的分类器模型LogisticModel,将训练好的LogisticModel与N-gram,TF-IDF特征提取模块化为一个python类,作为所述第一分类器,并使用pickle库将训练好的所述第一分类器保存到本地,以便后续检测时使用。进一步地,所述第二分类器训练子模块的具体训练过程包括以下步骤:步骤201、从已有的网关流量日志中的内网WEB服务器访问流量中人工提取3000条良性请求作为良性样本并做好标记;步骤202、使用python的第三方工具包hmmlearn对所述良性样本进行基于隐马尔可夫HMM模型的训练,得到所述第二分类器。进一步地,所述非内网请求检测模块被配置为利用所述第一分类器进行检测,所述内网请求检测模块被配置为利用所述第二分类器进行检测。本专利技术还提供一种基于机器学习的WEB恶意请求深度检测方法,包括以下步骤:步骤301、将网关WEB流量数据作为全部待检测流量存放到所述数据库模块中的所述待检测流量数据存放区;步骤302、将所述全部待检测流量输入所述正则匹配模块进行初步匹配,得到筛选后的剩余流量数据;步骤303、将所述剩余流量数据输入所述内外网请求分类模块,以进行流量类别划分,得到所述内网请求流量数据和所述非内网请求流量数据;步骤304、将所述内网请求流量数据输入所述内网请求检测模块,经训练好的所述第二分类器进行检测,将所述非内网请求流量数据输入所述非内网请求检测模块,经训练好的所述第一分类器进行检测,得到检测结果;步骤305、将所述检测结果存入所述数据库模块的所述检测结果数据存放区中。进一步地,所述步骤302的具体过程为,从网关服务器的检测点上获取利用HTTPDUMP收集的网络流量,并且过滤掉Alexa排名前10000排名的公认良性流量,同时使用ModSecurity提供的规则集进行正则表达式匹配,对恶意流量进行初步的识别和检测,将已知攻击类型的请求筛选出来,得到筛选后的剩余流量数据。进一步地,所述检测结果包括良性请求判定结果和恶意请求判定结果。与现有技术方案相比,本专利技术的有益技术效果在于以下三方面:第一,考虑到了网关流量日志的特殊性,将访问流量分为内网请求流量和非内网请求流量本文档来自技高网
...

【技术保护点】
1.一种基于机器学习的WEB恶意请求深度检测系统,其特征在于,包括数据库模块、分类器训练模块、流量检测模块;所述数据库模块被配置为存放网关WEB流量数据,所述分类器训练模块被配置为进行分类训练,以得到第一分类器和第二分类器,所述数据库模块中存放的网关WEB流量数据被传送给流量检测模块,经正则匹配和流量类别划分处理后,分为内网请求流量数据和非内网请求流量数据,所述非内网请求流量数据被送入所述第一分类器进行检测,所述内网请求流量数据被送入所述第二分类器进行检测,检测结果全部被存入所述数据库模块。

【技术特征摘要】
1.一种基于机器学习的WEB恶意请求深度检测系统,其特征在于,包括数据库模块、分类器训练模块、流量检测模块;所述数据库模块被配置为存放网关WEB流量数据,所述分类器训练模块被配置为进行分类训练,以得到第一分类器和第二分类器,所述数据库模块中存放的网关WEB流量数据被传送给流量检测模块,经正则匹配和流量类别划分处理后,分为内网请求流量数据和非内网请求流量数据,所述非内网请求流量数据被送入所述第一分类器进行检测,所述内网请求流量数据被送入所述第二分类器进行检测,检测结果全部被存入所述数据库模块。2.如权利要求1所述的基于机器学习的WEB恶意请求深度检测系统,其特征在于,所述数据库模块包括待检测流量数据存放区和检测结果数据存放区。3.如权利要求1所述的基于机器学习的WEB恶意请求深度检测系统,其特征在于,所述分类器训练模块包括第一分类器训练子模块和第二分类器训练子模块,所述第一分类器训练子模块基于N-gram、TF-IDF特征提取进行训练,得到所述第一分类器,所述第二分类器训练子模块基于隐马尔可夫HMM模型进行训练,得到所述第二分类器。4.如权利要求1所述的基于机器学习的WEB恶意请求深度检测系统,其特征在于,所述流量检测模块包括正则匹配模块、内外网请求分类模块、内网请求检测模块、非内网请求检测模块。5.如权利要求3所述的基于机器学习的WEB恶意请求深度检测系统,其特征在于,所述第一分类器训练子模块的具体训练过程包括以下步骤:步骤101、利用从Github的公开数据集中获取已标记好的129万条正常流量和5万条异常流量;步骤102、对数据集的每一行先用N-gram分词,再用TF-IDF算法进行处理,最终得到URL-TFIDF矩阵,所述矩阵是m×n维矩阵,其中m是不同URL子串的个数,n是URL的个数;步骤103、利用Scikit-learn下的LogisticRegression工具进行Logistic回归,将URL子串的TF-IDF值作为特征,URL是否异常作为标记,进行训练,得到一个二分类的分类器模型LogisticModel,将训练好的LogisticModel与N-gram,TF-IDF特征提取模块化为一...

【专利技术属性】
技术研发人员:邹福泰张庆儒赵铭华张恒瑞张子瑄
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1