什么是“ Dirty COW”错误,如何保护我的系统免受该错误?


22

我刚刚听说过此错误“ Dirty COW”,该错误使任何对文件具有读取访问权限的用户也可以写入文件并获得管理访问权限。我该如何防范此错误?

Answers:


20

古代脏牛虫

自内核版本2.6.22开始,此错误已存在。它允许具有读取访问权限的本地用户获得管理权限。已发出警告(Softpedia:Linux内核4.8.3、4.7.9和4.4.26 LTS修补了“ Dirty COW”安全漏洞),并敦促用户升级到内核Linux内核4.8.3,Linux内核4.7。 9,Linux内核4.4.26 LTS。此链接是错误的,因为Ubuntu不支持这些内核版本。

此答案是为Ubuntu用户量身定制的,它告诉您:

  • 推荐的Ubuntu用户内核版本
  • 如何显示您当前的内核版本
  • 如何为Ubuntu支持的内核应用修补程序
  • 如何为不支持的Ubuntu内核应用修复程序

Ubuntu用户“ Dirty COW”推荐内核

Ubuntu于2016年10月20日发布了安全更新,以修补所有受支持的Ubuntu版本使用的内核:Softpedia:Canonical修补所有受支持的Ubuntu操作系统中的古代“ Dirty COW”内核错误

Canonical敦促所有用户通过安装以下软件立即修补其系统:

  • 适用于Ubuntu 16.10的linux-image-4.8.0-26(4.8.0-26.28)
  • 适用于Ubuntu 16.04 LTS的linux-image-4.4.0-45(4.4.0-45.66)
  • 适用于Ubuntu 14.04 LTS的linux-image-3.13.0-100(3.13.0-100.147)
  • 适用于Ubuntu 12.04 LTS的linux-image-3.2.0-113(3.2.0-113.155)
  • linux-image-4.4.0-1029-raspi2(4.4.0-1029.36)

用于Ubuntu 14.04 LTS的Xenial HWE内核也已更新,版本为linux-image-4.4.0-45(4.4.0-45.66〜14.04.1),并将用于Ubuntu 12.04 LTS的Trusty HWE内核更新为linux-image版本。 -3.13.0-100(3.13.0-100.147〜precise1)。

请按照Canonical在以下网址提供的说明立即更新您的Ubuntu安装:https : //wiki.ubuntu.com/Security/Upgrades

显示您当前的内核版本

要显示当前正在运行的内核版本,请使用Ctrl+ Alt+ 打开终端T,然后键入:

uname -a

引导时使用的内核版本将显示如下:

Linux dell 4.8.1-040801-generic #201610071031 SMP Fri Oct 7 14:34:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

请记住,在安装带有修补程序的新内核之后,您仍然可以从Grub引导较早的内核版本。较早的版本将不应用补丁,此内核版本4.8.1就是这种情况。

再次记住,Ubuntu不支持内核版本4.8.1。

如何修复Ubuntu支持的内核

由于Ubuntu已发布该错误的修复程序,因此所有用户需要做的就是升级他们的系统。如果启用了每日安全更新,则内核升级已经完成。在上面的内核列表中检查您的内核版本。

如果Ubuntu尚未自动升级您的内核版本,请运行:

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

重新引导后,通过重复前面的部分说明来检查当前的内核版本。

如何修复不受支持的Ubuntu内核

某些具有较新硬件的安装可能使用了不受支持的内核,例如4.8.1或更高版本。如果是这样,您将需要手动升级内核。尽管上面的错误报告链接说使用Kernel 4.8.3,但是截至2016年10月30日,4.8.5这是最新的,这是安装方法:

cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805_4.8.5-040805.201610280434_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-image-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
sudo dpkg -i *.deb
sudo reboot

重新引导后,通过在后面两节中重复说明来检查当前的内核版本。


与其说“这个链接是误导性的”,不如说对我来说太强了,我还是要说“那些说明不适用于Ubuntu用户”。
fkraiem '16

@ WinEunuuchs2Unix,我将建议“此链接按原样会引起误解,因为Ubuntu不支持所提到的内核版本。” 还不确定为什么您到处都用粗体显示日期吗?
托马斯·沃德

有了Ubuntu 16.04 LTS,我发现此命令向我显示一切都很好:apt list --installed | grep linux-image-4.4.0-45-返回linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,automatic]
user643722 '16

1

我根本不是专家,但是在阅读了“ Dirty COW”之后,我觉得我真的很想检查一下我的最新更新,就在几个小时前,我是否还好。

从关键词搜索的结果中,我选择这篇文章和讨论听起来很有希望。现在,通过首先按照上述文章的显示您当前的内核版本的说明(原来是:),我已经轻松地设法验证了Xenial Xerox系统的“ COW修补”状态linux-image-4.4.0.-45。尽管uname -a没有详细介绍补丁,但它显示了当前安装的内核版本,使我能够遵循用户643722的建议-并成功地做到了:

apt list --installed | grep linux-image-4.4.0-45

尽管显示了意外的额外行...

WARNING: apt does not have a stable CLI interface. 
Use with caution in scripts.

...希望的信息在下一行中:

linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64  [Installiert,automatisch]

多亏了所有人-Linux / Ubuntu贡献者迅速将解决方案实施到更新中,并在用户之间迅速传播了知识。


1
如果您使用apt-get而不是单独使用,则警告会消失apt
WinEunuuchs2Unix

谢谢@ WinEunuuchs2Unix。我每天都在
无休止地

1

您需要使用apt-get以下方法升级软件包:

sudo apt-get update && sudo apt-get dist-upgrade

您也可以启用livepach服务

巧合的是,就在漏洞发布之前,我们发布了适用于Ubuntu 16.04 LTS的Canonical Livepatch Service。在最初的几个小时内,成千上万的用户在其Ubuntu 16.04 LTS系统上启用了canonical-livepatch,并自动在后台将其修复程序应用于Dirty COW,而无需重新启动!

  1. 转到https://ubuntu.com/livepatch,获取您的livepatch令牌。

    $ sudo snap install canonical-livepatch

  2. 使用令牌启用服务

    $ sudo canonical-livepatch enable [令牌]

  3. 随时使用以下方法检查状态:

    $ canonical-livepatch状态-详细

  4. 升级

    `$ sudo apt install无人值守升级

  5. 较旧版本的Ubuntu(或升级到16.04的Ubuntu系统)可能需要使用以下方法启用此行为:

    $ sudo dpkg-reconfigure无人值守升级

`


您的话听起来像您为Canonical工作,如果是的话,谢谢您的内幕消息:)
WinEunuuchs2Unix

@ WinEunuuchs2Unix只是一个Linux新手:)
GAD3R

哦,还是谢谢您的回答。恐怕您将不得不接受关于成为Canonical员工11个小时的虚假评论,直到我回家并可以将其从计算机中删除为止。
WinEunuuchs2Unix

$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not found救命?
好时游戏玩家
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.