漏洞概念
2017年5月,漏洞概念一个叫Marcus Hutchins的漏洞概念英国程序员在自家卧室里按下了键盘上的回车键,全球十几万台被WannaCry勒索病毒锁死的漏洞概念电脑瞬间停止了倒计时。他找到的漏洞概念是一个漏洞——病毒代码里用来连接控制服务器的域名根本没被注册。他花8英镑注册了那个域名,漏洞概念勒索链条就断了。漏洞概念
漏洞这个词听起来很技术,漏洞概念但它的漏洞概念本质极其朴素:系统设计者没想到的地方。不是漏洞概念错误,不是漏洞概念故障,是漏洞概念“没想到”。WannaCry的漏洞概念作者没想到有人会去查那个域名。一个价值数十亿美元的漏洞概念全球勒索事件,被一个“没想到”终结了。漏洞概念
漏洞不是漏洞概念bug
很多人把漏洞和bug混着用,其实两回事。bug是代码写错了,比如把“>”写成了“<”,程序跑起来就出错。漏洞是代码没错,逻辑也没错,但有人能利用这个正确的逻辑做设计者没打算让它做的事。
举个例子。一个网站登录功能,代码写得完美无缺,密码验证严密。但它允许你无限次尝试密码。代码没写错,功能正常。可攻击者可以用程序每秒试一万个密码,这就是漏洞。设计者没想到“有人会这么有耐心”。
所以漏洞更像是一扇设计图纸上没画的门。房子本身没塌,墙也没裂,但有人找到了那扇门,推开门进去了。
漏洞的三种面孔
技术漏洞是最常被讨论的。缓冲区溢出、SQL注入、跨站脚本,名字听着唬人,核心都是同一件事:系统对输入的信任超过了它应该给的额度。你让用户填名字,用户填了一串代码进去,系统照单全收还执行了。信任给多了。
流程漏洞更隐蔽。银行转账要U盾,但修改绑定手机号只需要短信验证码。攻击者先改手机号,再用新手机号收验证码转账。每个环节都合规,合在一起就是个洞。这种漏洞代码审计查不出来,得把整个业务流程摊开看才能发现。
人性漏洞最难补。有人打电话自称IT部门,说你的账户有异常需要重置密码,你信了,把密码给了。这不是技术问题,是人的判断被绕过了。钓鱼邮件至今是最有效的攻击手段之一,因为人比代码好骗。
补漏洞这件事
微软每个月的第二个星期二发安全补丁,IT圈叫“补丁星期二”。系统管理员那天通常不太平。2021年12月,Log4j漏洞爆发,一个Java日志库的漏洞影响了全球数百万台服务器。安全团队连夜加班,有的公司花了两周才把所有受影响的服务升级完。
补漏洞的麻烦在于:你永远不知道还有多少没被发现的。安全圈有个说法叫“未知的未知”——你知道有些漏洞存在但还没找到,这叫“已知的未知”;你连存在都不知道的,叫“未知的未知”。后者最要命。
我个人觉得,漏洞这个概念最有意思的地方在于它揭示了所有系统的共同命运:只要是人造的,就一定有没想到的地方。区别只是有没有人去找,以及找到之后用来做什么。Hutchins找到了WannaCry的漏洞用来终止勒索,另一些人找到漏洞用来发起勒索。同一个洞,不同的手。
所以漏洞不只是一个技术概念。它是系统与意图之间的缝隙,是设计者视野的边界,是信任被兑现或背叛的临界点。每个系统都有,每个系统都在补,每个系统都补不完。









