《Deep X-Ray- 一种机器学习驱动的WAF规则窃取器(29页).pdf》由会员分享,可在线阅读,更多相关《Deep X-Ray- 一种机器学习驱动的WAF规则窃取器(29页).pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、Deep X-Ray:一种机器学习驱动的WAF规则窃取器XunSuXunSu腾讯朱雀实验室AI安全研究员KeyunLuoKeyunLuo腾讯朱雀实验室AI安全研究员团队介绍XunSu-10年安全从业经验-专注于java安全和渗透测试-现从事AI辅助攻击方面的研究工作KeyunLuo-4年安全AI研究经验-擅长自然语言处理、数据挖掘安全平台部朱雀实验室安全平台部下设的安全实验室,致力于开展实战级别的APT攻击和AI攻击技术研究,以攻促防,守护腾讯安全WAF规则逆向的意义n 复制WAF的防护能力n 更容易构造出绕过WAF的Payload提出问题如何逆向出WAF规则?逆向规则的原理和方法(?i)bu
2、pdatexmlW*(RegexBlockPassw0-9a-zA-Z_!#.W!#.0-9a-zA-Z_d0-9a-zA-Z_!#.Da-zA-Z_!#.0-9s fnrtv 0-9a-zA-Z_!#.S0-9a-zA-Z_!#.fnrtv b1aA_!#$%&*()逆向规则的原理和方法n 找出最小匹配单元作为种子payload,例如updatexml(n 构造正负样本payload测试规则得到反馈,推出正则单元n 最后将推测出的正则单元合并得到WAF规则n 另外构造一批正负样本,测试推测出的WAF规则是否严谨步骤一:测试最小匹配单元(种子payload)正反馈updatexml(block
3、updatexml()block(updatexml(block负反馈updatexmlpasspdatexml(pass+updatexml(推出临界点步骤二:测试边界合并正则单元正反馈updatexml/*/(blockupdatexml!(blockupdatexml(block负反馈updatexml1(passupdatexmla(passupdatexml_(passupdatexml/*!123*/(pass+Wupdatexml(blockUpdaTeXml(block正反馈updatexml(blocka updatexml(block(updatexml(block负反馈1
4、updatexml(passaupdatexml(pass_updatexml(pass+b(?i)(?i)bupdatexmlW*(合并已知规则构造绕过payloadupdatexml/*!50000(*/1,concat(0 x23,(select user(),0 x23),1)(?i)bupdatexmlW*(思考:可以自动化完成吗人工探测的不足之处n 依赖攻击者的技术水平n 重复工作,耗时耗力难以大规模展开n 细节方面很容易疏漏n 人工经验难以覆盖全量的攻击payload机器学习的优势n 有限的人工介入n 善于从数据中学习规律n 可以批量的自动化运行解决方案数据算法探测+自动化输出规
5、则+数据bexecute(ordersby(?i)ds+groups+by.+(1 group by abc(a1 group by abc(b1groupby abc(遍历规则数据re.sre_parse.parse(rbupdatexmlW*().dump()updatexml(updatexml!(updatexml(1updatexml(updatexml2(_updatexml(算法问题1:如何学习payload中包含的安全经验?p 自动化提取Payload的文本特征n 搭配用法n 相似用法算法:预训练模型词向量模型n 方式:无监督学习n 任务:预测中心词/邻居词算法问题2:如何自动
6、化产生用于推测的种子payload?p 控制变量,便于探测n 子序列抽取updatexml(1,concat(0 x23,(select user(),0 x23),1)updatexml,concat,select,user算法:注意力机制当一个人在吵闹的鸡尾酒会上和朋友聊天时,尽管周围噪音干扰很多,他还是可以听到朋友的谈话内容,而忽略其他人的声音。同时,如果未注意到的背景声中有重要的词(比如他的名字),他会马上注意到。什么是注意力机制算法:注意力机制注意力机制:n 计算每个单词对结果的重要性n 缩小搜索空间和尝试次数算法问题3:如何快速确定某个位置上