从WEB安全的角度介绍hihttps如何通过机器学习自动生成对抗规则的5个过程
摘要: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访问的频率等。如下表所示:
第五,生成对抗规则
最后,hihttps收集了大量样本,并准确地给出了/hihttps?id=xxx token=xxx接口参数以生成对抗性规则,存储在规则目录中,并与传统的WAF的ModSecurity OWASP规则放在一起,以保护网站免受攻击。
以下都是被认为是攻击。只有机器学习才能检测到未知攻击,这对于网络安全专家而言很难做到。
相关热词搜索:WEB安全 hihttps 机器学习 自动生成对抗规则 重庆网络安全
上一篇:减少企业遭受Windows设备网络上的凭据转储攻击漏洞的五个技巧
下一篇:网站或软件系统上线前对注册功能的安全测试
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了