Безопасность при обновлении Linux


Приветствую участников форума!

Пару дней назад установил Ubuntu 9.10. Ничего не трогал. Только поставил и всё. Далее решил обновить систему. То что, что я увидел в окне процесса обновления меня повергло в шок. В шок, потому, что я здесь прочитал про безопасность Линукса. Чтобы понять весь идиотизм увиденного мной, смоделирую как будто бы это было в Windows. Итак Мы ставим винду, дрова, настраиваем подключение в сеть и начинаем грузить обновления. И тут программа обновления винды нам говорит примерно такое: «Загружаемый файл N не подписан и поэтому его загрузка и установка может нести угрозу безопасности вашей системе. Продолжить обновление?». Идиотизм? Предельный! Как могут с официальных серверов скачиваться сомнительные апдейты??? Я представляю, нет, я даже не могу себе представить, какие бы цистерны дерма полетели в Гейтса, Балмера и весь майкрософт, если бы такое реально произошло. Какой ор стоял бы на весь мир! А тут ничего так, нормально. Скачиваешь с ОФИЦИАЛЬНОГО сайта дистриб убунту, качаешь ей апдейты с ОФИЦИАЛЬНЫХ серверов, которые прописаны изначально в конфигах разработчиками и тебе заявляют, что то что грузится опасно.
Поэтому я хочу прояснить несколько моментов. Как организовать обновление, чтобы не скачать себе бэкдор?. Стоит ли исключать российские зеркала обновлений? И, кстати, можно ли с них качать сами дистрибутивы? У каких сборок точно не будет такой лажи, как я описал выше?
P.S. Сейчас думаю над выбором между Debian и OpenSuse. Ubuntu произвела впечатление наскоро собранного изделия, которое надо доделывать и доделывать.

Комментарии
— sentaus (19/03/2010 12:19)   
А чем вы обновляли? Synaptic вроде всегда пропускал битые файлы, а продолжение обновления означает продолжение со следующими пакетами.

Как могут с официальных серверов скачиваться сомнительные апдейты???

Навскидку три возможности:

1) Обрыв соединения по какой-либо причине, и файл не докачался (воспроизводил сам неоднократно)
2) MiTM
3) Взломанный серевер-зеркало.

Эти проблемы решаются электронными подписями, они для этого и предназначены, и в вашем случае защита сработала в штатном режиме.
— sentaus (19/03/2010 12:22)   
Какой ор стоял бы на весь мир!


Никакого ора не будет. Равно как не будет его, если Verisign по ошибке издаст левый сертификат якобы Майкрософта, и кому-то впарят подписанные им апдейты :)
Гость (19/03/2010 12:35)   
sentaus, здравствуйте!

А чем вы обновляли? Synaptic вроде всегда пропускал битые файлы, а продолжение обновления означает продолжение со следующими пакетами.

Я обновлял через меню администрирование -> обновить. Могу сейчас ошибаться в названиях и путях, т. .к на данный момент снёс систему. Но не через Synaptic точно. Насчёт обрыва соединения – сомневаюсь. У меня выделенка, никаких признаков обрыва не было. Значёк показывал, что соединение есть.
Гость (19/03/2010 12:47)   
Идиотизм? Предельный! Как могут с официальных серверов скачиваться сомнительные апдейты???
Вам множества открытий чудных готовит обновленья урл.

Напоминает производителей с гарантированием протекшна: скачивайте нашу программу только с нашего адреса. В особо сложных случаях, бывает, модель доверия вообще покоится лишь на имени сайта.
— Altabello (19/03/2010 12:53)   
Вам множества открытий чудных готовит обновленья урл.

Да, открытий, и сюрпризов будет, видимо, навалом. Если я правильно Вас понял, нужно перед обновлением переписывать/перепроверять адреса зеркал?
— unknown (19/03/2010 13:01, исправлен 19/03/2010 13:05)   

В общем виде вопрос обсуждался здесь[link1] и здесь[link2].

Гость (19/03/2010 13:14)   
Спасибо, unknown! Очень впечатлило! Ну и в общем виде стало ясно.
— unknown (19/03/2010 14:18, исправлен 19/03/2010 14:19)   

Поиск по форуму иногда творит чудеса ;-)

— sentaus (19/03/2010 15:51)   
Если я правильно Вас понял, нужно перед обновлением переписывать/перепроверять адреса зеркал?


Не обязательно. Просто проверяйте, всё сообщения системы. И если добавляете сторонние репозитории обязательно импортируйте ключи, чтобы непроверенных репозиториев в принципе не было.
— poptalk (20/03/2010 19:15)   
Добро пожаловать в клуб! :) Linux-а без косяков не бывает. По идее, если на зеркале лежит неправильный файл, обновлятор должен перебирать зеркала пока не найдёт правильный.
— Вий (29/05/2010 06:02)   
Странно. Не раз обновлял Ubuntu 9.10 (и у себя и у других людей), сейчас то же самое проделал с Ubuntu 10.04, которую только что поставил. Не разу такие сообщения системой не выдавались. Уверены, что дистрибутив взят из надежного источника?
— Вий (03/08/2010 14:36)   
Сам столкнулся с такой ситуацией. При попытке поставить программу из репозитария система выдала предупреждение, что подлинность пакетов не подтверждена. Обновление информации о доступных репозитариях выдало ошибку доступа к определенным из них. Возможно какие-то технические профилактические работы на серверах или что-то в этом духе. Попытка выполнить ту-же операцию на следующий день увенчалась успехом. В любом случае это лучше, чем ставить непонятно что с разных файлопомоек, как это обычно происходит в windows, по крайней мере система дает нужные предупреждения.
— Вий (26/08/2010 18:18)   
Есть еще один вариант, кстати, если не хочется ждать. Просто нужно указать другой сервер обновления. В то же Ubuntu это делается элементарно, через меню "Система – администрирование – источники приложений".
Гость (27/08/2010 04:38)   
В то же Ubuntu это делается элементарно, через меню "Система – администрирование – источники приложений".
А я думал, что через vim /etc/apt/sources.list
Гость (27/08/2010 19:49)   
А я думал, что через vim /etc/apt/sources.list


Jedem das Seine
P.S. Я тоже предпочитаю описанный Вами способ. Хотя говорят, что для этого можно emacs /etc/apt/sources.list
Гость (14/02/2015 20:08)   
Вопрос звучит для простых линуксоидов как идиотский, но вы может быть поймете. Используется какое-нибудь шифрование трафика при апдейте системы и ее компонентов? Так же интересуют способы отключения автоматических обновлений во всех сборках.
Гость (14/02/2015 21:27)   

Только подпись. Перед установкой она обязательно проверяется.

Сборки назовите, тогда скажем.
Гость (14/02/2015 22:32)   
> Используется какое-нибудь шифрование трафика при апдейте системы и ее компонентов?
Только подпись. Перед установкой она обязательно проверяется.


Ещё используются хэш-функции[link3]. Например у меня в Kali 1.0.9 ( Debian-based ):

# cat /var/lib/apt/lists/http.kali.org_kali_dists_kali_main_binary-amd64_Packages
...
MD5sum: cf71a0098c502ec1933dea41610a79eb
SHA1: aa4a1fdc36498f230b9e38ae0116b23be4f6249e
SHA256: e28066103ecc6996e7a0285646cd2eff59288077d7cc0d22ca3489d28d215c0a

Смотри, сразу 3 хеша.
* Md5 – сломан[link4]
* sha1 – слабый
* Но! Sha256 – это основа Биткойн-майнинга, раз Биткоин стоит 200$ за штуку, а добыть можно за 10 минут 25 BTC, то стоимость взлома выше этой суммы.

То есть, для противника ТЫ должен быть "вкуснее", чем 5,000$ каждые 10 минут в его кармане.
Либо он должен печатать доллары сам, и скрывать свою возможно подбирать sha256 + сразу два других слабых хеша – md5 и sha1.
Это ЦРУ / АНБ, если в твоей модели угроз таких противников нет – то всё пучком.

Читай `man debsums`.

Туго[link5] очень идёт для Debian-а включение нового хеша. Видимо, они не расчитывали, что так быстро md5 сломают[link4].

Поэтому, sha256 используется лишь для пакетов целиком, но нету sha256 в контрольной информации о пакетах. По крайней мере, я пока что таких пакетов не встречал, там только md5.

Смотри, для любого пакета можно извлечь контрольную информацию:



Ни sha1 ни sha256 пока что нету. Но как контрольную сумму можно рассматривать md5-ый пока что.
— unknown (14/02/2015 23:39, исправлен 18/01/2016 09:26)   

Список пакетов со всеми хэшами заверен GnuPG-подписью. Этой темы касались здесь[link6], здесь[link7] и возможно где-то ещё.


На примере топроджекта: все суммы[link8], их подпись[link9]. И если не совпадёт хоть одна сумма или побьётся подпись, то пакет в систему не поставится, если только вы руками в обход этого механизма не поставите принудительно. В стандартном Debian также есть SHA-256 суммы всех пакетов. Суммы их содержимого для безопасной установки не нужны.



Оно вам нужно? Шифрование не защищает пакет от подмены. Если вы уверены и понимаете для чего оно вам нужно (скорее нет), то путём некоторых дополнительных установок и настроек можно качать с https-репозиториев или через Tor. Но безопасность поддерживается подписями списков хэшей. Шифрование — если только для сокрытия от локального наблюдателя, чтобы он не знал, какие пакеты вы ставите в систему.



О взломе md5 было известно десять лет назад, в т.ч. и на нашем сайте были новости[link11], а я тогда по такому случаю решил перестать постить из под гостя и зарегистрировался под ником ;), а о теоретической возможности взлома было известно в 1996 году. Какие там сейчас очередные практические успехи — уже давно не так важно.

Гость (15/02/2015 07:26)   

Unknown был пьян. :)


Связан ли как-то взлом md5 и подпись PGP-пакетов на связке ключей? Была ли такая проблема раньше? Если в подписи всё привязано к взломанному хэшу, можно подменить, например, фото на связке или подключи (или даже навесить к существующим ещё свои поврех с точно такими же хэшами ☺).


Странно, ваши посты там гостевые, а SATtva кликает вас как unknown'а. Это специфика распарса форумных сообщений со старого движка при переезде на новый, или SATtva просто использовал слово «unknown» как синоним словам «аноним», «Гость»?
— SATtva (15/02/2015 11:26)   

Связан, из-за этого, в частности, формат ключей v3 (использующий MD5) уже давно deprecated и insecure. Поиск второго прообраза пока всё равно за рамками практических атак (так что заменить один пакет сертификата на другой слишком затратно), но сделать за счёт коллизий два ключа с разным набором пакетов и заменять один другим к своей выгоде вполне реалистично.


По этой причине. Некоторые форумные ники (например, содержащие пробелы) были несовместимы с новым движком, но что там было с этими ранними постами unknown'а, уже не могу сказать, прошло слишком много времени.
— unknown (15/02/2015 16:36)   

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

Тогда можно было как и сейчас, отправлять сообщение от незарегистрированного гостя, но при этом указывать какой-то незанятый ник. Я начал указывать «временный» ник unknown, затем его же и зарегистрировал на постоянно. Первый возможный вариант: при очередном обновлении движка у постов от гостей с незарегистрированными никами эти ники слетели. Другой вариант: после регистрации ника слетели все посты от этого незарегистрированного ника, пока они были от гостя. Как-то так.
— SATtva (15/02/2015 17:32)   

Точно.
Гость (15/02/2015 19:46)   

Универсальных способов нет? Для дебианов и Linux Mint)
Подскажите, как смотреть сборку с точными версиями, релизами и т.п.
Гость (16/02/2015 00:22)   

прочел как "для дебилов"
Гость (16/02/2015 01:08)   

В дебианах и так нет автоматического обновления (пакет unattended-upgrades не настраивается по умолчанию в режим установки обновлений), пока флажок не поставите.

В общем случае никак.
Попробуйте:
— Гость_ (20/12/2015 04:27, исправлен 20/12/2015 04:31)   

Безопасность без обновления Linux[link12]:


Сервер иногда удаленно админился извне, на нем крутится старая убунта 12.04 LTS версии (это к вопросу об экономии на оборудовании и персонале). Просканировали на наличие уязвимостей, доступ по ssh настроен только на конкретные ip (достаточно грамотно), открыты с десяток портов, в том числе 21(FTP), 39, 41 и 95, нашлось несколько дырок, сервер сдался на уязвимости CVE-2014-0196, через нее подняли рута с третьей попытки, два раза сервак падал, но никто даже не шевельнулся, чтобы узнать в чем дело. Искали все, что было похоже на исходники, документацию и т.д. Зашли, осмотрелись, собрали урожай, почистили, проверили, еще раз почистили, ушли.

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

— тестерТьюринга (23/12/2015 11:28)   

Проверьте[link13]
* Caveat: The vulnerability should be exploitable all the way from
* v2.6.31-rc3, however relevant changes to the TTY subsystem were made in
* commit acc0f67f307f52f7aec1cffdc40a786c15dd21d9 ("tty: Halve flip buffer
* GFP_ATOMIC memory consumption") that make exploitation simpler, which this
* exploit relies on.

:)

Ссылки
[link1] https://www.pgpru.com/forum/unixlike/vozmozhnostjvstraivanijatrojanavdistributiv

[link2] https://www.pgpru.com/forum/prakticheskajabezopasnostj/sp3dljawindowsxpskachivaetsjassajjtamajjkrosoftbezcifrovojjpodpisi

[link3] http://en.wikipedia.org/wiki/Hash_function

[link4] https://xakep.ru/2014/11/12/md5-hashclash/

[link5] https://wiki.debian.org/Sha256sumsInPackages

[link6] https://www.pgpru.com/comment21912

[link7] https://www.pgpru.com/comment83572

[link8] http://deb.torproject.org/torproject.org/dists/wheezy/Release

[link9] http://deb.torproject.org/torproject.org/dists/wheezy/Release.gpg

[link10] https://www.pgpru.com/comment88241

[link11] https://www.pgpru.com/forum/kriptografija/neozhidannyesobytijaposlednihdnejjvkriptoanalizeheshfunkc

[link12] http://habrahabr.ru/post/273249/

[link13] http://securityvulns.ru/files/cve-2014-0196-md.c