Що таке помилка "Брудна корова", і як я можу захистити свою систему від неї?


22

Я щойно чув про цю помилку "Брудна корова", яка дозволяє будь-якому користувачеві з доступом до читання файлів також писати до них та отримувати адміністративний доступ. Як захистити цю помилку?

Відповіді:


20

Древня брудна корова

Ця помилка існувала з часів версії 2.6.22 ядра. Це дозволяє локальному користувачеві з доступом до читання отримувати адміністративні привілеї. Отримано попередження ( Softpedia: Linux Kernel 4.8.3, 4.7.9 & 4.4.26 LTS Out to Patch "Dirty COW" Flaw Security ), і користувачів закликають оновити до ядра Linux 4.8.3, ядра Linux 4.7. 9 та Linux ядро ​​4.4.26 LTS. ЦЕ ПОСИЛАННЯ НЕПРАВИЛЬНО, оскільки ці версії ядра не підтримуються Ubuntu.

Ця відповідь призначена для користувачів Ubuntu та повідомляє:

  • Рекомендовані версії ядра для користувачів Ubuntu
  • Як відобразити поточну версію ядра
  • Як застосувати виправлення до підтримуваних ядер Ubuntu
  • Як застосувати виправлення для непідтримуваних ядер Ubuntu

Користувачі Ubuntu "Брудна корова" рекомендували ядра

20 жовтня 2016 року Ubuntu випустив оновлення безпеки для виправлення ядра, використовуваного всіма підтримуваними версіями Ubuntu: Softpedia: Canonical Patches Древній помилка ядра "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) та надійного ядра 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 .

Показати поточну версію ядра

Щоб відобразити поточну працюючу версію ядра, відкрийте термінал 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або вище. Якщо так, вам потрібно буде вручну оновити ядро. Хоча посилання звіту про помилки вище говорить про використання ядра 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

Після перезавантаження перевірте свою поточну версію ядра, повторивши вказівки два розділи назад.


Замість того, щоб "це посилання вводило в оману", що здається мені занадто сильним словом, я б сказав щось за принципом "ці інструкції не стосуються користувачів Ubuntu".
fkraiem

@ WinEunuuchs2Unix Я збирався запропонувати "Це посилання, як є, вводить в оману, оскільки згадані версії ядра не підтримуються Ubuntu." Також не впевнений, чому ви скрізь сміливі дати?
Thomas Ward

Отримавши 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

1

Я взагалі не фахівець, але трохи прочитавши на "Брудній коровай", я відчув, що мені дуже хочеться перевірити, чи добре я після завершення останнього оновлення лише пару годин тому.

З результатів пошуку ключових слів я вибрав цю статтю та дискусію як багатообіцяючу. Тепер мені легко вдалося перевірити стан "виправленого 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, та швидке розповсюдження знань серед користувачів.


1
Попередження зникає, якщо ви використовуєте apt-getзамість aptсебе.
WinEunuuchs2Unix

Дякую, @ WinEunuuchs2Unix. Я навчаюсь щодня, весь час ...
Ано Німа

1

Вам потрібно оновити ваші пакети, використовуючи apt-get:

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

Також ви можете включити послугу livepach :

Випадково, безпосередньо перед публікацією вразливості, ми випустили службу Canonical Livepatch для Ubuntu 16.04 LTS. Тисячі користувачів, які включили канонічний livepatch у своїх системах Ubuntu 16.04 LTS за перші кілька годин отримали та застосували виправлення до Dirty COW, автоматично, у фоновому режимі та без перезавантаження!

  1. Перейдіть на сторінку https://ubuntu.com/livepatch та отримайте маркер livepatch. Встановіть канонічну оснастку livepatch

    $ sudo snap install canonical-livepatch

  2. Увімкніть послугу за допомогою маркера

    $ sudo canonical-livepatch enable [TOKEN]

  3. перевірити стан у будь-який час, використовуючи:

    $ canonical-livepatch status - вербовка

  4. Оновити

    `$ sudo apt встановити без нагляду оновлення

  5. Старіші версії Ubuntu (або системи Ubuntu, що оновилися до 16.04), можливо, потребуватимуть такої поведінки, використовуючи:

    $ sudo dpkg-перенастроювання оновлень без нагляду

`


У ваших словах звучить так, ніби ви працюєте на Canonical, якщо так, дякую за інсайдерську інформацію :)
WinEunuuchs2Unix

@ WinEunuuchs2Unix просто початківець користувач Linux :)
GAD3R

Ну добре дякую за вашу відповідь все одно. Боюся, вам доведеться жити з помилковим коментарем щодо того, що я є працівником Canonical, протягом 11 годин, поки я не повернусь додому і не зможу видалити його з комп’ютера.
WinEunuuchs2Unix

$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not foundДопомога?
Hershey Gamer
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.