2010-09-30 4 views
2

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

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

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

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

+4

лучше подходит для serverfault.com – KevinDTimm

+0

Основываясь на поиске пакета Ubuntu, Lucid имеет несколько версий ядра позади (2.6.32). Вы уверены, что у вас есть самое последнее ядро ​​(последняя стабильная версия в исходном дереве - 2.6.35.7: http://kernel.org). Уязвимость может быть исправлена ​​в основном ядре. – eldarerathis

+0

@eldarerathis не имеет своего еще 0-дневного. – rook

ответ

0

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

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

Дополнительная информация по теме Toravolds известна как silent patches. Это также времяпровождение, что Microsoft enjoys.

1

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

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

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

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

0

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

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

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

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

Где, кстати, вопрос программирования?