您现在的位置是:综合 >>正文
自始漏洞和嗣后漏洞
综合3人已围观
简介安全研究员老周给我看过一份漏洞报告,标题写着“Apache Log4j2 远程代码执行——影响版本2.0-beta9到2.14.1”。他指着日期说:“你注意看,这个洞是2013年就埋进去的,但直到20 ...
安全研究员老周给我看过一份漏洞报告,自始标题写着“Apache Log4j2 远程代码执行——影响版本2.0-beta9到2.14.1”。漏洞他指着日期说:“你注意看,和嗣后漏这个洞是自始2013年就埋进去的,但直到2021年才被公开利用。漏洞八年里,和嗣后漏代码一直在跑,自始没人觉得它有问题。漏洞”
这就是和嗣后漏自始漏洞的典型——漏洞从代码诞生的那一刻就存在,像基因里的自始缺陷,先天带病。漏洞Log4j的和嗣后漏开发者当初写那行查找日志的代码时,绝对没想过JNDI注入这回事。自始他只是漏洞在实现一个“方便”的功能,允许日志里引用外部变量。和嗣后漏方便和危险常常是同一枚硬币的两面。自始漏洞的可怕之处在于,它随着软件发布被复制到成千上万个系统里,像潜伏的癌细胞,平时毫无症状,一旦被触发就是致命打击。
嗣后漏洞则完全是另一回事。代码刚写出来的时候是安全的,逻辑正确,边界检查到位。但环境变了,依赖的库升级了,协议栈改变了,或者某个新功能被叠加上去——原来的安全假设被打破了。我见过一个内部系统,2015年上线时用HTTP基本认证,那时候内网隔离做得好,没问题。到了2019年,公司上云,系统直接暴露在公网,但认证机制没跟着升级。密码还是明文传输,只是没人意识到“内网环境”这个前提已经消失了。
嗣后漏洞更像是一种“生态位变化”导致的疾病。就像某种细菌在肠道里无害,但跑到血液里就致命。代码没变,变的是它生存的环境。2014年Heartbleed漏洞本质上是自始漏洞——OpenSSL的heartbeat扩展从设计上就没做边界检查。但同年曝光的Shellshock,Bash的漏洞其实可以追溯到1989年版本,也是自始的。有趣的是,很多嗣后漏洞往往源于自始漏洞的“延迟引爆”——Log4j那个洞,如果当初没有加入lookup功能,就不会有后来的灾难。但真正让它从“潜在风险”变成“现实威胁”的,是云原生架构下日志系统的广泛网络接入。
区分这两类漏洞有什么实际意义?意义在于修复策略完全不同。自始漏洞需要重写设计,回看当初的假设是否成立。嗣后漏洞则要审视系统边界和依赖关系,可能需要的是架构调整而非代码修补。我见过太多团队拿着CVE列表逐个打补丁,却不问一句“这个洞为什么会出现”。结果是,自始漏洞修了表面,深层问题还在;嗣后漏洞补了当前,下个环境变化又冒出来。
安全不是一次性的审计,而是一个持续跟环境博弈的过程。代码写完那一刻的安全,只是起点。
Tags:
相关文章
asp源码本地测试工具
综合本地测试ASP源码,最烦的就是环境配置。IIS装起来麻烦,Windows版本还挑三拣四,XP能用7不一定行,7能跑的10又出幺蛾子。我见过太多人卡在这一步——源码下载好了,数据库也导入了,结果浏览器一 ...
【综合】
阅读更多在线搜索引擎
综合```html 在线搜索引擎 body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helve ...
【综合】
阅读更多乔哥瞧瞧你
综合乔哥上周把手机递过来,屏幕上是他刚拍的短视频——一只橘猫蹲在冰箱顶上,爪子扒拉着半包薯片。他问我:“你说这玩意儿能火不?”我看了眼播放量,三百多。他叹了口气,把手机揣回兜里,说算了,还是老老实实拍他的 ...
【综合】
阅读更多