Что такое ошибка «Dirty COW», и как я могу защитить свою систему от нее?

21

Я только что услышал об этой ошибке «Dirty COW», которая позволяет любому пользователю с доступом на чтение к файлам также писать им и получать административный доступ. Как защитить эту ошибку?

    
задан WinEunuuchs2Unix 21.10.2016 в 05:35
источник

3 ответа

20

Ошибка древней грязной ошибки COW

Эта ошибка существует начиная с версии 2.6.22 ядра. Это позволяет локальному пользователю с доступом для чтения получать административные привилегии. Выдается предупреждение ( Softpedia: ядра Linux 4.8.3, 4.7.9 и 4.4.26 LTS Out to Patch« Dirty COW »Security Flaw ), и пользователи призвал перейти на ядро ​​ядра Kernel 4.8.3, ядро ​​Linux 4.7.9 и ядро ​​Linux 4.4.26 LTS. ЭТА ЛИНИЯ НЕОБХОДИМА , потому что эти версии ядра не поддерживаются Ubuntu.

Этот ответ предназначен для пользователей Ubuntu и сообщает вам:

  • Рекомендуемые версии ядра для пользователей Ubuntu
  • Как отобразить текущую версию ядра
  • Как применить исправление для поддерживаемых ядер Ubuntu
  • Как применить исправление для не поддерживаемых ядер Ubuntu

Пользователи Ubuntu "Dirty COW" рекомендуемые ядра

Ubuntu выпустила обновления безопасности 20 октября 2016 года для исправления ядра, используемого всеми поддерживаемыми версиями Ubuntu: Softpedia: канонические патчи Древняя ошибка« Dirty COW »во всех поддерживаемых ОС Ubuntu

Canonical призывает всех пользователей немедленно исправить свои системы, установив:

  • linux-image-4.8.0-26 (4.8.0-26.28) для Ubuntu 16.10
  • linux-image-4.4.0-45 (4.4.0-45.66) для Ubuntu 16.04 LTS
  • linux-image-3.13.0-100 (3.13.0-100.147) для Ubuntu 14.04 LTS
  • linux-image-3.2.0-113 (3.2.0-113.155) для Ubuntu 12.04 LTS
  • linux-image-4.4.0-1029-raspi2 (4.4.0-1029.36)

Ядро 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 ~ exact1).

Пожалуйста, обновите свои установки Ubuntu немедленно, следуя инструкциям, предоставленным компанией Canonical по адресу: Ссылка .

Отобразить текущую версию ядра

Чтобы отобразить текущую текущую версию ядра, откройте терминал с помощью 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 выпустил исправление ошибки, всем пользователям необходимо обновить их систему. Если включены ежедневные обновления безопасности, обновление ядра уже выполнено. Проверьте версию ядра в списке ядер выше.

Если Ubuntu не обновил вашу версию ядра автоматически, запустите:

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

После перезагрузки проверьте текущую версию ядра, повторив предыдущие инструкции раздела.

Как исправить неподдерживаемые ядра Ubuntu

Некоторые установки с более новым оборудованием могут использовать неподдерживаемое ядро, такое как 4.8.1 или больше. Если это так, вам нужно будет вручную обновить Ядро. Хотя ссылка на сообщение об ошибке выше говорит о том, что используется Kernel 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

После перезагрузки проверьте текущую версию ядра, повторив инструкции двумя разделами назад.

    
ответ дан WinEunuuchs2Unix 21.10.2016 в 05:35
источник
1

Я не эксперт, но, немного прочитав «Dirty COW», мне показалось, что я действительно хотел проверить, хорошо ли после завершения моего последнего обновления всего пару часов назад.

Из результатов поиска по ключевым словам я выбрал эту статью & amp; обсуждение представляется перспективным. Теперь мне легко удалось проверить статус «COW-patched» моей системы 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 и быстрого распространения знаний среди пользователей.

    
ответ дан Ano Nyma 23.10.2016 в 02:58
1

Вам необходимо обновить свои пакеты, используя apt-get :

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

Также вы можете включить служба livepach :

  

Кстати, незадолго до публикации уязвимости мы выпустили службу Canonical Livepatch для Ubuntu 16.04 LTS. Тысячи пользователей, которые включили canonical-livepatch в своих Ubuntu 16.04 LTS-системах с этими первыми часами приема и применили исправление к Dirty COW, автоматически, в фоновом режиме и без перезагрузки!

     
  1. Перейдите в Ссылка и получите токен livepatch   Установите привязку canonical-livepatch

         

    $ sudo snap install canonical-livepatch

  2.   
  3. Включить службу с помощью токена

         

    $ sudo canonical-livepatch включить [TOKEN]

  4.   
  5. проверить статус в любое время, используя:

         

    $ canonical-livepatch status --verbose

  6.   
  7. Обновление      

    '$ sudo apt install unattended-updates

  8.   
  9. Старые версии Ubuntu (или систем Ubuntu, которые были обновлены до 16.04), возможно, должны были включить это поведение, используя:

         

    $ sudo dpkg-reconfigure unattended-updates

  10.   

    
ответ дан GAD3R 16.11.2016 в 12:55