Вопрос

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

Меня это беспокоит.Возникают два вопроса:

  • Почему ядро ​​Linux не было исправлено для устранения эксплойта, существующего уже две недели?Мне кажется, это очень опасная ситуация.

  • Есть ли в такой ситуации безопасный способ предоставить кому-нибудь гостевую учетную запись на моем компьютере?Или мне следует предположить, что гостевая учетная запись — это скорее символическая безопасность, и предоставлять учетные записи только тем людям, которым я действительно доверяю.

Это было полезно?

Решение

Собственно патч написан 14 сентября и его можно найти здесь и здесь.Однако этот патч не был включен в основную ветку.Программирование ядра очень сложное.Патч может нарушить совместимость или привести к некорректному поведению системы.Microsoft обычно занимает 1 месяц, чтобы написать патч для чего угодно, даже для блокнота.

Часто злоумышленник может скомпрометировать процесс пользовательского уровня, например один из ваших демонов (unrealircd или sendmail).Или, что еще более вероятно, веб-приложение, такое как Wordpress или PHP-Nuke.На этом этапе у злоумышленника есть учетная запись пользователя, и он может получить root, если ему это нужно.Поэтому подобный эксплойт повышения привилегий часто используется в цепочке с другими эксплойтами.

Что еще более тревожно, Тораволдс известен тем, что тихие патчи.Это тоже развлечение, которое Microsoft наслаждается.

Другие советы

Большинство — за неимением лучшего слова — хардкорных дистрибутивов, таких как Gentoo и Slackware, исправлены уже неделю или около того.Кроме того, некоторые конфигурации вообще не были уязвимы, а другие были технически уязвимы, но не с опубликованными эксплойтами.

Вот несколько вещей, которые вы можете сделать для ультрапараноиков:

  • Исправьте свое собственное ядро ​​прямо из ветки git.Это то, что довольно сложно понять с первого раза, но на самом деле довольно легко поддерживать после настройки.Ваш выбранный дистрибутив, вероятно, поддерживает свои собственные общедоступные ветки git для своих ядер, которые, скорее всего, были объединены в опубликованную ветку исправлений около двух недель назад для тестирования.Даже если они ждут, пока он войдет в официальную версию основной ветки, git позволяет очень легко объединять ветки из разных источников, так что вам не придется ждать самостоятельно.
  • Настройте свое ядро ​​на минимум функций, которые вам действительно нужны.Насколько я понимаю, эта уязвимость не является проблемой, если отключены определенные параметры, необходимые для виртуализации.Напротив, стандартные ядра дистрибутива позволяют всем удовлетворить потребности каждого.Кроме того, опубликованный эксплойт опирается на таблицу символов ядра, доступную в /proc/kallsyms.Эту опцию можно отключить, и нет причин, по которым она может понадобиться большинству всех.
  • Используйте обязательный контроль доступа, чтобы предоставить вашим гостевым пользователям и приложениям, доступным в Интернете, необходимый минимум привилегий.

Обратной стороной всех этих мер предосторожности является то, что вы с большей вероятностью сломаете свою систему, поэтому большинство дистрибутивов, ориентированных на пользователя, не торопятся с тестированием.

В соответствии с lwn.net :

Для более ориентированных на сообщество распределений (Debian, Fedora, OpenSuse, Ubuntu и других) ответ был несколько смешанным.Ubuntu, Debian и Fedora вышли на 17 сентября Для обеих ошибок (или, в случае с Debian, только один, поскольку его стабильное распределение («Ленни») основано на 2.6.26 и, следовательно, не уязвимого CVE-2010-3301).OpenSuse еще не выпустил исправление, и ни одно из вторичных распределений, которые мы отслеживаем (Gentoo, Mandriva, Slackware и т. Д.).

Так что, если ваша Ubuntu действительно обновлена, она должна была быть в безопасности довольно рано.Плюс я помню, что увидел обновление относительно вскоре после того, как было объявлено об ошибке.

Таким образом, либо исправление неверно, либо ваша система не обновлена ​​правильно и не обновлялась где-то две недели.Обновления ядра требуют перезагрузки вашей системы.

Кстати, а где вопрос по программированию?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top