CN107404473A - 基于Mshield机器学习多模式Web应用防护方法 - Google Patents

基于Mshield机器学习多模式Web应用防护方法 Download PDF

Info

Publication number
CN107404473A
CN107404473A CN201710420354.5A CN201710420354A CN107404473A CN 107404473 A CN107404473 A CN 107404473A CN 201710420354 A CN201710420354 A CN 201710420354A CN 107404473 A CN107404473 A CN 107404473A
Authority
CN
China
Prior art keywords
mshield
machine learning
attack
web application
defences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710420354.5A
Other languages
English (en)
Inventor
吴文栩
欧迈
裴庆祺
赵继龙
梁文彬
韩瑞欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710420354.5A priority Critical patent/CN107404473A/zh
Publication of CN107404473A publication Critical patent/CN107404473A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于Web应用防护技术领域,公开了一种基于Mshield机器学习多模式Web应用防护方法,经语义分析单元提取特征,传输至机器学习单元进行识别,运用随机森林算法、逻辑回归算法;对恶意攻击和正常访问请求作出有效区分,并及时对攻击进行拦截;Mshield云平台对设备每日上报的日志进行筛选后汇总放入数据仓库中,作为迭代和提高算法效果的数据集;根据过去的安全态势进行推演,预测出未来可能发生的攻击事件和容易遭受攻击的应用。通过采集百万级攻击载荷数据的特征,经机器学习模型的训练和泛化,使得Mshield相较于传统WAF,面对当下甚至是未来未知的Web攻击,具备更高效且更安全的防护能力。

Description

基于Mshield机器学习多模式Web应用防护方法
技术领域
本发明属于Web应用防护技术领域,尤其涉及一种基于Mshield机器学习多模式Web应用防护方法。
背景技术
在互联网高速发展的今天,信息化已经成为企业竞争、发展、创新的重要手段,越来越多企业的核心业务采用Web应用实现,围绕数据中心式的Web应用已经逐渐成为企业主流业务的重要载体,企业财富与网络安全紧密相关,与广大群众生活的联系也越来越紧密。但由于Web应用本身的开放性、不可控性,从互联网兴起至今,利用网络漏洞攻击Web应用的安全事件层出不穷,并且呈日趋严重的态势,攻击手段也愈加“高级”与多样。由网络攻击引起的网站瘫痪、信息泄露及网页篡改、挂马等威胁,对网站业务造成重大影响,降低用户体验,导致核心用户流失,财产损失。从Web应用安全事件就可以看出,Web应用安全的漏洞近来逐渐成为主流攻击方式,利用SQL注入,XSS,CSRF等OWASP TOP 10安全漏洞,不法分子多姿势获取敏感信息,甚至GetShell(拿到Web服务器管理权限),从而制造更大威胁,危害网络安全。由于Web应用的多样性,广布性,其安全漏洞也屡见不鲜。仅Wooyun平台近期收录的大陆地区漏洞情况,就已让人心惊。2009年Gartner发布了一篇白皮书,增加了一名新成员——下一代防火墙(NGFW),它将用户、应用和内容作为管控基础。NGFW除具备第一代防火墙基本功能之外,还具有应用流量识别、应用层访问控制、应用层安全防护、用户控制、深度内容检测、高性能等特征的控制的系统。但下一代防火墙中针对Web应用的防护主要在于用户管控、Web攻击防护与信息泄露防护,对Web应用安全防护能力仍较低。目前云的概念已经深入人心,越来越多的政府、企业等客户都在往云上迁移。最近3年,云计算市场规模增长率年平均为17%左右,云安全服务市场的规模增长率略高,平均约为23%;在云上做安全更是成为了一种新的发展,但事实是云安全服务在云计算服务市场总额占比较低,约1.7%左右,面对巨大的中国市场,国际著名的信息安全公司甚至已经提前做好抢占市场份额准备,纷纷加大研发力度,不断优化产品。虽然当今云安全服务解决方案呈多样化发展,但总体分为工具产品部署和人工检测分析两类。目前来讲,较成熟的解决方案仍为传统防护产品如:WAF,漏洞扫描,防火墙等。现如今人工智能和机器学习技术一片火热,从20世纪80年代中后期到现在,机器学习研究进入一个新阶段,已经趋向成熟。神经网络的复苏,带动着各种非符号学习方法与符号学习并驾齐驱,并且已超越研究范围,进入到自动化及模式识别等领域。在国内,已经出现以瀚思为代表的将机器学习技术用于安全防护的应用。针对Web应用防护,WAF无疑是极好的防御产品,而当前市面上主流WAF等安全防护产品都是正则防护系统,对于“规则”的过度依赖,在面对用法灵活、手段多样的Web攻击时,往往导致误报或漏报的情况(WAF Bypass)。即使实时更新规则,还是不能做到非常有效的防护。且早在BlackHat2005,Hanson和Patterns从理论上证明了,任何基于正则的输入验证系统,都存在以下两个情况至少有一个为真:可以构造一个安全的正常请求,但是被验证系统标记为危险/不正常可以构造一个不正常的攻击请求,但是验证系统标记为正常请求;也就是说,针对一个基于正则表达式的防护系统,永远都将处于误报与错报的同时发生中,传统规则型WAF的局限性可见一斑。机器学习是一门基于有监督或无监督算法的学科,可以解决分类、回归、聚类等问题,而现在面临的恰好是一个典型的分类问题,需要对一个输入的http请求,输出其是否有害的信息。综上所述,如果使WAF与机器学习相结合,可以更好保障应用业务安全。BlackHat2012,Nick Galbreath提出了libinjection——a C library for SQLidetection and generation through lexical analysis of real world attacks。他首先考虑到了词法分析,但当时的结果存在较大的改进空间。2014年中国互联网安全大会(ISC 2014)第二天上午举办的“WEB与应用安全论坛”上,知道创宇资深安全顾问秦波发表了《大数据形式下的Web安全防护思路》,提出了使用大数据来更好的做Web安全防护,从数据中寻找规律,从数据中挖掘威胁。北京时间2015年8月2日,全球顶尖安全会议BlackHat如期在美国拉斯维加斯举行。长亭科技作为Arsenal分会场唯一来自中国的团队,以讲解和现场测试的方式,推出了新型的SQL注入攻击检测与防御引擎——SQLChop。SQLChop在测试中表现出的良好防御能力,获得了世界各地网络安全业者的认可。作为一种新型有效的SQL检测与防御方案,长亭的SQLChop在词法分析的基础上再做了语法分析。它不仅为业界Web安全防护开辟了新的道路,还点出了词法语法分析在安全防护上的重大作用。攻与防一直是网络安全的核心,在网络与信息时代,各个方面都与网络安全紧密相关,而50%以上的网络攻击发生在Web应用层。在这种安全大环境下,针对Web应用,传统的安全防御方案远不及WAF更能有效地保护目标网站。而目前常见的WAF都是基于规则匹配的,其误报、漏报率高,易被针对其过滤规则或其他方式进行绕过。
综上所述,现有技术存在的问题是:目前常见的WAF都是基于规则匹配的,其误报、漏报率高。
发明内容
针对现有技术存在的问题,本发明提供了一种基于Mshield机器学习多模式Web应用防护方法。
本发明是这样实现的,一种基于Mshield机器学习多模式Web应用防护方法,所述基于Mshield机器学习多模式Web应用防护方法经语义分析单元提取特征,传输至机器学习单元进行识别,运用随机森林算法、逻辑回归算法;对恶意攻击和正常访问请求作出有效区分,并及时对攻击进行拦截;Mshield云平台对设备每日上报的日志进行筛选后汇总放入数据仓库中,作为迭代和提高算法效果的数据集;根据过去的安全态势进行推演,预测出未来可能发生的攻击事件和容易遭受攻击的应用。
进一步,所述传输至机器学习单元进行识别包括:当原始数据流进入mshield的分析模块后,将采用语法解析器将其分解为词向量,将原始的数据转化为一个句子向量的标识,形如[0,1,1,1,0];随后将句子向量传入由逻辑回归,随机森林算法组成的分类器中,根据出的结果来进行识别;
所述对恶意攻击和正常访问请求作出有效区分包括:在句子向量进入分类器运算后得出的label为1,则证明识别出有害的数据,结果为0则为正常数据;
所述根据过去的安全态势进行推演包括:根据以往的数据,进行人工标注和自动聚类分析后,得到发生攻击的时间,攻击类型数据,多模式分析中,既可使用arima算法进行分析和预测之后的攻击数量,态势也可以使用lstm神经网络,进行整个时间序列的建模,实现对较长时间后攻击情况的预测。
进一步,所述基于Mshield机器学习多模式Web应用防护方法包括以下步骤:
步骤一,当访问者要访问受保护网站的时候,他的流量首先要经过Mshield的清洗、过滤;原始数据经过mshield分析模块进行分析后,根据其是否有害和威胁程度,会自动进行如何进行处理的判断;如果属于应用型攻击,如sql.xss等攻击,则会自动对其攻击语句进行过滤;如果属于ddos,cc攻击资源消耗型的攻击,则mshield会将其源ip地址加入黑名单,并直接将其请求的数据包进行丢弃,实现数据的清洗;剩余的正常的访问流量才会被发送到受保护的网站;同时,网站的返回流量通过Mshield分配回客户端;
步骤二,管理员能够通过管理前台来修改Mshield的过滤规则,或者恢复被Mshield所Ban掉的IP地址;同时,Mshield会把攻击日志向云平台上报,使态势感知单元能及时对其进行分析。
进一步,所述基于Mshield机器学习多模式Web应用防护方法的词向量转换包括:通过对数据集的预处理,上下无关文法对整段代码进行分析;通过对词汇本身在全句中的重要程度和出现概率进行计算,获得向量;原始的数据,如GET请求为?param=x;采用正则表达式将param所传递的值进行解析,而后对其传入sql语法解析器,或html/js语法解析器,从而将其转换为形如[0,1,1,1,0]的词频向量,组合为句子向量;根据tf-idf算法,最终计算出其权重,得到最终的句子向量。
进一步,所述基于Mshield机器学习多模式Web应用防护方法的机器学习模型采用Random Forest,利用决策树进行投票策略得到的机器学习模型;机器学习模型是指,由多个弱分类器或决策树,数量≥100组成的随机森林,输出结果由决策树投票组成,每个决策树单独输出其对于原始数据的判断,1为有害和0为无害,多个决策树的判断汇总后,可根据取多数的原则,来进行最后的有害或无害判断;
对输入的一个m维特征的数据,选取其中分割出的n个维度特征,训练一棵决策树;
初始化生成大量的决策树,建立起一个森林;
获取分类结果。
进一步,所述基于Mshield机器学习多模式Web应用防护方法的分布式计算包括:
对相关的配置文件进行修改以及增加部分代码;
当完成初始的配置工作后,开启Hadoop的守护进程:
当守护进程正常运行后,可查看Hadoop集群的状况:
在eclipse中安装Hadoop 2.6.0插件,并连接到Master节点,对SQL注入语句进行分割和词频统计。
本发明的另一目的在于提供一种应用所述基于Mshield机器学习多模式Web应用防护方法的基于Mshield机器学习多模式Web应用防护系统,所述基于Mshield机器学习多模式Web应用防护系统包括:设备单元和云平台单元。
进一步,所述设备单元由用户单元、过滤器单元、机器学习单元、语义分析单元组成。
进一步,所述云平台单元由数据库、大数据分析单元和态势感知单元组成。
本发明的优点及积极效果为:由防御设备和云平台两部分组成,通过采集百万级攻击载荷数据的特征,经机器学习模型的训练和泛化,使得Mshield相较于传统WAF,面对当下甚至是未来未知的Web攻击,具备更高效且更安全的防护能力。Mshield是一个轻巧的WAF,并且全视图操作,对管理员的技术要求不高,相比云盾等其他大规模传统WAF代价低廉,对中小企业及发个人网站友好。且基于大数据的安全分析理念顺应发展潮流,在现今及将来更加复杂多变的网络环境中,能更好的发挥其作用。
附图说明
图1是本发明实施例提供的基于Mshield机器学习多模式Web应用防护方法流程图。
图2是本发明实施例提供的基于Mshield机器学习多模式Web应用防护系统结构示意图。
图3是本发明实施例提供的cbow网络结构示意图。
图4是本发明实施例提供的分类准确率与分类阈值示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于Mshield机器学习多模式Web应用防护方法包括以下步骤:
S101:当访问者要访问受保护网站的时候,他的流量首先要经过Mshield的清洗、过滤;剩余的正常的访问流量才会被发送到受保护的网站;同时,网站的返回流量通过Mshield分配回客户端;
S102:管理员能够通过管理前台来修改Mshield的过滤规则,或者恢复被Mshield所Ban掉的IP地址;同时,Mshield会把攻击日志向云平台上报,使态势感知单元能及时对其进行分析。
如图2所示,本发明实施例提供的基于Mshield机器学习多模式Web应用防护系统包括:设备模块1和云平台模块2。
其中设备模块1由用户单元、过滤器单元、机器学习单元、语义分析单元组成。
云平台模块2由数据库、大数据分析单元和态势感知单元组成。
Mshield waf设备是一台小型化的服务器,其上面部署了最新的mshield固件,用于进行离线的攻击检测与日志审计,会定期进行更新检查和日志上传,从而从服务器中获取最新数据;Mshield云平台由一系列高性能服务器集群组成,其大部分服务器使用hdfs系统进行大规模日志与海量数据的存储,形成数据仓库;另一部分部署了GPU的服务器则用来进行机器学习算法的训练,以及具体的日志分析。
下面结合附图对本发明的应用原理作进一步的描述。
1、本发明实施例提供的基于Mshield机器学习多模式Web应用防护方法当访问者要访问受保护网站的时候,他的流量首先要经过Mshield的清洗、过滤。接下来,剩余的正常的访问流量才会被发送到受保护的网站。同时,网站的返回流量通过Mshield分配回客户端。
管理员能够通过管理前台来修改Mshield的过滤规则,或者恢复被Mshield所Ban掉的IP地址。同时,Mshield会把攻击日志向云平台上报,使态势感知单元能及时对其进行分析。
2、词向量转换
Mshield会对各个用户的网站日志进行记录和分析,将其汇总为数据集。而机器学习单元则首先通过对数据集的预处理,首先要经过的是语法树分析通过上下无关文法等手段对整段代码进行分析。
Word2Vector是在n-gram等传统方法之上,通过对词汇本身在全句中的重要程度和出现概率进行计算,来获得向量。
其cbow网络结构如图3所示:
最后生成了一个较好结果的词向量。
3、机器学习模型建立
采用的模型则是Random Forest,也被称为随机森林,利用决策树进行投票策略得到的机器学习模型。
决定决策树采用的是Gini Index,也被称为基尼增益系数。此外还有不纯度等方法来评价。主要原理是根据决策树在一次分类中,能够成功的将两个类别的数据区分开,而不引入混杂的程度。
随机森林算法,则是对于输入的一个m维特征的数据。根据算法选取其中分割出的n个维度特征,训练一棵决策树,这个决策树属于一个弱分类器,因为它进行学习的只是数据中的某一部分特征。
在初始化时,可以生成大量的决策树,以此来建立起一个森林。
对于最后的分类结果,可以看做是多个弱分类器进行投票后生成的。
4、分类效果
首先对于原始数据集,需要对其Label进行标注,也是是需要区分有害和正常访问的数据集,然后通过之前所述的预处理单元后,进入到训练的过程。整个训练的过程需要对数据集进行切分,大概的比例是3:1,其中占比3的部分用于训练,1的部分用于测试。对于这个小型数据集,决策树数量是30,以适应较少的样本量。
为了将测试集结果更好的显示出来,使用Matplotlib库。将正确分类和错误分类的样本带入到混淆矩阵中,同时进行可视化操作。混淆矩阵显示出了较好的训练结果,准确率接近99.9%(除去少数噪点)。
在完成了整个整个过程后,由于随机森林输出的是一个概率值,也就是目标属于某个类别的概率,但是根据实际分类情况的不同,需要为它设定不同的阈值,如只有当概率大于70%的情况下,才认为数据是有害的,可以有效的减少一些由于局部最优值导致的误报情况。
绘制出一张在整个1/3的测试集上经过运行的关于分类准确率与分类阈值函数图像,即图4。由图4可见确实应该选择0.7作为分类阈值,在这样的情况下分类效果达到最佳的水平。最终的测试效果26万余条测试数据集中,分类器的准确率(Accuracy)为99.9211%,精确度(Precision)为98.074%,召回率(Recall)为99.6938%。为进一步在较大的数据集上也应用训练样本,同时应对多种类型的入侵日志和标注数据,该作品使用Hadoop这一分布式计算框架,利用MapReduce原理,对数据进行预处理以及之后的训练操作。
Hadoop的工作原理:
首先一个大的数据文件,比如说需要进行数据分析的日志,其文件头信息,大小等重要内容,被保存在称为Master的一台机器上,数据被称为Name Node。
那么集群中其它负责计算的主机,则存储一份DataNode,里面含有被切片后文件的block(块)数据,每个节点互不影响,因此当一个节点失效后,很快可以启动备用节点。
那么当数据分块完成后,首先进行的就是MapReduce中的Map操作。
5、分布式计算
在分布式计算集群的的建立过程中,首先需要对相关的配置文件进行修改以及增加部分代码;
当完成初始的配置工作后。即可开启Hadoop的守护进程:
当守护进程正常运行后,即可查看Hadoop集群的状况:
127.0.0.1:50070可以查看到Hadoop的Datanode使用状况:
在127.0.0.1:8099则可以跟踪到正在运行的应用:
然后在eclipse中安装Hadoop 2.6.0插件,并连接到Master节点。开始运行测试程序,用于对SQL注入语句进行分割和词频统计。
现在运行的是一个伪分布式状态下的程序,由于还没有部署集群,因此这个程序其实是通过HDFS来访问到本地的文件并进行运算和产生输出的,接下来将在虚拟环境下配置整个分布式计算集群:该集群使用ubuntu 14.04进行配置,首先针对单机状态下的设置进行修改:
将hdfs分布式文件系统的地址改为主机地址,同时在host中添加解析:
192.168.128.130Master
此时,再使用hdfs namenode-format来格式化文件系统。完成后,开始配置集群的slave机设置:
首先需要将主机的公钥导出并进行分发,便于构造集群内的无密码登录环境:
完成后,使用scp分发到各slave机。此后,可以把hadoop也通过scp进行批量部署:
在整个内网中进行一个自动化的部署也是很快的。
接下来就可以启动hadoop主程序了:
首先启动了master机上的namenode节点,然后是slave机上的datanode
可以访问Master:50070来查看详细状态。
同时,在主机上也可以运行如下命令:
Hadoop dfsadmin
以进行整个流程的控制。
启动yarn来跟踪资源使用状况和管理node。
把需要进行分布式计算的程序进行导出:首先在eclipse中将其编译为jar,同时注意的是选择主类为wordcounttest:
导出后,就可以在hadoop集群上运行这个mapreduce程序了。可以看到,整个工作进度也会被及时的进行反馈,同时,对于每个mapper和reducer的工作状态也会在historyserver中予以记录;
在Hadoop中查看cluster,会有详细的任务报告,预先设定数据集的聚类结果。
整个计算过程完成后,使用hadoop fs-get命令来获取最终的输出。
由此,完整的构建了一个分布式计算集群。它可以有效的帮助预处理TB级的日志信息以及进行机器学习。
下面结合测试对本发明的应用效果作详细的描述。
1.1测试方案和测试工具
1.1.1测试方案
自行搭建测试环境,自行访问产生流量,及存储攻击数据集,多以日志作为训练集。并利用各种漏洞及其变种,借助Sqlmap等自动化渗透工具进行攻击,测试WAF识别及拦截效果。
采用代码审计,渗透测试方案,利用RIPS,VCG,Fortify SCA多款自动化工具,及人工审计,对系统自身代码进行安全检测;并采用WVS等自动渗透测试工具,对WAF管理端口进行测试。
1.1.2测试工具
Kali v1
Ubuntu 14.04
VPS:Bandwagong VPS
SSD:10GB
RAM:512MB
CPU:1x Intel Xeon
BW:1000GB/Mo
Link speed:1Gigabit
语言环境:PHP,Python,Java
测试工具:RIPS,VCG,Fortify SCA自动化审计工具;Sqlmap,Burpsuit,Nmap,Acunetix Web Vulnerability Scanner,啊D,御剑等一系列国内外流行渗透测试工具。
1.2测试数据及结果分析
目前Mshield的用户服务网站;
首先需要进行用户的注册;
登陆账号;
登陆到用户的管理中心;
在这里可以查看目前的一些网站公告,用户所绑定的网站信息等。
此外,还能查看网站目前的及时流量和信息,以及是否遭受到攻击;在信息更新页面可以修改用户的密码;
对自己网站进行防护;
首先将自己的域名解析到目标服务器的内网IP:x.x.x.x后,在网站的解析处填写自己的服务器IP,并可以个性化防护规则;
用户的全局数据都会经过Mshield设备,因此也给用户提供了数据分析的图表功能,针对特定业务的安全进行处理。
MshieldWAF功能测试:
对于一个正常的,出现在普通业务逻辑中的语句:
例:”select some my friends from your class”
但是这条语句中包含着对于规则而言的敏感词,对于目前市面上的WAF来说,都容易产生误报的情况,那么测试会如何呢?
首先,云盾直接进行了拦截,并记录了IP:
甚至它对包含了“select%20”或“select%0a”的请求就直接进行拦截,毫不讲理:
而安全宝也产生了误报的情况:
360同样产生了误报的情况:
加速乐也不例外:
这些拦截情况是基于传统规则的WAF天生的硬伤。
而相比之下,Mshield则很好的避免了类似的误报情况:
1.3安全性分析
从目前结果来讲,对于常见攻击方式,Mshield可以有效拦截并及时提醒管理员;
在运行阶段,没有出现占用主机内存资源或网络资源的情况,运行稳定性良好;
多模式识别作用良好,误报漏报率低;能有效隔离访问者与目标网站服务器间的交互。
本发明的测试效果良好,相比传统WAF产品来言,效果显著。
MshieldWAF创新点主要有以下3点:
①多模式识别分析:
1>传统规则,提供严密的过滤规则,并且管理员可根据自家业务逻辑,自定义过滤规则;
2>大数据分析,对庞大的流量数据集进行机器学习;将大数据运用到Web应用安全防护上,是发展的必然趋势
3>语法树词法分析,有效应对同种攻击的多姿势变化,对于SQL注入漏洞尤其有效。使用词法和语法分析去处理SQL注入的好处是显而易见的,其最大好处是无规则,再也不用写千变万化的规则(每次都还有写错扣奖金的风险),也天生就获得一定的SQL注入0day防御能力。【3】同样的思路也可以运用到其他威胁的检测防御上。
②态势感知
态势感知系统不仅对当下的安全态势进行评估分析和生成总结报告,更能对未来一段时间内可能发生的攻击事件和遭到攻击的应用进行分析,使用户能够对可能发生的风险未雨绸缪,防患于未然
③支持功能扩展:
可加入自动渗透测试,代码审计等安全防御方案;
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述基于Mshield机器学习多模式Web应用防护方法经语义分析单元提取特征,传输至机器学习单元进行识别,运用随机森林算法、逻辑回归算法;对恶意攻击和正常访问请求作出有效区分,并及时对攻击进行拦截;Mshield云平台对设备每日上报的日志进行筛选后汇总放入数据仓库中,作为迭代和提高算法效果的数据集;根据过去的安全态势进行推演,预测出未来可能发生的攻击事件和容易遭受攻击的应用。
2.如权利要求1所述的基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述传输至机器学习单元进行识别包括:当原始数据流进入mshield的分析模块后,将采用语法解析器将其分解为词向量,将原始的数据转化为一个句子向量的标识,形如[0,1,1,1,0];随后将句子向量传入由逻辑回归,随机森林算法组成的分类器中,根据出的结果来进行识别;
所述对恶意攻击和正常访问请求作出有效区分包括:在句子向量进入分类器运算后得出的label为1,则证明识别出有害的数据,结果为0则为正常数据;
所述根据过去的安全态势进行推演包括:根据以往的数据,进行人工标注和自动聚类分析后,得到发生攻击的时间,攻击类型数据,多模式分析中,既可使用arima算法进行分析和预测之后的攻击数量,态势也可以使用lstm神经网络,进行整个时间序列的建模,实现对较长时间后攻击情况的预测。
3.如权利要求1所述的基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述基于Mshield机器学习多模式Web应用防护方法包括以下步骤:
步骤一,当访问者要访问受保护网站的时候,他的流量首先要经过Mshield的清洗、过滤;原始数据经过mshield分析模块进行分析后,根据其是否有害和威胁程度,会自动进行如何进行处理的判断;如果属于应用型攻击,如sql.xss攻击,则会自动对其攻击语句进行过滤;如果属于ddos,cc攻击资源消耗型的攻击,则mshield会将其源ip地址加入黑名单,并直接将其请求的数据包进行丢弃,实现数据的清洗;剩余的正常的访问流量才会被发送到受保护的网站;同时,网站的返回流量通过Mshield分配回客户端;
步骤二,管理员能够通过管理前台来修改Mshield的过滤规则,或者恢复被Mshield所Ban掉的IP地址;同时,Mshield会把攻击日志向云平台上报,使态势感知单元能及时对其进行分析。
4.如权利要求1所述的基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述基于Mshield机器学习多模式Web应用防护方法的词向量转换包括:通过对数据集的预处理,上下无关文法对整段代码进行分析;通过对词汇本身在全句中的重要程度和出现概率进行计算,获得向量;原始的数据,如GET请求为?param=x;采用正则表达式将param所传递的值进行解析,而后对其传入sql语法解析器,或html/js语法解析器,从而将其转换为形如[0,1,1,1,0]的词频向量,组合为句子向量;根据tf-idf算法,最终计算出其权重,得到最终的句子向量。
5.如权利要求1所述的基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述基于Mshield机器学习多模式Web应用防护方法的机器学习模型采用Random Forest,利用决策树进行投票策略得到的机器学习模型;机器学习模型是指,由多个弱分类器或决策树,数量≥100组成的随机森林,输出结果由决策树投票组成,每个决策树单独输出其对于原始数据的判断,1为有害和0为无害,多个决策树的判断汇总后,可根据取多数的原则,来进行最后的有害或无害判断;
对输入的一个m维特征的数据,选取其中分割出的n个维度特征,训练一棵决策树;
初始化生成大量的决策树,建立起一个森林;
获取分类结果。
6.如权利要求1所述的基于Mshield机器学习多模式Web应用防护方法,其特征在于,所述基于Mshield机器学习多模式Web应用防护方法的分布式计算包括:
对相关的配置文件进行修改以及增加部分代码;
当完成初始的配置工作后,开启Hadoop的守护进程:
当守护进程正常运行后,可查看Hadoop集群的状况:
在eclipse中安装Hadoop 2.6.0插件,并连接到Master节点,对SQL注入语句进行分割和词频统计。
7.一种应用权利要求1所述基于Mshield机器学习多模式Web应用防护方法的基于Mshield机器学习多模式Web应用防护系统,其特征在于,所述基于Mshield机器学习多模式Web应用防护系统包括:设备单元和云平台单元。
8.如权利要求7所述的基于Mshield机器学习多模式Web应用防护系统,其特征在于,所述设备单元由用户单元、过滤器单元、机器学习单元、语义分析单元组成。
9.如权利要求7所述的基于Mshield机器学习多模式Web应用防护系统,其特征在于,所述云平台单元由数据库、大数据分析单元和态势感知单元组成。
CN201710420354.5A 2017-06-06 2017-06-06 基于Mshield机器学习多模式Web应用防护方法 Pending CN107404473A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710420354.5A CN107404473A (zh) 2017-06-06 2017-06-06 基于Mshield机器学习多模式Web应用防护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710420354.5A CN107404473A (zh) 2017-06-06 2017-06-06 基于Mshield机器学习多模式Web应用防护方法

Publications (1)

Publication Number Publication Date
CN107404473A true CN107404473A (zh) 2017-11-28

Family

ID=60405050

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710420354.5A Pending CN107404473A (zh) 2017-06-06 2017-06-06 基于Mshield机器学习多模式Web应用防护方法

Country Status (1)

Country Link
CN (1) CN107404473A (zh)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108040076A (zh) * 2018-02-06 2018-05-15 中国互联网络信息中心 基于Spark Streaming的DNS水刑攻击处理方法及系统
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN108182175A (zh) * 2017-12-29 2018-06-19 中国银联股份有限公司 一种文本质量指标获取方法及装置
CN108512841A (zh) * 2018-03-23 2018-09-07 四川长虹电器股份有限公司 一种基于机器学习的智能防御系统及防御方法
CN108712453A (zh) * 2018-08-30 2018-10-26 杭州安恒信息技术股份有限公司 基于逻辑回归算法的注入攻击检测方法、装置和服务器
CN108881446A (zh) * 2018-06-22 2018-11-23 深源恒际科技有限公司 一种基于深度学习的人工智能平台系统
CN109324985A (zh) * 2018-09-03 2019-02-12 中新网络信息安全股份有限公司 一种基于机器学习的自动适应场景的sql注入识别方法
CN109347873A (zh) * 2018-11-29 2019-02-15 郑州云海信息技术有限公司 一种命令注入攻击的检测方法、装置及计算机设备
CN109446188A (zh) * 2018-10-17 2019-03-08 大国创新智能科技(东莞)有限公司 基于大数据和深度学习的跟踪审计方法和机器人系统
CN109450880A (zh) * 2018-10-26 2019-03-08 平安科技(深圳)有限公司 基于决策树的钓鱼网站检测方法、装置及计算机设备
CN109873800A (zh) * 2018-12-11 2019-06-11 四川大学 基于词向量和lstm检测sql注入行为
CN109960729A (zh) * 2019-03-28 2019-07-02 国家计算机网络与信息安全管理中心 Http恶意流量的检测方法及系统
CN110177113A (zh) * 2019-06-06 2019-08-27 北京奇艺世纪科技有限公司 互联网防护系统及访问请求处理方法
CN110266510A (zh) * 2018-03-21 2019-09-20 腾讯科技(深圳)有限公司 网络控制策略生成方法及装置、网络控制方法、存储介质
CN110602029A (zh) * 2019-05-15 2019-12-20 上海云盾信息技术有限公司 一种用于识别网络攻击的方法和系统
CN110879802A (zh) * 2019-10-28 2020-03-13 同济大学 一种日志模式提取及匹配方法
CN110889117A (zh) * 2019-11-28 2020-03-17 支付宝(杭州)信息技术有限公司 一种模型攻击的防御方法及装置
CN110912874A (zh) * 2019-11-07 2020-03-24 苏宁云计算有限公司 有效识别机器访问行为的方法及系统
CN111177765A (zh) * 2020-01-06 2020-05-19 广州知弘科技有限公司 金融大数据处理方法、存储介质和系统
CN111200590A (zh) * 2019-12-09 2020-05-26 杭州安恒信息技术股份有限公司 多个周期统计数据一致性校验的算法
CN111447211A (zh) * 2020-03-24 2020-07-24 济南诚方网络科技有限公司 一种网络防诈骗系统
CN111901326A (zh) * 2020-07-20 2020-11-06 杭州安恒信息技术股份有限公司 多设备入侵的检测方法、装置、系统以及存储介质
CN113031991A (zh) * 2021-04-13 2021-06-25 南京大学 一种嵌入式系统的远程自适应升级方法及其装置
CN113194091A (zh) * 2021-04-28 2021-07-30 顶象科技有限公司 恶意流量入侵检测系统和硬件平台
CN113407885A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质
CN113904829A (zh) * 2021-09-29 2022-01-07 上海市大数据股份有限公司 一种基于机器学习的应用防火墙系统
CN113949528A (zh) * 2021-09-09 2022-01-18 中云网安科技有限公司 基于流量数据的访问控制方法、装置、存储介质及设备
CN114363023A (zh) * 2021-12-23 2022-04-15 国家电网有限公司 一种Web安全防护系统实施及策略调优方法、系统
CN115168848A (zh) * 2022-09-08 2022-10-11 南京鼎山信息科技有限公司 基于大数据分析拦截的拦截反馈处理方法
CN115695054A (zh) * 2023-01-04 2023-02-03 北京知其安科技有限公司 基于机器学习的waf拦截页面识别的方法、装置及相关组件

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833270A (zh) * 2012-09-18 2012-12-19 山石网科通信技术(北京)有限公司 Sql注入攻击的检测方法、装置和具有该装置的防火墙
CN103581188A (zh) * 2013-11-05 2014-02-12 中国科学院计算技术研究所 一种网络安全态势预测方法及系统
KR20150016420A (ko) * 2013-07-31 2015-02-12 가천대학교 산학협력단 NoSQL 기반의 맵리듀스를 이용한 데이터 분석 장치 및 방법
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统
CN106790292A (zh) * 2017-03-13 2017-05-31 摩贝(上海)生物科技有限公司 基于行为特征匹配和分析的web应用层攻击检测与防御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833270A (zh) * 2012-09-18 2012-12-19 山石网科通信技术(北京)有限公司 Sql注入攻击的检测方法、装置和具有该装置的防火墙
KR20150016420A (ko) * 2013-07-31 2015-02-12 가천대학교 산학협력단 NoSQL 기반의 맵리듀스를 이용한 데이터 분석 장치 및 방법
CN103581188A (zh) * 2013-11-05 2014-02-12 中国科学院计算技术研究所 一种网络安全态势预测方法及系统
CN106778259A (zh) * 2016-12-28 2017-05-31 北京明朝万达科技股份有限公司 一种基于大数据机器学习的异常行为发现方法及系统
CN106790292A (zh) * 2017-03-13 2017-05-31 摩贝(上海)生物科技有限公司 基于行为特征匹配和分析的web应用层攻击检测与防御方法

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182175A (zh) * 2017-12-29 2018-06-19 中国银联股份有限公司 一种文本质量指标获取方法及装置
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN108156174B (zh) * 2018-01-15 2020-03-27 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
CN108040076A (zh) * 2018-02-06 2018-05-15 中国互联网络信息中心 基于Spark Streaming的DNS水刑攻击处理方法及系统
CN110266510A (zh) * 2018-03-21 2019-09-20 腾讯科技(深圳)有限公司 网络控制策略生成方法及装置、网络控制方法、存储介质
CN108512841A (zh) * 2018-03-23 2018-09-07 四川长虹电器股份有限公司 一种基于机器学习的智能防御系统及防御方法
CN108512841B (zh) * 2018-03-23 2021-03-16 四川长虹电器股份有限公司 一种基于机器学习的智能防御系统及防御方法
CN108881446A (zh) * 2018-06-22 2018-11-23 深源恒际科技有限公司 一种基于深度学习的人工智能平台系统
CN108881446B (zh) * 2018-06-22 2021-09-21 深源恒际科技有限公司 一种基于深度学习的人工智能平台系统
CN108712453A (zh) * 2018-08-30 2018-10-26 杭州安恒信息技术股份有限公司 基于逻辑回归算法的注入攻击检测方法、装置和服务器
CN109324985A (zh) * 2018-09-03 2019-02-12 中新网络信息安全股份有限公司 一种基于机器学习的自动适应场景的sql注入识别方法
CN109446188A (zh) * 2018-10-17 2019-03-08 大国创新智能科技(东莞)有限公司 基于大数据和深度学习的跟踪审计方法和机器人系统
CN109450880A (zh) * 2018-10-26 2019-03-08 平安科技(深圳)有限公司 基于决策树的钓鱼网站检测方法、装置及计算机设备
CN109347873A (zh) * 2018-11-29 2019-02-15 郑州云海信息技术有限公司 一种命令注入攻击的检测方法、装置及计算机设备
CN109873800A (zh) * 2018-12-11 2019-06-11 四川大学 基于词向量和lstm检测sql注入行为
CN109960729B (zh) * 2019-03-28 2022-01-18 国家计算机网络与信息安全管理中心 Http恶意流量的检测方法及系统
CN109960729A (zh) * 2019-03-28 2019-07-02 国家计算机网络与信息安全管理中心 Http恶意流量的检测方法及系统
CN110602029A (zh) * 2019-05-15 2019-12-20 上海云盾信息技术有限公司 一种用于识别网络攻击的方法和系统
CN110177113B (zh) * 2019-06-06 2021-08-31 北京奇艺世纪科技有限公司 互联网防护系统及访问请求处理方法
CN110177113A (zh) * 2019-06-06 2019-08-27 北京奇艺世纪科技有限公司 互联网防护系统及访问请求处理方法
CN110879802A (zh) * 2019-10-28 2020-03-13 同济大学 一种日志模式提取及匹配方法
CN110912874A (zh) * 2019-11-07 2020-03-24 苏宁云计算有限公司 有效识别机器访问行为的方法及系统
CN110889117A (zh) * 2019-11-28 2020-03-17 支付宝(杭州)信息技术有限公司 一种模型攻击的防御方法及装置
CN110889117B (zh) * 2019-11-28 2022-04-19 支付宝(杭州)信息技术有限公司 一种模型攻击的防御方法及装置
CN111200590B (zh) * 2019-12-09 2022-08-19 杭州安恒信息技术股份有限公司 多个周期统计数据一致性校验的算法
CN111200590A (zh) * 2019-12-09 2020-05-26 杭州安恒信息技术股份有限公司 多个周期统计数据一致性校验的算法
CN111177765A (zh) * 2020-01-06 2020-05-19 广州知弘科技有限公司 金融大数据处理方法、存储介质和系统
CN111447211A (zh) * 2020-03-24 2020-07-24 济南诚方网络科技有限公司 一种网络防诈骗系统
CN111901326B (zh) * 2020-07-20 2022-11-15 杭州安恒信息技术股份有限公司 多设备入侵的检测方法、装置、系统以及存储介质
CN111901326A (zh) * 2020-07-20 2020-11-06 杭州安恒信息技术股份有限公司 多设备入侵的检测方法、装置、系统以及存储介质
CN113031991A (zh) * 2021-04-13 2021-06-25 南京大学 一种嵌入式系统的远程自适应升级方法及其装置
CN113031991B (zh) * 2021-04-13 2023-11-17 南京大学 一种嵌入式系统的远程自适应升级方法及其装置
CN113194091A (zh) * 2021-04-28 2021-07-30 顶象科技有限公司 恶意流量入侵检测系统和硬件平台
CN113407885A (zh) * 2021-06-23 2021-09-17 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质
CN113407885B (zh) * 2021-06-23 2024-04-12 中移(杭州)信息技术有限公司 XPath数据篡改告警方法、装置、设备及可读存储介质
CN113949528A (zh) * 2021-09-09 2022-01-18 中云网安科技有限公司 基于流量数据的访问控制方法、装置、存储介质及设备
CN113904829A (zh) * 2021-09-29 2022-01-07 上海市大数据股份有限公司 一种基于机器学习的应用防火墙系统
CN113904829B (zh) * 2021-09-29 2024-01-23 上海市大数据股份有限公司 一种基于机器学习的应用防火墙系统
CN114363023A (zh) * 2021-12-23 2022-04-15 国家电网有限公司 一种Web安全防护系统实施及策略调优方法、系统
CN115168848B (zh) * 2022-09-08 2022-12-16 南京鼎山信息科技有限公司 基于大数据分析拦截的拦截反馈处理方法
CN115168848A (zh) * 2022-09-08 2022-10-11 南京鼎山信息科技有限公司 基于大数据分析拦截的拦截反馈处理方法
CN115695054A (zh) * 2023-01-04 2023-02-03 北京知其安科技有限公司 基于机器学习的waf拦截页面识别的方法、装置及相关组件
CN115695054B (zh) * 2023-01-04 2023-03-21 北京知其安科技有限公司 基于机器学习的waf拦截页面识别的方法、装置及相关组件

Similar Documents

Publication Publication Date Title
CN107404473A (zh) 基于Mshield机器学习多模式Web应用防护方法
CN109005069B (zh) 基于天地一体化网络的网络安全知识图谱的关联分析方法
CN108881194B (zh) 企业内部用户异常行为检测方法和装置
CN110233849B (zh) 网络安全态势分析的方法及系统
CN107623697A (zh) 一种基于攻防随机博弈模型的网络安全态势评估方法
CN110245496A (zh) 一种源代码漏洞检测方法及检测器和其训练方法及系统
CN108399194A (zh) 一种网络威胁情报生成方法及系统
CN106709613A (zh) 一种适用于工业控制系统的风险评估方法
CN107992746A (zh) 恶意行为挖掘方法及装置
CN107835982A (zh) 用于在计算机网络中管理安全性的方法和设备
CN110012019A (zh) 一种基于对抗模型的网络入侵检测方法及装置
CN107517216A (zh) 一种网络安全事件关联方法
CN105376193B (zh) 安全事件的智能关联分析方法与装置
CN110020687B (zh) 基于操作人员态势感知画像的异常行为分析方法及装置
CN107392022A (zh) 爬虫识别、处理方法及相关装置
CN116662989B (zh) 一种安全数据解析方法及系统
CN114422224A (zh) 面向攻击溯源的威胁情报智能分析方法及系统
CN116996325B (zh) 一种基于云计算的网络安全检测方法及系统
CN103279476A (zh) 一种web应用系统敏感文字的检测方法及系统
CN111431883B (zh) 一种基于访问参数的web攻击检测方法及装置
CN107493275A (zh) 异构网络安全日志信息的自适应提取和分析方法及系统
Petersen Data mining for network intrusion detection: A comparison of data mining algorithms and an analysis of relevant features for detecting cyber-attacks
Hasan et al. Machine Learning and Data Mining Methods for Cyber Security: A Survey
CN110334510A (zh) 一种基于随机森林算法的恶意文件检测技术
Ambika An economical machine learning approach for anomaly detection in IoT environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171128

RJ01 Rejection of invention patent application after publication