文|宙斯盾流量安全分析团队
晨晨、彦修
背景
长期以来,Web管理后台一直是攻击者觊觎的目标。部分信息安全意识薄弱的业务在未作任何安全加固(设置IP白名单、强口令、二次认证、验证码、请求频率审计等)的情况下直接将Web管理后台暴露到互联网,而管理后台由于本身的管理和敏感属性,外部一旦攻击成功,则极大可能造成数据泄露和服务器被入侵。
所以,Web管理后台的检测一直是Web漏洞扫描器规则中比较重要的组成部分,而传统识别方法基于关键字,误报和漏报的问题比较突出,规则一旦形成,除非人为更改,否则长期处于停滞状态,灵活性较差。此外目前大量网站基于动态网页进行展示,传统扫描器如果不进行JS渲染,则漏报严重;而逐个渲染,则时间花销大、成本又非常高。
于是我们将目光转向利用机器学习来识别Web管理后台。此外,笔者所在的团队是基于流量来进行安全分析建设工作的,所以如何利用流量的优势实现对Web管理后台的识别,也是本文一大重点。
传统 VS AI
在介绍具体机器学习的时候我们可以先思考一个非常简单的问题,怎么识别phpinfo页面呢?
答案很简单,我们通常会找一些页面特征作为规则去匹配响应。但是如果针对下图中的页面怎么判定是否为风险呢?
图片源自spring actuator
我们当然也可以选择其中一些字段作为关键字去匹配。但是随着业务拥抱开源,这些页面层出不穷,与此同时,他们的规则也不尽相同,如果每次都需要人工制定规则,其消耗无疑是巨大的。同理,Web管理后台的种类也纷繁复杂,这也就是我们为什么要利用机器学习来识别Web管理后台和高危页面的原因。
机器学习方案由于不依赖关键字,具有良好的泛化能力,能识别传统基于关键字方案漏报的部分;同时,模型可通过不断迭代自进化,灵活度高;在识别能力上,机器学习模型是通过综合学习多维特征,建立各维度关联关系,