事件描述
按住回车70秒,黑客就能在linux系统绕过认证,进而获取root权限,并能远程控制经过加密的linux系统。
漏洞来源 这个安全问题来源于Cryptsetup存在的一个漏洞(CVE-2016-4484)。Cryptsetup是在Linux统一密钥设置(Linux Unified Key Setup, LUKS)中用来加密磁盘的软件,而LUKS则是Linux系统中标准的磁盘加密。 漏洞其实是出现在系统后Cryptsetup处理密码输入错误的时候,它会允许用户多次重试输入密码。而当用户输入错误93次后,程序就会给用户一个带root权限的shell(busybox)。
漏洞能被远程利用 西班牙安全研究员Hector Marco和Ismael Ripoll发现了这一漏洞,影响范围覆盖几乎所有的Linux发行版,包括Debian, Ubuntu, Fedora, Red Hat Enterprise Linux (RHEL)和SUSE。 研究人员在今年奥地利某公司举行的DeepSec会议上演示了细节: “黑客可以从受影响系统中获取root initramfs shell。并且漏洞的成功率非常高,因为他不依赖某个特定的系统或者某个配置……这个漏洞在某公司、ATM机、机场、实验室等场景下特别有用,因为在这些场景下,开机的过程受到(加密)保护,而我们只有键盘/鼠标。”
看到这里,你可能会认为漏洞只能在攻击者有物理接触的情况下才有可能发生。但实际上,漏洞也可以被远程触发。如果你使用的是基于linux的云服务,就可以在没有物理接触的条件下利用漏洞。
漏洞到底有多严重 值得注意的是,攻击者无法利用这个漏洞来获取加密磁盘的内容,但能进行下面的这些操作:
权限提升: 由于boot分区一般都是不加密的,因此利用漏洞黑客可以用SetUID存储一个可执行文件,然后再用本地用户身份执行进行提权。 攻击者也可以替换内核和initrd镜像。
信息泄露: 虽然攻击者无法直接读取加密的磁盘,但他能做的事还是很多的。比如,他可以把磁盘复制到外部设备,之后进行暴力破解,
DoS攻击: 黑客可以删除磁盘上的内容。 这个漏洞的影响范围包括Debian, Ubuntu, Fedora和其他一些Linux发行版本。Arch Linux和Solus用户不受影响。
解决方案 尽管漏洞能轻易触发并且影响范围大,但它的修复方案也异常简单: 首先,在LUKS密码提示窗处按压回车键70秒,检查系统是否存在漏洞。 如果存在漏洞,检查下你所使用的Linux是否发布了补丁。 如果官方没有发布补丁,你可以自行修改cryptroot文件:
|