您现在的位置是:休闲 >>正文

系统漏洞的概念

休闲927人已围观

简介2017年,Equifax的Apache Struts服务器上有一个已知漏洞,补丁发布已有两个月。他们没打。结果1.47亿人的社保号、生日、住址被拖了个干净。这件事说明一个很朴素的问题:漏洞本身不可怕 ...

2017年,系统Equifax的漏洞Apache Struts服务器上有一个已知漏洞,补丁发布已有两个月。系统他们没打。漏洞结果1.47亿人的系统社保号、生日、漏洞住址被拖了个干净。系统这件事说明一个很朴素的漏洞问题:漏洞本身不可怕,可怕的系统是你知道它在那儿,却没当回事。漏洞

系统漏洞,系统说白了就是漏洞系统在设计和实现时留下的缺陷。这个缺陷可能被利用,系统让系统做出它本来不该做的漏洞事——泄露数据、执行恶意代码、系统绕过权限验证。注意,漏洞不是bug的同义词。bug是"程序没按你期望的方式运行",漏洞是"有人能利用这个偏差干坏事"。一个显示错位的bug不是漏洞,一个能让攻击者越权读取数据库的bug才是。

漏洞从哪来

代码是人写的。人就会犯错。缓冲区溢出、整数溢出、竞态条件、SQL注入——这些名字听起来专业,本质都是"没考虑到某种输入或某种时序"。比如SQL注入,就是把用户输入直接拼接到SQL语句里,攻击者输入一段精心构造的字符串,数据库就把不该给的东西全吐出来了。九十年代到两千年初,这类漏洞遍地都是。现在少了,但没绝迹。

还有一类漏洞不来自代码,来自设计。比如把敏感信息存在客户端、用可预测的token做会话标识、加密算法选错了模式。这些东西代码写得再规范也没用,因为方向就错了。修起来往往比代码漏洞更麻烦,得动架构。

第三类来自依赖。你用了一个第三方库,库里有洞,你的系统就有洞。Log4j那个事就是典型——一个Java日志库的漏洞,波及了全球无数系统。你甚至不知道自己用了它,因为它藏在某个框架的某个依赖链里。

漏洞不等于被攻击

有个概念叫攻击面。你的系统暴露的接口越多、开放的端口越多、接受的输入越复杂,攻击面就越大。漏洞是子弹,攻击面是靶子。没有靶子,子弹打不出去。很多内网系统有漏洞但没出事,不是因为它安全,是因为没人够得着。一旦那层网络隔离被突破,或者某个服务被暴露到公网,情况就完全不一样了。

另一个常被忽略的点:漏洞的价值取决于系统里有什么。一个只存天气预报的服务器有漏洞,攻击者可能懒得看一眼。一个存着几亿用户身份信息的数据库有同样的漏洞,那就是金矿。所以风险评估不能只看漏洞本身,得看它所在的资产值多少钱。

修补的困境

理论上,发现漏洞就打补丁,事情就结了。实际上没那么简单。打补丁意味着重启服务,重启意味着停机,停机意味着业务中断。大公司有变更窗口,小团队可能根本没有。有些老旧系统跑在特定硬件上,补丁不兼容,打了就崩。还有些系统是外包做的,源代码都拿不到,想修也修不了。

这就造成了一个尴尬局面:漏洞是已知的,补丁是现成的,但就是打不上去。Equifax不是不知道那个漏洞,他们内部扫描都扫出来了,只是没人在截止日期前完成修补。流程问题、沟通问题、优先级问题——技术问题最后往往卡在人的问题上。

我的判断

漏洞管理这件事,技术只占三成,剩下七成是流程和意识。扫描工具能告诉你哪里有洞,但决定先修哪个、什么时候修、谁来修,是管理问题。很多团队买了一堆安全设备,却连资产清单都没理清楚——你都不知道自己有什么系统,怎么知道哪些有漏洞?

漏洞不会消失。只要系统还在迭代,新的缺陷就会不断出现。能做的是缩短"漏洞存在"到"漏洞修复"之间的时间窗口。这个窗口越小,被利用的概率越低。没有绝对安全的系统,只有把风险控制在可接受范围内的系统。

Tags:

相关文章

  • 银行不法贷款中介专项治理所采取的措施

    休闲

    2023年那个春天,银保监会一纸通知下发到各家银行,点名要整治不法贷款中介。这事的导火索其实很直白——深圳某支行客户经理跟中介里应外合,把同一套房产在三个月内抵押了七次,套出资金四千多万,直到购房者断 ...

    【休闲】

    阅读更多
  • 渗透检测论文

    休闲

    去年冬天在北方某化工厂的检修现场,我蹲在一段不锈钢管道旁,看老师傅用喷罐往焊缝上喷红色渗透液。零下八度的环境里,渗透液刚接触金属表面就变得黏稠,像冻住的草莓酱。他等了足足十五分钟——比说明书标注的十分 ...

    【休闲】

    阅读更多
  • 光刃秘密进入隐蔽入口

    休闲

    凌晨两点四十分,一束光从通风井底部的裂缝里漏了出来。不是手电筒那种散射的泛光,而是一条被压扁的、边缘锐利的光刃,宽度不到三毫米。老陈蹲在井口,用拇指抹掉铁锈,那条光痕就贴在他的指腹上,像一根烧红的细线 ...

    【休闲】

    阅读更多


友情链接