Я только что слышал об этой ошибке "Dirty COW", которая позволяет любому пользователю, имеющему доступ для чтения к файлам, также писать в них и получать административный доступ. Как мне защититься от этой ошибки?
Я только что слышал об этой ошибке "Dirty COW", которая позволяет любому пользователю, имеющему доступ для чтения к файлам, также писать в них и получать административный доступ. Как мне защититься от этой ошибки?
Ответы:
Эта ошибка существует с версии ядра 2.6.22. Это позволяет локальному пользователю с доступом для чтения получать административные привилегии. Выдано предупреждение ( Softpedia: Linux Kernels 4.8.3, 4.7.9 и 4.4.26 LTS Out to Patch «Ошибка Dirty COW» ), и пользователям настоятельно рекомендуется выполнить обновление до ядра Kernel Linux 4.8.3, ядра Linux 4.7. 9, и ядро Linux 4.4.26 LTS. ЭТА ССЫЛКА ПРОПУСТИТСЯ, потому что эти версии ядра не поддерживаются Ubuntu.
Этот ответ предназначен для пользователей Ubuntu и говорит вам:
Ubuntu выпустила обновления для системы безопасности 20 октября 2016 года, чтобы исправить ядро, используемое всеми поддерживаемыми версиями Ubuntu: Softpedia: Canonical Patches Древняя ошибка «Dirty COW» во всех поддерживаемых ОС Ubuntu
Canonical призывает всех пользователей немедленно установить свои системы, установив:
Ядро Xenial HWE для Ubuntu 14.04 LTS также было обновлено до версии linux-image-4.4.0-45 (4.4.0-45.66 ~ 14.04.1), а ядро Trusty HWE для Ubuntu 12.04 LTS до версии linux-image -3.13.0-100 (3.13.0-100.147 ~ точный1).
Пожалуйста, немедленно обновите установки Ubuntu, следуя инструкциям, предоставленным Canonical по адресу: https://wiki.ubuntu.com/Security/Upgrades .
Чтобы отобразить текущую версию ядра Kernel, откройте терминал с помощью 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.
Еще раз помните, что версия ядра 4.8.1 не поддерживается Ubuntu.
Поскольку Ubuntu выпустила исправление ошибки, все, что нужно сделать пользователям, - это обновить свою систему. Если ежедневные обновления безопасности включены, обновление ядра уже выполнено. Проверьте версию вашего ядра в списке ядер выше.
Если Ubuntu не обновил автоматически версию вашего ядра, запустите:
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot
После перезагрузки проверьте текущую версию ядра, повторив инструкции предыдущего раздела.
В некоторых установках с более новым оборудованием может использоваться неподдерживаемое ядро, например 4.8.1
или выше. Если это так, вам нужно будет обновить ядро вручную. Хотя в приведенной выше ссылке на отчет об ошибке сказано, что нужно использовать ядро 4.8.3
, по состоянию на 30 октября 2016 года 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]
.
Я вообще не эксперт, но, прочитав немного «Грязную корову», я почувствовал, что действительно хочу проверить, в порядке ли я, выполнив свое последнее обновление всего пару часов назад.
По результатам поиска по ключевым словам я выбрал эту статью и обсуждение как звучащие многообещающе. Теперь мне легко удалось проверить состояние «исправлено COW» моей системы Xenial Xerox, сначала следуя инструкциям, приведенным выше в статье, чтобы отобразить текущую версию ядра (оказывается, это :) 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 :
По совпадению, незадолго до публикации уязвимости мы выпустили сервис Canonical Livepatch Service для Ubuntu 16.04 LTS. Тысячи пользователей, которые включили canonical-livepatch в своих системах Ubuntu 16.04 LTS за первые несколько часов, получили и применили исправление к Dirty COW автоматически, в фоновом режиме и без перезагрузки!
Перейдите на https://ubuntu.com/livepatch и получите свой токен livepatch. Установите canonical-livepatch snap.
$ sudo snap install canonical-livepatch
Включите сервис с помощью вашего токена
$ sudo canonical-livepatch enable [TOKEN]
проверить статус в любое время, используя:
$ canonical-livepatch status --verbose
Обновить
`$ sudo apt установить автоматические обновления
Старые версии Ubuntu (или системы Ubuntu, обновленные до 16.04), возможно, должны включить это поведение, используя:
$ sudo dpkg-reinfigure unattended-upgrades
`
$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not found
Помогите?