从免费的WEB应用防火墙hihttps谈机器学习之生成对抗规则过程

来源:岁月联盟 编辑:猪蛋儿 时间:2020-03-16
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是什么,token又是什么,什么情况是攻击。我们先来定义一些稀疏编码:
N:整数,0-9
C:字符,a-z
X: 16进制数字,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)。如果我们观察到的样本,大于99.9%的参数id=都是数字,就可以认为GET /hihttps?id=abc就是一条非法攻击,这就是机器学习能够检测未知攻击的核心原理。
实际生产环境中情况更复杂的,所以让机器达到网络专家的智能水平,还有很长的路要走,但这是必然的发展方向。
四、特征提取
下一步,hihttps就是对正常流量进行数值化的特征提取和分析。通过对大量样本进行特征分布统计,建立数学模型,特征提取包括:URL参数个数、参数值长度的均值和方差、参数字符分布、URL的访问频率等等。如下表所示:
类别
序号
特征名称
特征描述
语法特征
1
URL_len
URL 长度
2
Path_len
路径长度
3
Path
路径最大长度
4
Path_Maxlen
路径平均长度
5
Argument_len
参数部分长度
6
Name_Max_len
参数名最大长度
7
Name_Avglen
参数名平均长度
8
Value_Max_len
参数值最大长度
9
Value_Avg_len
参数值平均长度
10
Argument_len
参数个数
11
String_Max_len
字符串最大长度
12
Number_Maxlen
连续数字最大长度
13
Path_number
路径中的数字个数
14
Unknow_len
特殊字符的个数
15
Number_Percentage
参数值中数字占有比例
16
String_Percentage
参数值字母占有比例
17
Unkown_Percentage
参数值中特殊字符的比例
18
BigString_Percentage
大写字符所占比例
19
Spacing_Precentage
空格字符所占比例
领域特征
19
ContainIP
参数值是否包含IP
20
Sql_Risk_level
SQL 类型危险等级
21
Xss_Risk_level
Xss 类型危险等级
22
Others_Risk_level
其他类型危险等级
五、生成对抗规则
最后hihttps通过大量的样本采集,精确给这个/hihttps?id=xxx&token=xxx接口参数,生成对抗规则,保存在rule目录下,和传统WAF的ModSecurity的OWASP规则放在一起,保护网站不被攻击。
下面的一律视为攻击,只有机器学习才有可能检测未知攻击,这是网络安全专家也难以做到的。
GET /hihttps?id=123    参数缺失
GET /hihttps?id=abc&token=2458-a632-3d56-a9bf   id参数不对
GET /hihttps?admin=%0acdef         未知攻击
……..
最后总结如下:
1、整个过程完全是无监督的机器学习,有些特殊的参数,也可以由网络安全专家人为干预半监督,从而从99.9%到100%准确率的进化。
2、传统的waf规则很难对付未知漏洞和未知攻击。让机器像人一样学习,具有一定智能自动对抗APT攻击或许是唯一有效途径,但黑客技术本身就是人类最顶尖智力的较量,WEB安全仍然任重而道远。
3、幸好hihttps这类免费的应用防火墙在机器学习、自主对抗中开了很好一个头,未来web安全很可能是特征工程+机器学习共同完成,未来WEB安全必然是AI的天下。
 

上一页  [1] [2]