Как защититься от уязвимости Dirty COW | Losst

Как защититься от уязвимости Dirty COW

Несколько дней назад, а точнее 19 октября 2016 года была раскрыта 0-day уязвимость в ядре Linux, которая позволяет повышать привилегии пользователя. Баг назван "Грязная Корова" (Dirty COW), потому что основная проблема связана с тем, что запускалось так называемое состояние гонки в процессах работы подсистемы памяти ядра с механизмом copy-on-write (COW). Уязвимость существует уже давно, по крайней мере, с 2007 года с ядра версии 2.6.22, поэтому подавляющее большинство серверов находятся под угрозой.

Использование этой ошибки означает, что обычный, непривилегированный пользователь на сервере может получить доступ на запись для любого файла. Более подробную информацию можно найти на CVE-2016-5195 от Canonical, Red Hat и Debian.

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

Проверка уязвимости

Ubuntu / Debian

Узнайте подвержен ли ваш сервер этому багу, проверив версию ядра.

$ uname -rv

Вы увидите такой вывод:


4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016

Если ваша версия ядра более рання, чем в этом списке, вы в числе жертв:

  • 4.8.0-26.28 для Ubuntu 16.10
  • 4.4.0-45.66 для Ubuntu 16.04 LTS
  • 3.13.0-100.147 для Ubuntu 14.04 LTS
  • 3.2.0-113.155 для Ubuntu 12.04 LTS
  • 3.16.36-1 + deb8u2 для Debian 8
  • 3.2.82-1 для Debian 7
  • 4.7.8-1 для Debian нестабильный (unstable)

CentOS

Если вы пользуетесь CentOS, вы можете использовать скрипт предоставленный RedHat, чтобы проверить уязвимость вашего сервера. Для этого сначала надо загрузить его:

$ wget https://access.redhat.com/sites/default/files/rh-cve-2016-5195_1.sh

Затем запустите его в bash.

$ bash rh-cve-2016-5195_1.sh

Если вы уязвимы, вы увидите такой вывод:


Your kernel is 3.10.0-327.36.1.el7.x86_64 which is vulnerable.
Red Hat recommends that you update your kernel. Alternatively, you can apply partial
mitigation described at https://access.redhat.com/security/vulnerabilities/2706661 .
[Ваше ядро 3.10.0-327.36.1.el7.x86_64 является уязвимым. Red Hat рекомендует вам обновить ядро. В качестве альтернативы, можно применить частичную миграцию, описанную в https://access.redhat.com/security/vulnerabilities/2706661]

Исправление уязвимости

К счастью, решение простое: обновление системы и перезагрузка сервера.

Ubuntu / Debian

Обновите системные пакеты с помощью apt-get.

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

Вам потребуется перезагрузить сервер, чтобы применить изменения.

$ sudo reboot

RHEL / CentOS Linux 5.x/6.x/7.x

$ sudo yum update
$ sudo reboot

RHEL / CentOS Linux 4.x

$ sudo up2date -u
$ sudo reboot

Suse Enterprise Linux или Opensuse

Чтобы применить все необходимые патчи для данной системы:

# zypper patch
# reboot

Проверка

Вам нужно убедиться, что версия вашего ядра изменилась:

$ uname -a
$ uname -r
$ uname -mrs

Вывод

Убедитесь в том, что серверы Linux обновлены, чтобы быть защищенным от этой серьезнейшей ошибки, позволяющей любому пользователю вашего сервера повысить свои привелегии до максимального уровня.

Источник

Ваше имя тоже может быть здесь. Как? Пишите для нас! Смотрите подробнее как стать автором Losst.

Оцените статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (6 оценок, среднее: 5,00 из 5)
Загрузка...

  8 comments for “Как защититься от уязвимости Dirty COW

  1. Октябрь 24, 2016 at 5:10 пп

    Для CentOS 6 не сработало, не пропатчили пока что ядро.
    2.6.32-642.6.1.el6.x86_64

  2. Октябрь 24, 2016 at 7:04 пп

    Только сегодня установил самое новое ядро в линукс минте 4.4.0-45.66,а тут такая беда!Пришлось удалять и ставить предыдущее 4.4.0-43.Не знаю как в убунте, но в минте не торопятся исправлять.

    • Игорь
      Октябрь 25, 2016 at 4:47 дп

      В Ubuntu то же самое.

    • nick
      Октябрь 25, 2016 at 5:40 дп

      Уязвимость присутствует во всех ядрах от 2,6 и выше, кроме последних пропатченных.
      Вы просто сами себе видимо уязвимость открыли.

  3. Октябрь 24, 2016 at 7:23 пп

    Кстати, Торвальдс признался, что знал эту уязвимость ещё 11 лет назад, но посчитал её устранение сложным. И молчал ведь всё это время!

  4. Октябрь 24, 2016 at 7:24 пп

    В генте исправили выпуском ядра 4.4.26, я уже обновился.

  5. читатель
    Октябрь 24, 2016 at 10:57 пп

    «Если ваша версия ядра в этом списке, вы в числе жертв:

    4.8.0-26.28 для Ubuntu 16.10
    4.4.0-45.66 для Ubuntu 16.04 LTS
    3.13.0-100.147 для Ubuntu 14.04 LTS
    3.2.0-113.155 для Ubuntu 12.04 LTS
    3.16.36-1 + deb8u2 для Debian 8
    3.2.82-1 для Debian 7
    4.7.8-1 для Debian нестабильный (unstable)..»

    Это список уже обновленных ядер без уязвимости. Трудности с английским? Пользуйтесь «google translate».
    Не вводите людей в заблуждение!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: