为何修复 Shellshock 漏洞像打地鼠

news/2024/7/23 9:24:10

GNU Bourne Again Shell(bash)的Shellshock漏洞影响了广泛使用bash的Unix/Linux服务器,由于它允许远程执行代码获得与系统管理员相同的 权限去控制系统而被认为破坏力超过Heartbleed。而更糟糕的是,bash官方补丁没有完全修复问题。为何修复Shellshock漏洞就像打地鼠, 堵了一头另一头又冒出?Shellshock漏洞的工作原理是:攻击者可以向任何使用bash交互的系统如Web服务器、Git版本控制系统和DHCP客 户端发送请求,请求包含了以环境变量储存的数据。

环境变量就像是操作系统的剪切板,储存了帮助系统和软件运行的信息。在本案例中,攻击者发送的请求是精心 构造的,诱骗bash将其视为命令,bash像平常执行良性脚本那样执行命令。这种欺骗bash的能力就是Shellshock漏洞。官方发布的补丁被发 现仍然存在相似的漏洞。

计算机科学家David A. Wheeler在 邮件列表上指出,bash的解析器存在许多漏洞,因为它在设计时就没有考虑过安全性,除非它停止解析环境变量,否则修正就像是打地鼠。Wheeler建议 打上非官方的补丁修正bash,这些补丁会破坏向后兼容性。其中一个补丁来自德国计算机安全专家Florian Weimer,他的补丁为bash函数加入前缀,防止它们被指明为系统变量。另一个补丁来自NetBSD开发者Christos Zoulas博士,他的补丁只允许bash在收到明确请求时输入环境变量,消除安全风险。

FreeBSD的bash实现则在最新的修正中默认关闭了输入功能。Wheeler等人相信,虽然破坏了向后兼容性,但不会影响太多的bash依赖系统。苹果的OS X系统也存在Shellshock漏洞, 苹果表示大部分用户不会面临风险,只有配置了advanced UNIX services的用户会受到影响。OS X使用了v3.2.51.(1)的GNU bash,新版本bash许可证换到了条款更严格的GPLv3,所以苹果仍然使用旧版本。

文章转载自 开源中国社区 [http://www.oschina.net]


http://www.niftyadmin.cn/n/3093642.html

相关文章

highcharts一点理解

最近使用到图表, Echarts,Highcharts,这2大图表还是非常优秀的图表库,在这里我就简单的讲下Highcharts图表的使用和理解。 博主第一次接触的图表就是Highcharts图表,很快被它吸引到了, 因为样例很多,还很漂…

从信息的角度思考社区

多数产品经理都有一个社区梦。 --by 某位网红产品经理01社区产品是一个工具,是用户获取信息的工具。但是获取信息的工具有很多种,比如搜索引擎(谷歌)、推荐(头条)等。那么同样是帮助用户获取信息的工具&am…

php qcloud sdk weapp_GitHub - lxlwow/wafer-php-server-sdk: Wafer - 企业级微信小程序全栈方案...

Wafer 服务端 SDK - PHP注意Wafer PHP SDK 已经全面升级 2.0 以支持 Wafer2,如果您想查看 Wafer1 的 PHP SDK 文档,请点击这里。介绍Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库,SDK 封装了以下功能供小程序开发者快速调用…

前端有用的东西--持续更新

Bootstrap --Twitter的CSS库,非常丰富。站点风格全然能够基于它实现http://getbootstrap.com/css/placehold--假设没有图片时候,传个參数进去,会返回给你一个暂时图片,显示长度宽度http://placehold.it/fontawsome--一些有用好看的…

cant find dependent libraries 有文件_Glib:获取某目录下的所有文件

Glib获取目录下的所有文件名1. 需求某个目录下有多个文件,找到符合规则的进行处理;设备在运行过程中可向该目录中添加文件;设备重上电后,重新处理目录下的所有文件。2. 实现使用Glib中的File Utilities实现上述功能。主要使用g_di…

陈松松:相近的关键词制作成视频内容,如何优化关键词

这是我写的第71篇原创视频营销文章每个视频,都是你的替身你懂的视频营销方法越多,你解决问题的能力就越强,别人遇到问题只有1种解决方案,而你至少有3种解决方案,效果也会比别人更好!今天给大家继续分享视频…

Android Gradle从认识到实践(2)

前言 前一篇文章,对Gradle进行了一个概述,同时对于Groovy语言进行了简单的介绍,有了之前的基础,现在就可以进行更细致化的学习,来学习一下在AndroidStudio中如何来配置我们的Build文件,来完成一些特定的功能…

r语言做绘制精美pcoa图_R语言:Bary-Curtis PCoA

导读Bary-Curtis PCoA降维分析菌群结构。一、输入数据1.1 菌属丰度矩阵df data.frame(abs(round(matrix(rnorm(729, 100, 50), 27, 27))))rownames(df) paste(rep(paste(rep(c("A", "B", "C"), each3), rep(c("I","II",&q…