从免费的网络应用防火墙hihttps谈机器学习之样本采集

  

hihttps是一款免费的网络应用防火墙,既支持传统的WAF的OWASP特征工程检查(如SQL注入,XSS,恶意漏洞扫描,密码破解,CC, DDOS等),也支持机器采集样本无监督学习,自主对抗,重新定义网络安全。今天笔者就从网络安全的角度,介绍机器学习之样本采集。

  

<强>一、究竟什么是web <强> ?
网络安全专家通常认为:网络恶意
很多是有其特殊的URL特征,如
恶意扫描/hihttps吗?猫…/?璖QL/etc/passwd
注入/hihttps吗?用户=123 ' or 1=1
XSS <强> /hihttps ?用户=& lt; script>警报(1);& lt;/script>
……这类
确实有非常典型的特征,传统的waf和规则就可以防御。

  

那么下面的URL呢?
/hihttps吗?用户=ls123
/hihttps ?用户=% 0 als
……准确说,这类网络安全专家也认为是正常的请求,或者说无法辨别是否恶意* * *。

  

问题就来了,像得到/hihttps吗?用户=ls123就一定是正常的请求吗?不一定。
比如cve - 2019 - 11043高位漏洞:向Nginx + PHP-FPM的服务器URL发送% 0 a时,可以执行任意远程命令,从而控制整个服务器。也就是说:得到/hihttps ?用户=% 0 als在某些环境就是一条成功的* * *,并且执行了linux的ls命令,如果服务器没安装Nginx + PHP,也可以认为是无害的。

  

再进一步,如果网站上根本没有hihttps这个接口,那就是恶意扫描,一定要检测出来并阻断。但传统的方法肯定不行了,那么机器学习将是唯一的办法。

  

<强>二、机器学习重新定义网络安全
和图形图像的机器学习相比,web安全采集样本的成本是最低的,因为只要把软件在服务器上运行即可采集,甚至读取网络日志文件,就可以拿到大量的样本,而成本几乎是0。
但<强> * * 样本太稀缺了,根本无法拿完并且日新月异,从这个角度也可以说无监督或者半监督学习,才是未来网络安全的发展方向。下面举例:

  

如果从web服务器上http://www.hihttps.com/hihttps.html?id=123,采集到的样本参数大于99.9%都是”? id=数字“这种形态,那么可以认为下面的网址都视为<强> :
http://www.hihttps.com/hihttps.html?id=123 ' or 1=1
http://www.hihttps.com hihttps.html ? id=& lt; script>警报(1);& lt;/script>
http://www.hihttps.com hihttps.html ? id=1234567890和123 t=
http://www.hihttps.com hihttps.html ? id=abc
后面两条网址,在传统的waf是不可能检测的,只有机器学习才能准确检测出
强。所以机器学习的核心是:不是我服务器上的东西,都视为非法<强> ,这样有可能阻止未知漏洞和未知 强。这样,web安全的概念和传统的特征工程完全不一样了,机器学习重新定义了网络安全。

  

<强>三,样本采集原则
1,足够的随机化,在不同的IP地址之间随机采集。
2,足够多的样本,保证99.99%的正确率,至少需要采集数万份的样本。
3,足够的时间,至少在不同的时间段采集3 - 7天的样本。
4,尽量是正常流量,样本没有被<强> * * 强污染。
5,完整的数据,样本包括全部的HTTP请求头和身体。

  

所以从web日志里面来读取样本数据是有限的,最好用WAF实际部署方式来采集。对于SSL加密的样本采集通常用反向代理方式采集,可以参考hihttps源码https://github.com/qq4108863
<强>四,总结
1,现在的网络<强> 都基于逻辑漏洞进行恰当的 强,传统的WAF规则很难对付未知漏洞和未知<强>
2,让机器像人一样学习,具有一定智能自动对抗APT
强或许是唯一有效途径。但* * *技术本身就是人类最顶尖智力的较量、网络安全仍然任重而道远,
3,幸好hihttps这类免费的应用防火墙在机器学习,自主对抗中开了很好一个头,未来网络安全很可能是特征工程+机器学习共同完成,笔者将在下一篇文章中介绍怎么从样本中提取特征,自动生成对抗规则,未来网络安全必然是AI的天下。

从免费的网络应用防火墙hihttps谈机器学习之样本采集