网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

web安全团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > web安全 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

从WEB安全的角度介绍hihttps如何通过机器学习自动生成对抗规则的5个过程

文章来源:重庆网络安全 发布时间:2020-02-18 14:37:04 围观次数:
分享到:

摘要:hihttps是一个免费的Web应用程序防火墙,支持无监督机器学习,自主对抗,重新定义Web安全性。从WEB安全的角度介绍hihttps如何通过机器学习自动生成对抗规则的5个过程。

  hihttps是一个免费的Web应用程序防火墙,支持无监督机器学习,自主对抗,重新定义Web安全性。从WEB安全的角度介绍hihttps如何通过机器学习自动生成对抗规则的5个过程。


一,样品采集


  就像图形图像中的人工智能一样,无论是有监督的还是无监督的,机器学习的第一步都是收集样本。Web安全在样本收集方面具有固有的优势,并且成本几乎为零。方法是:通过反向代理模式收集完整的HTTP协议数据,可以参考hihttps源代码https://github.com/qq4108863/hihttps/,示例需求如下:


  1.足够的随机化,在不同IP地址之间随机收集。


  2.足够的样本以确保99.99%的准确率,至少需要收集数万个样本。


  3.有足够的时间在不同的时间段收集至少3-7天的样本。


  4.尝试在正常流量下进行收集,以减少样本未被黑客污染的可能性。


  5.完整的数据,该示例包括所有HTTP请求标头和正文。

  hiihttp(基于机器学习的Web应用程序防火墙)如何工作? 例如,有一个网站界面。在正常情况下,可以通过http://www.hihttps.com/hihttps?id=xxx token=xxx访问它。Hihttps首先收集诸如URL参数之类的样本并将其保存在火车训练目录中。 该示例文件的主要内容如下:


GET /hihttps?id=123&token=2458-a632-3d56-a9bf


GET /hihttps?id=238&token=ce58-a49d-b767-68ed


GET /hihttps?id=523&token=2bd8-c4d2-d324-29b3


GET /hihttps?id=abc&token=2bd8-c4d2-d324-29b3


GET /hihttps?id=abc%20’or 1=1’


当采集到的样本数量,达到一定数量,hihttps机器学习引擎就开始启动滤噪。


二,滤噪


  在正常情况下,获得的绝大多数样本都是重复的,但是不排除样本被黑客入侵,也就是说,单个样本可能已被污染,在缩小尺寸和提取特征之前对https进行过滤。


  方法通常是聚类,将样本分为两类,并去除少于3%的样本。通常有以下几种方法:


  1:URL参数过滤。例如,它是/hihttps?id=xxx token=xxx,那么如果有小于1%的/hihttps?sql=xxx,则必须过滤此样本。


  2:URL长度过滤。通常,URL长度分布(均值μ和方差σ3)被过滤出Chebyshev不等式的范围。


  3:参数值长度过滤。通常,参数诸如tolken = xxx,其中xxx的长度分布,均值μ和方差σ3被过滤出切比雪夫不等式的范围。


  4:SQL注入过滤。使用libinjection库进行检查,并过滤满足SQL注入特征的示例。


  5:XSS攻击过滤。用libinjection库检查它。过滤符合XSS特性的样本。


  6:其他已知的攻击过滤。例如,ModSecurity的OWASP规则非常好。首先运行过滤。


  滤噪后,我们将样本分为正常样本和异常样本,它们分别是正常样本,如下所示:

 

  GET /hihttps?id=123&token=2458-a632-3d56-a9bf


  GET /hihttps?id=238&token=ce58-a49d-b767-68ed


  GET /hihttps?id=523&token=2bd8-c4d2-d324-29b3


  GET /hihttps?id=abc&token=2bd8-c4d2-d324-29b3


  很少有异常示例,如果怀疑有SQL注入攻击,请删除

  

  GET /hihttps?id=abc%20’or 1=1’

 

 整个过程在无人监督的情况下执行。可以使用的数学算法包括K-Mean,PCA,Chebyshev不等式,高斯混合模型GMM,稀疏矩阵...


三,降维


  降噪过滤之后最重要的步骤是降维,这是机器学习的核心。降维是将复杂的事物转换为向量,机器可以通过特定的数学算法来理解这些向量。降维方法分为线性降维(PCA,ICA LDA,LFA,LPP等)和非线性降维KPCA,KICA,KDA,ISOMAP,LLE,LE,LPP,LTSA,MVU等。


  如何使机器理解/hihttps?id=abc%20’or 1=1’是攻击吗? 在网络安全领域,它与图形图像完全不同。它主要涉及自然语言处理,尤其是文本识别。主要有以下模型:


  1.文字袋模型


  文本的降维本质上涉及文本表达的形式。在传统的词袋模型中,每个词都使用一热稀疏编码。假设目标语料库中有N个唯一确认的单词,则需要一个长度为N的字典。 字典中的每个位置都表示文本。出现一个字。在诸如单词频率,二进制,tf-idf等的特定特征表达式下,任何单词或文本都可以在N维向量空间中表示。通过此向量空间的表达式,机器学习算法可用于后续任务处理。


  此方法称为n-gram,它是指文本中出现的n个连续单词。当n为1、2和3时,它们也称为unigram,bigram和trigram。


  2.维度选择方法


  常用的是卡方和相互信息,例如统计测试方法;还有一些方法可以减小机器学习模型的尺寸。例如,使用随机森林或逻辑回归等模型,将在分类任务中具有较大特征重要性或系数绝对值较大的TOP特征选择为降维后的特征。


  3.主题模型


  主题模型同时具有降维和语义表达的效果,例如LSI,LDA,PLSA,HDP等统计主题模型。这些模型在低维空间中(在不同主题上)寻求文本的表达,并减少 尺寸,同时保留原始文本的尽可能多的语义信息。


  4.神经网络


  如卷积神经CNN,递归神经RNN等。


  理论可能有点复杂,因此让我们以4个示例为例:

  GET /hihttps?id=123&token=2458-a632-3d56-a9bf


  GET /hihttps?id=238&token=ce58-a49d-b767-68ed


  GET /hihttps?id=523&token=2bd8-c4d2-d324-29b3


  GET /hihttps?id=abc&token=2bd8-c4d2-d324-29b3


  降维的目的是让机器了解id是什么,令牌是什么以及攻击是什么。让我们首先定义一些稀疏编码:


  N:整数,0-9


  C:字符,a-z


  X:十六进制数字,0-9 a-f


  D:标点符号分隔符.-|


  ........

  GET /hihttps?id=123 token=2458-a632-3d56-a9bf 我们使用稀疏编码将其尺寸减小为id = N token= XDXDXDX,因此机器可以理解,哦,原始id是一个数字。


  当然,这是最简单的情况。实际场景可能很复杂。 例如,10.1是代表数字吗? 还是钱? 还是版本号? 您需要执行更多的参数关联操作(例如money = xx或version = xx)。 如果我们观察到参数id =大于99.9%的样本都是数字,则可以考虑GET / hihttps?  Id = abc是非法攻击,这是机器学习检测未知攻击的核心原理。


  实际生产环境中的情况更为复杂,因此要使机器达到网络专家的智能水平还有很长的路要走,但这是必然的发展方向。


四,特征提取


  下一步,hihttps将对正常流量执行数字特征提取和分析。通过统计大量样本的分布来建立数学模型,特征提取包括:URL参数的数量,参数值长度的均值和方差,参数字符分布,URL访问的频率等。如下表所示:

blob.png


第五,生成对抗规则


  最后,hihttps收集了大量样本,并准确地给出了/hihttps?id=xxx token=xxx接口参数以生成对抗性规则,存储在规则目录中,并与传统的WAF的ModSecurity OWASP规则放在一起,以保护网站免受攻击。


  以下都是被认为是攻击。只有机器学习才能检测到未知攻击,这对于网络安全专家而言很难做到。


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:WEB安全 hihttps 机器学习 自动生成对抗规则 重庆网络安全

上一篇:减少企业遭受Windows设备网络上的凭据转储攻击漏洞的五个技巧
下一篇:网站或软件系统上线前对注册功能的安全测试

热门资讯

鼠标向下滚动