据国外媒体报道,网络安全专家周三警告称,开源软件Linux中一个频繁使用的片段“Bash”,最近发现存在安全漏洞,其对计算机用户造成的威胁可能要超过今年4月爆出的“心脏出血”(Heartbleed)漏洞。
Bash是用于控制Linux计算机命令提示符的软件。网络安全专家表示,黑客可以利用Bash中的一个安全漏洞,对目标计算机系统进行完全控制。
网络安全公司Trail of Bits的首席执行官丹・吉多(Dan Guido)指出:“与Heartbleed”相比,后者只允许黑客窥探计算机,但不会让黑客获得计算机的控制权。”
他说:“利用Bash漏洞的方法也简单得多,你可以直接剪切和粘贴一行软件代码,就能取得很好的效果。”
吉多还表示,他正考虑将自己公司非必要的服务器断网,以保护他们不会受到Bash漏洞的攻击,直到他能够修补这一漏洞为止。
网络安全公司Rapid7的工程经理托德・比尔兹利(Tod Beardsley)则警告称,Bash漏洞的严重程度被评为10级,意味着它具有最大的影响力,而其利用的难度被评为“低”级,意味着黑客比较容易地利用其发动网络攻击。
比尔兹利称:“利用这个漏洞,攻击者可能会接管计算机的整个操作系统,得以访问机密信息,并对系统进行更改等等。任何人的计算机系统,如果使用了Bash软件,都需要立即打上补丁。”
“Heartbleed”是开源加密软件OpenSSL中的一个安全漏洞,于今年4月被发现。由于全球三分之二的网站使用了OpenSSL,“Heartbleed”漏洞让数千万人的数据处于危险状态。这也迫使数十家科技公司发布安全补丁,以堵塞数百种使用了OpenSSL的产品中存在的安全漏洞。
对于使用RedHat和CentOS系统的用户来说,修复这个漏洞很简单:
速度升级bash版本到最新的bash.x86_64 0:4.1.2-15.el6_5.2!
# yum clean all # yum makecache # yum update bash-4.1.2-15.el6_5.2 ###官方9月26号已经发布最新的5.2,24号发布的5.1已经确认仍然有安全漏洞!
大家也可以在自己的机器上执行这个命令测试下是否存在bash漏洞。(针对没升级到5.1版本前)
env t='() { :;}; echo You are vulnerable.' bash -c "true"
下面对比下升级过bash版本的机器和没升级过bash版本的机器执行测试命令后的结果!
没有升级bash版本的机器:
[root@www ~]# env t='() { :;}; echo You are vulnerable.' bash -c "true" You are vulnerable.
升级bash到bash.x86_64 0:4.1.2-15.el6_5.1后测试:
[root@www ~]# env t='() { :;}; echo You are vulnerable.' bash -c "true" bash: warning: t: ignoring function definition attempt bash: error importing function definition for `t' [root@www ~]# /sbin/ldconfig [root@www ~]# rpm -qa bash bash-4.1.2-15.el6_5.1.x86_64
大家可以参考下红帽官方给出的链接:
https://securityblog.redhat.com/2014/09/24/bash-specially-crafted-environment-variables-code-injection-attack/
https://access.redhat.com/solutions/1207723
http://lists.centos.org/pipermail/centos/2014-September/146099.html
PS:虽然各个厂家都对系统的bash版本进行了一定的版本升级,但是谷歌安全研究员塔维斯・奥曼迪(Tavis Ormandy)在Twitter上表示,Linux系统提供商推出的补丁似乎“并不完整”,这引发了几位安全专家的担忧。
专家的担心果然不是空穴来风,在2014年9月24日发布bash.x86_64 0:4.1.2-15.el6_5.1后,2014年9月26日已经发布了最新版bash.x86_64 0:4.1.2-15.el6_5.2,本文原本是针对5.1写的,请大家速度升级到5.2!
https://access.redhat.com/security/cve/CVE-2014-6271
https://access.redhat.com/articles/1200223
# yum update bash-4.1.2-15.el6_5.2
Ubuntu 用户可以通过如下命令打补丁:
# apt-get update
# apt-get install bash
2014年9月24号最新5.1版本测试:
[root@xlogin ~]# env -i X='() { (a)=>\' bash -c 'echo date'; cat echo bash: X: line 1: syntax error near unexpected token `=' bash: X: line 1: `' bash: error importing function definition for `X' Fri Sep 26 12:12:11 CST 2014
2014年9月26号最新5.2版本:
[root@xlogin ~]# env -i X='() { (a)=>\' bash -c 'echo date'; cat echo date ###升级为5.2版本后,显示date即为正常!!! Fri Sep 26 12:12:11 CST 2014