Red Hat最近在Bash shell中宣布了一个与安全相关的主要错误。有些人称之为“shellshock”错误。由于OS X是由Unix构建的,它是否容易受到利用此漏洞的攻击?
作为最终用户,我是否需要担心立即修复?或者我等待Apple的官方软件更新是否更好?
Red Hat最近在Bash shell中宣布了一个与安全相关的主要错误。有些人称之为“shellshock”错误。由于OS X是由Unix构建的,它是否容易受到利用此漏洞的攻击?
作为最终用户,我是否需要担心立即修复?或者我等待Apple的官方软件更新是否更好?
Answers:
是的,你在技术上很脆弱。因此,如果您感到恐慌或为惊慌失措的客户付费几个小时的恐慌工作,那就去吧!
但实际情况是,除非您允许从远程连接或运行服务器端脚本的Web服务器进行SSH访问,否则您不会受到威胁。如果您不认识的人可以远程访问您的计算机并且以可以执行Bash命令的方式执行此操作,那么您才真正受到攻击。
这意味着你的桌面Mac - 它真的不运行任何类型的服务器应用程序 - 没有任何严重的风险。我愿意在这里吃一些众所周知的“卑微派”,但我不认为那里的大多数Mac用户会在一天结束时冒风险。
因此,这个问题主要涉及暴露于世界的Mac OS X和Unix / Linux服务器上的系统管理员,而不是未启用SSH共享的桌面用户。
也许存在利用这种风险创建Mac恶意软件或病毒的边缘风险,但我对此表示怀疑。
编辑:只是详细说明这个问题是什么 - 在我的拙见 - 对大多数普通用户来说并不是一个问题,是的,我可以bash
在Mac OS X 10.9.5上运行以下命令:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
我看到了这个:
vulnerable
hello
你猜怎么了?如果你不理性地想到这一点,这只是可怕的。我必须已经登录到我的Mac甚至打开终端。并且否定我上面谈到的关于SSH的内容,即使启用了SSH,我甚至可以运行此测试。我仍然需要登录才能开始。然后 - 让我说我可以通过SSH访问 - 该命令不允许我做任何事情超过我的正常用户权限,例如:
env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key'
这意味着如果您真的容易被这种黑客攻击,那么系统的核心安全性就必须如此妥协,以至于bash
存在缺陷的事实实际上是您的问题中的至少。
这是整体控制和权利问题的一个问题,因为它可能允许非预期的访问,因为行为超出了预期的规范。但在我看来,这并不是一个与OpenSSL或花园品种相提并论的风险“让我把密码留在贴在我屏幕上的便条上”的风险。
在一天结束时,我仍在修补我作为标准程序运行的所有Linux / Unix服务器。一旦修复完毕,我将很乐意修补我管理的Mac。但是对于实际的日常使用我觉得很好,不用担心这个,因为我不明白如何不允许提升用户权限的缺陷会增加任何东西。
更新: Apple 发布的官方消息; 强调我的:
“绝大多数OS X用户都没有受到最近报告的bash漏洞的风险,”苹果发言人告诉iMore。“Bash是OS X中包含的UNIX命令外壳和语言,有一个弱点,可能允许未经授权的用户远程获取控制脆弱的系统。对于OS X,系统默认是安全的,除非用户配置高级UNIX服务,否则不会暴露于bash的远程攻击。 我们正在努力为我们的高级UNIX用户快速提供软件更新。“
翻译:我上面说的这是一个服务器问题而不是客户端问题?究竟。
一个最终的UDPATE:对于那些努力从源代码编译的人来说,截至9月29日,Apple正式发布了适用于Mac OS X 10.9.5,10.8.5以及10.7.5的补丁:
另一个最终更新:现在,Apple刚刚发布了一个包含bash
更新的组合安全更新!
注意:安全更新2014-005包含OS X bash Update 1.0的安全性内容
bash
。所以恐惧是基于究竟是什么?此外,即使访客帐户是开放的并且某种程度上bash
可用,那么呢?从我所看到的使用此漏洞的猜测将没有提升的特权或任何甚至接近的特权。说真的,我愿意退出我的立场,但这看起来更像是基于不太多的恐慌,而OpenSSL是一个真正的问题。
是!
在shell中输入
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
如果它说,vulnerable
那么你是脆弱的。
如果它说
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello
那你很好。
编辑:链接到修复程序
env X="() { :;} ; echo busted" /bin/sh -c "echo completed"
- 即使在修补我的系统之后,这个也会在命令行上咳出一个'被破坏'。呸。
作为最终用户,请检查:
您的访客帐户已关闭:
系统偏好设置>用户和组>访客用户
您的ssh
访问权限已关闭:
系统首选项>共享>远程登录
默认情况下,这些都是关于小牛队的。
作为最终用户,等待修复此漏洞的官方Apple安全更新更安全bash
。
所有Mac OS X机器在技术上都容易受到“Shellshock”的攻击,直到Apple发布补丁bash的安全更新,但是......
你的问题应该是:我可以远程攻击吗?
有太多软件使用bash
心不在焉,回答这个问题非常困难。如果您担心,那么我建议进行一些更改System Preferences
以防止远程攻击:
如果您特别担心,请按Firewall
选项按钮:
Automatically allow signed software to receive incoming connections
。Block all incoming connections
。你仍然有可能使用DHCP,Bonjour等容易受到攻击,但是如果你需要其他服务,那么显然你可以让它保持运行而你希望它不会被利用。而且你需要让防火墙更加开放。如果你的机器生活在另一个防火墙之后,它可能会很好。
此外,“Shellshock”是否启用了本地特权升级攻击?是的,几乎可以肯定。我不担心,因为Mac OS X有足够的类似攻击。Apple不会快速修补本地权限提升错误。Apple通过Apple Script启用的服务经常创建它们。假设所有Mac OS X机器总是容易受到本地攻击。如果您需要参加像DEFCON这样的黑客会议,那么为此目的自己买一个Linux机器。
更新:有重新编译自己的固定bash的说明和另外的问题也包括这样做。我会自己这样做,但恕我直言,如果你不运行任何服务器,并保持Apple的防火墙开启,那就太过分了。
更新:如果您对终端使用感到满意,那么此处execsnoop
提到的程序会让您测试bash是否通常由服务器进程调用。不是一个神奇的子弹,因为服务器进程可能只在异常情况下调用bash,但它会给你一个好主意。
最后,Apple在修补安全漏洞方面并不是很擅长,但是他们擅长PR,所以这会得到相对较快的补丁。因此,有理由认为“我不需要比熊跑得更快,我只需要比互联网上大量易于利用的服务器运行得更快”。:)
strings /usr/libexec/bootpd | egrep '/bin|bash'
和nm -a /usr/libexec/bootpd | egrep 'fork|exec'
。通过阅读不同版本的MacOS X的这些命令的输出,你可能会重新考虑你的风险分析,由于dhcpd
在MacOS X ...可是独此一家:(。
我一听到这个漏洞就立即制作了这个工具。如果工具确定您容易受到攻击,它会为您提供指向修补shell的文章的链接。
需要Mac OS X 10.6及更高版本。