漏洞扫描与渗透测试
去年有个客户找我,漏洞说他们刚做完等保测评,扫描渗透报告上写着"高危漏洞12个",测试问我是漏洞不是得赶紧买台WAF。我问他扫的扫描渗透哪个段,他说全内网。测试我又问扫的漏洞时候业务停了吗,他说没有。扫描渗透问题就出在这儿——那次扫描把生产数据库的测试CPU跑满了,订单系统瘫了四十分钟,漏洞而报告里那12个"高危"有9个是扫描渗透误报。
漏洞扫描和渗透测试经常被混为一谈,测试尤其在采购清单里,漏洞俩词儿恨不得写在同一行。扫描渗透但干过活的测试人知道,这俩东西的差别比"体检"和"审讯"还大。扫描器是拿已知特征库去比对,像保安拿着通缉令挨个查脸;渗透测试是人坐在你对面,观察你怎么倒水、怎么接电话,然后试着从你裤兜里把钥匙摸出来。
扫描器的优势是快、便宜、覆盖广。Nessus、OpenVAS、AWVS这些工具,配置好策略,一晚上能跑完C段。但它的输出质量取决于两件事:特征库更新频率,以及扫描策略是否贴合业务。我见过有人拿默认策略扫工控网络,Modbus协议被当成开放端口报了一堆"未授权访问",其实那玩意儿本来就不做认证。误报率一高,运维就麻木了,真漏洞也当狼来了。
渗透测试反过来。一个靠谱的测试人员,两三天可能只测一个系统。他得先摸清业务逻辑——比如这个优惠券接口,正常用户只能领一张,但你把手机号里的"1"改成"l"呢?扫描器永远发现不了这种问题,因为它不知道"一卡一券"是业务规则。去年某电商的羊毛党事件,根子就在这儿:券码生成算法被逆向了,扫描器扫一百遍也扫不出来,得有人蹲在那儿手动重放请求、比对响应差异。
成本差着量级。扫描器按IP或按年授权,几千到几万;渗透测试按人天算,一个中级工程师一天三五千,测个中等系统没五万下不来。所以合理的做法不是二选一,而是分层。日常用扫描器做基线核查,新系统上线前、重大变更后、或者涉及资金交易的模块,再上人工渗透。我自己的习惯是:扫描报告先过一遍,把误报剔掉,剩下的可疑点交给渗透测试去验证。反过来,渗透测试发现的新漏洞模式,回头写成扫描器自定义策略,下次自动查。
有个坑得提一句:别让扫描器碰生产环境。尤其是带爬虫功能的工具,它会顺着链接把"删除订单"这种按钮也点一遍。测试环境跑扫描,渗透测试如果必须碰生产,提前写好回滚方案,并且避开业务高峰。我一般选凌晨两点到五点,还得跟值班运维说好,看到CPU飙到80%别急着重启。
最后说个观察。很多团队买扫描器是为了应付合规,报告往柜子里一锁就完事。但真正出问题的系统,往往不是没扫出漏洞,而是扫出来了没人修。漏洞管理流程比工具贵得多,也重要得多。一个每月手动复测的Excel表,有时候比一套自动化平台更管用——因为有人真的在看。
本文地址:http://www.79wt.cn/news/1699c1499816.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。