我刚刚听说过此错误“ Dirty COW”,该错误使任何对文件具有读取访问权限的用户也可以写入文件并获得管理访问权限。我该如何防范此错误?
我刚刚听说过此错误“ Dirty COW”,该错误使任何对文件具有读取访问权限的用户也可以写入文件并获得管理访问权限。我该如何防范此错误?
Answers:
自内核版本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于2016年10月20日发布了安全更新,以修补所有受支持的Ubuntu版本使用的内核:Softpedia:Canonical修补所有受支持的Ubuntu操作系统中的古代“ Dirty COW”内核错误
Canonical敦促所有用户通过安装以下软件立即修补其系统:
用于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尚未自动升级您的内核版本,请运行:
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
重新引导后,通过重复前面的部分说明来检查当前的内核版本。
某些具有较新硬件的安装可能使用了不受支持的内核,例如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
重新引导后,通过在后面两节中重复说明来检查当前的内核版本。
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]
。
我根本不是专家,但是在阅读了“ 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贡献者迅速将解决方案实施到更新中,并在用户之间迅速传播了知识。
apt-get
而不是单独使用,则警告会消失apt
。
您需要使用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,而无需重新启动!
转到https://ubuntu.com/livepatch,获取您的livepatch令牌。
$ sudo snap install canonical-livepatch
使用令牌启用服务
$ sudo canonical-livepatch enable [令牌]
随时使用以下方法检查状态:
$ canonical-livepatch状态-详细
升级
`$ sudo apt install无人值守升级
较旧版本的Ubuntu(或升级到16.04的Ubuntu系统)可能需要使用以下方法启用此行为:
$ sudo dpkg-reconfigure无人值守升级
`
$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not found
救命?