有关漏洞的信息
2021年12月,有关Apache Log4j2被爆出一个远程代码执行漏洞,漏洞编号CVE-2021-44228。有关这个库几乎无处不在——Minecraft服务器、漏洞苹果iCloud、有关Steam平台,漏洞甚至美国国家安全局的有关某个内部系统。攻击者只需构造一段特定字符串,漏洞就能在目标服务器上执行任意代码。有关那几天,漏洞全球安全团队通宵打补丁的有关场景,我到现在还记得。漏洞 漏洞这词听起来抽象,有关说白了就是漏洞系统里的一个口子。这个口子可能是有关代码写错了,可能是设计时没想周全,也可能是配置疏忽。它不是病毒,不是木马,而是让这些东西能钻进来的那道缝。一个系统只要足够复杂,几乎不可能没有漏洞。Windows每年修复几百个,Chrome的漏洞赏金计划一年支出几百万美元,这还只是被发现的。 漏洞有几种常见类型。缓冲区溢出算是最经典的一种,程序往一个固定大小的内存区域里塞了超量的数据,多出来的部分覆盖了相邻的内存,攻击者精心构造数据就能操控程序执行流程。SQL注入是另一类,网站没过滤用户输入,攻击者在输入框里填一段SQL语句,数据库就乖乖把不该给的数据吐出来了。还有跨站脚本、权限提升、竞态条件,每一种都有对应的利用手法和防御策略。 发现漏洞的人分几类。安全研究员出于兴趣或学术目的去挖,企业内部的攻防团队自己找自己的问题,还有一类是恶意攻击者,他们找到漏洞后不会公开,而是拿去卖钱或者直接利用。漏洞黑市上,一个iOS的远程越狱漏洞能卖到两三百万美元。防守方永远在追赶,因为攻击者只需要找到一个入口,而防守方要堵住所有入口。 补丁管理是个头疼的事。理论上,厂商发布补丁,用户安装,问题解决。实际上呢?很多企业系统不能随便重启,老旧设备没人维护,还有人担心补丁本身引入新问题。2017年的WannaCry勒索病毒,利用的是微软早在两个月前就修复的漏洞。那些没打补丁的机器,成了病毒的温床。医院、学校、企业的电脑一台接一台被加密,屏幕上弹出索要比特币的窗口。 漏洞披露也有讲究。负责任披露是指发现者先通知厂商,给厂商一段时间修复,然后再公开细节。这个窗口期通常是90天。但厂商拖延怎么办?有些研究员会选择直接公开,逼厂商行动。这种做法有争议,但确实有效。Google的Project Zero团队就干过好几次这种事。 普通人能做什么?其实不多,但也不是完全没有。及时更新系统和软件,别关自动更新。别用来路不明的软件,别点奇怪的链接。企业层面要做的事就多了:定期扫描、渗透测试、最小权限原则、网络分段。安全不是买一个防火墙就完事了,它是一个持续的过程。 漏洞不会消失。代码是人写的,人就会犯错。我们能做的,是让犯错的成本低一点,让修复的速度快一点,让攻击者的窗口小一点。这场猫鼠游戏没有终点,但至少别当那只睡着的老鼠。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-