华为漏洞扫描
华为的漏洞网络安全实验室里,工程师打开了一个叫“天镜”的扫描扫描平台。这个动作本身没什么特别,漏洞但屏幕上跳出来的扫描数据让人停了一下——某省运营商的5G核心网网元,在三个小时内被扫出了一百多个高危漏洞。漏洞其中一条是扫描SSH服务配置缺陷,攻击者能直接拿到网元的漏洞root权限。这不是扫描演习,是漏洞华为安全团队日常做的一件事:给自家设备和客户网络做漏洞扫描。
很多人以为漏洞扫描就是扫描跑个工具、等报告。漏洞实际远没这么简单。扫描华为的漏洞扫描对象分好几层:底层是基站和路由器这类硬件设备,中间是扫描云平台和操作系统,上层是漏洞业务应用和API接口。不同层用的扫描策略完全不同。拿基站来说,它跑的是嵌入式系统,资源有限,不能随便装扫描代理,得靠远程指纹识别和协议模糊测试来挖问题。而云平台那边,华为会直接部署分布式扫描节点,模拟上万并发请求去压测API网关。
我翻过一份华为内部的技术简报,里面提到一个案例。2022年,某海外运营商的核心网出现异常流量,华为安全团队介入后,用自研的协议逆向工具扫了一遍信令面。结果发现是GTP协议的一个解析漏洞,攻击者能伪造计费消息,导致运营商每月损失几十万美元。这个漏洞不是靠通用扫描器发现的,而是华为把协议状态机拆开,逐条构造异常报文测出来的。通用工具扫不出来,因为GTP协议太专用,没有现成的漏洞库匹配。
华为做漏洞扫描有个特点:不只看已知CVE,更看重逻辑漏洞。CVE是公开的,补丁一打就完事。但逻辑漏洞比如权限绕过、越权访问、竞态条件,这些得靠人工分析代码和流量。华为内部有个“红蓝对抗”机制,蓝军负责扫描和防御,红军负责攻击。每次扫描前,蓝军会先拿到一份“攻击面清单”——哪些端口开了、哪些服务在跑、哪些接口没鉴权。然后逐项测。有个工程师跟我说,他们扫一个云管理平台时,发现某个内部API没做鉴权,但外部访问不了。按理说算低危,可他们顺着这个API往下挖,发现它能调另一个内部服务,最终能拿到数据库凭证。一条链下来,低危变高危。
扫描频率也是个事。华为对现网设备通常每季度扫一次,但新版本发布前会做全量扫描。有个细节:他们扫描时会避开业务高峰期,因为有些扫描动作会触发设备CPU飙升。比如对路由器做SNMP暴力破解测试,并发一高,管理面就卡死。所以华为的扫描工具内置了“业务感知”模块,先读设备的CPU和内存水位,再动态调整扫描速率。这个设计挺实在,不是光讲技术,得考虑现网能不能扛住。
说到工具,华为内部用的不全是商用扫描器。他们自研了一个叫“SecScan”的框架,底层集成了Nmap、Nessus的引擎,但上面套了一层编排层。编排层干嘛的?把扫描任务拆成小步骤,每个步骤的结果喂给下一步。比如先扫端口,发现80端口开了,就自动调Web扫描模块;发现Web用了Struts2,就自动调Struts2的专用检测插件。这种流水线式的扫描,比一次性跑完所有插件要准。误报率能降三成左右。
不过漏洞扫描这事,扫出来只是第一步。华为内部有个规矩:扫出的漏洞必须48小时内定级,高危的24小时内出修复方案。有次扫出一个华为自家路由器的固件漏洞,CVSS评分9.1。安全团队直接拉了个群,把固件开发、测试、产品线的人全拽进来。当天晚上就出了临时补丁,第二天推给客户。这种响应速度,靠的不是流程多完美,而是扫得准、定级快、责任到人。
最后说个观察。华为做漏洞扫描,其实是在给自己“找麻烦”。设备卖出去,扫出漏洞就得修,修就得推固件,推固件就得协调运营商窗口期。成本不低。但任正非早年说过一句话:“网络安全是华为的生存底线。”这话听着像口号,可落到扫描这件事上,就是一个个具体的IP、端口、协议报文。扫得细不细,直接决定客户网络是铁桶还是筛子。