凌晨两点,白帽我盯着屏幕上那行红色告警日志,和黑第无数次怀疑自己选错了行当。白帽攻击者的和黑IP来自一个南太平洋岛国,手法却老练得像在翻一本十年前的白帽安全教科书。他绕过了WAF,和黑试探了API接口,白帽最后停在一个我上周刚补上的和黑漏洞面前——那漏洞补得匆忙,连补丁本身都带着瑕疵。白帽
这行当里,和黑白帽和黑帽的白帽界限有时候比想象中模糊。我认识一个叫老周的和黑,白天是白帽银行的安全顾问,晚上在暗网论坛潜水。和黑他说他见过最厉害的白帽黑客,不是那些炫技的脚本小子,而是能在一个看似无懈可击的系统里,找到逻辑漏洞的人——那种漏洞不靠暴力破解,纯粹是设计者思维里的盲区。老周有次跟我喝酒,说:“咱们和他们的区别,其实就是一念之差。我要是把那个0day卖给黑市,够我十年不写代码。”
他说这话时眼睛没醉,清醒得很。我知道他去年拒绝过一个报价,对方开价七位数美元,买他手里一个关于某支付网关的漏洞。那漏洞是他业余时间发现的,上报厂商后,对方拖了三个月才修复。期间他守着那个秘密,像揣着一颗定时炸弹。后来他跟我讲,那三个月他每天失眠,怕有人比他先发现,更怕自己哪天忍不住。
黑帽那边的人,反而更直白。我追踪过一个叫“夜枭”的黑客,他的攻击记录干净利落,从不拖泥带水。他入侵过一家医院的数据库,没要赎金,只留下一个文档,指出系统里十七个安全漏洞,末尾写着:“修好它们,下次我不会这么客气。”医院报了警,但警方查了半年也没找到人。后来我在一个技术论坛上看到有人匿名发帖,分析那家医院的系统架构,角度刁钻得让人脊背发凉——那大概率是夜枭本人。他图的不是钱,是那种“我比你更懂你的系统”的征服感。
我自己的经历没这么戏剧化。刚入行时,我接了个私活,帮一家小电商公司做渗透测试。老板是个精明的中年人,听说我要测试他的系统,第一反应是:“你不会偷偷把我客户数据卖了吧?”我哭笑不得,签了保密协议,花了三天找到他后台一个弱口令漏洞——密码是“admin123”。我告诉他时,他愣了半天,说:“这密码是我儿子设的,他今年八岁。”我没收他尾款,只让他把密码改了。那之后他逢人就说我是“靠谱的白帽”,但我知道,那天我要是起了坏心,他那点家底根本不够看。
白帽和黑帽,其实共用同一套知识体系,同一批工具,甚至同一个暗网渠道。区别只在那个念头转不转得过去。我见过转过去的——一个前同事,技术顶尖,后来因为房贷压力,接了个黑产的单子,三个月后进去了。我去看守所看他,他隔着玻璃说:“我以为就干一票,没想到他们留了后手。”他哭得像个孩子。
所以你看,这帽子不是戴在头上,是戴在心里的。白帽的黑,是知道自己能做什么而不做;黑帽的白,是明知道后果却偏要试试那道线。我还在写代码,还在补漏洞,还在凌晨两点盯着告警日志。偶尔会想,如果那天我没忍住,现在会在哪?大概不会坐在这,写这些字给你看。