《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:如何快速确定某个位置上该用哪个单词来探测?p 经验自动化n 抽
7、取依据经验产生候选探测集n 根据探测结果修正预期n 记住该环境下的习惯性搭配n 应用在新payload中updatexml(1,concat)算法:推荐Wk-1Wk-wWk+wWk+1WkLSTMLSTMLSTMLSTMLSTMLSTMLSTMLSTMPoolingSoftmax开始被Block的数据集训练分类模型预测,阈值过滤探测,反馈新标签增量学习持续优化流程n 预训练词向量n 注意力机制n 推荐模型n 正负探测字符规约实验1.词向量训练2.种子payload生成3.规则探测&合并4.结果分析实验:词向量训练p 分词:按特殊符号分割,!,#,$,%,&,*,(,),-,+,=,|,:,;,
8、.,?,/p 训练参数:窗口大小:10嵌入维度:32迭代次数:20向量模型:Skip Gram词表大小:780实验:种子payload生成updatexml(1,concat(0 x23,(selectAttention+LSTMupdatexml(concat(selectuser(WAF种子种子实验:规则探测&合并updatexml(concat(selectuser(updatexml(!_0a_b!“0_aWbupdatexmla-zA-Z0-9_(推荐bupdatexmla-zA-Z0-9_*(实验:结果bupdatexmla-zA-Z0-9_*(bconcata-zA-Z0-9_*
9、(a-zA-Z0-9_*(a-zA-Z0-9_*selecta-zA-Z0-9_*(?i)bupdatexmlW*?(?i)bconcatW*?(?i)W*?(W*?selectbn 基于规则的检测模型:ModSecurity以及其他主流基于规则的WAF产品,拟合率在0.97以上n 实现无专家干预下的一键规则窃取场景启发p 该方法可适用的类似场景n风控规则策略:根据线上反馈探测打击边界,实现绕过p 该攻击难以覆盖的场景nWAF使用基线模型分析请求并比较与正常业务的偏离程度n基于AI的后端策略,该策略很难以正则表达式的形式显式输出p 启发n通过重写http响应以加深标签的不确定性,可以大大增加偷
10、窃的难度n公开收集的payload中包含的安全经验,可以指导攻击者有效地执行自动化测试研究展望p 秒拨IP对抗n防止探测次数过多导致被封IPn并行处理,缩短窃取时间p 语义模型&AI模型能力克隆n构建本地影子模型n合成数据增强研究展望p自动化Bypass实现1.应用文法将攻击payload分解成语法树2.语法树分解为子串3.初始训练集准备,对子串的排列组合形成的样本测试被WAF block的情况,获得原始标签4.利用监督学习决策树算法得到payload落在叶子结点上的决策路径5.机器学习驱动的进化算法测试策略:使用经典的基于种群的(+)EA进化算法生成后代,使用决策树(随机森林)分类结果作为适应度函数评判后代质量基于GAN/Seq2Seq/EA/强化学习等模型的 Bypass payload自动生成基于进化算法的Bypass实现