娱乐

漏洞如何

时间:2010-12-5 17:23:32  作者:娱乐   来源:知识  查看:  评论:0
内容摘要:2017年9月,Equifax公布了一起数据泄露事件。1.43亿美国人的姓名、社会安全号、出生日期、住址被拖走。事后复盘,问题出在一台跑着Apache Struts的服务器上——一个早已发布补丁的漏洞

2017年9月,漏洞何Equifax公布了一起数据泄露事件。漏洞何1.43亿美国人的漏洞何姓名、社会安全号、漏洞何出生日期、漏洞何住址被拖走。漏洞何事后复盘,漏洞何问题出在一台跑着Apache Struts的漏洞何服务器上——一个早已发布补丁的漏洞,没人去打。漏洞何

这事有意思的漏洞何地方不在于漏洞本身。Struts那个远程代码执行漏洞(CVE-2017-5638),漏洞何补丁在泄露发生前两个月就放出来了。漏洞何真正的漏洞何问题出在运维流程里:一台服务器被遗漏了。就一台。漏洞何然后1.43亿人的漏洞何数据从这一个口子流出去。

漏洞这东西,大多数人理解成技术问题。代码写错了,逻辑有缺陷,边界没检查。对,但不全对。技术漏洞只是入口,真正让漏洞变成灾难的,往往是人的流程、组织的惯性、以及“应该没问题”这五个字。

一个漏洞的生命周期比你想的长

2014年,OpenSSL爆出Heartbleed。这个漏洞在代码库里躺了两年多才被发现。两年。全球大量HTTPS流量依赖OpenSSL,而那段有问题的代码被无数人 review 过,没人看出来。

更早的例子是Windows的MS08-067。2008年微软发了补丁,但大量企业没打。结果2017年WannaCry勒索病毒用的就是这个漏洞——一个九年前的洞,横扫150个国家,英国NHS的医院系统直接瘫痪,手术取消,病人转院。

你看到规律了吗?漏洞被修复的时间和漏洞被利用的时间之间,存在一个巨大的灰色地带。这个地带里,攻击者比防御者跑得快。

不是所有漏洞都值得修

说句可能不太中听的话:不是每个漏洞都需要立刻修。CVSS评分9.8的漏洞,如果跑在一台内网隔离的、没有敏感数据的测试机上,优先级可能低于一个评分6.5但暴露在公网、连着数据库的漏洞。

问题是,很多团队的漏洞管理逻辑是“按评分排序,从上往下修”。这听起来合理,实际上偷懒。真正的风险评估要看:这台机器能碰到什么?谁在访问它?被攻破之后的横向移动路径是什么?

我见过一个团队,花了三周去修一个内部Wiki的XSS漏洞,同期他们的VPN网关跑着一个已知的认证绕过漏洞没管。理由?“扫描器给Wiki标的分数更高。”这种判断方式,说难听点,就是把安全交给了工具的默认配置。

漏洞的本质是预期差

代码的逻辑是“我设计它做A”,攻击者的逻辑是“我让它做B”。漏洞就诞生在这个缝隙里。

缓冲区溢出是经典案例。程序员分配了一块内存,预期输入不会超过这个大小。攻击者偏要超。多出来的数据覆盖了相邻的内存区域,程序的控制流就被改了。这个原理从1988年的Morris蠕虫到现在,本质上没变过。

SQL注入也一样。开发者预期用户输入的是用户名,结果对方输入的是 ' OR 1=1 --。数据库把这段当指令执行了。预期和现实之间的落差,就是漏洞。

所以修漏洞不只是打补丁。打补丁修的是已知的、具体的那个点。但如果你不理解“为什么会产生这个漏洞”,下一个变种还会绕过你。

人的因素永远最大

回到Equifax。事后调查发现,除了那台没打补丁的服务器,他们的证书过期了——导致加密流量无法被检测。入侵检测系统因为证书问题,没看到异常流量。数据在系统里待了76天才被发现。

三个环节,每一个单独看都是“小问题”。证书过期?续一下就好。一台服务器漏了?补上就行。但三个小问题叠在一起,构成了完整的攻击链。

漏洞管理最难的部分从来不是技术。是让一个几百人甚至几万人的组织,在每一天、每一台机器上,都保持一致性。人会疲劳,流程会僵化,优先级会打架。攻击者只需要找到一个缝隙。

你防不住所有漏洞。但你可以让攻击者的成本高到不值得。这不是一个技术目标,是一个组织目标。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap