Безопасность при обновлении Linux
Приветствую участников форума!
Пару дней назад установил Ubuntu 9.10. Ничего не трогал. Только поставил и всё. Далее решил обновить систему. То что, что я увидел в окне процесса обновления меня повергло в шок. В шок, потому, что я здесь прочитал про безопасность Линукса. Чтобы понять весь идиотизм увиденного мной, смоделирую как будто бы это было в Windows. Итак Мы ставим винду, дрова, настраиваем подключение в сеть и начинаем грузить обновления. И тут программа обновления винды нам говорит примерно такое: «Загружаемый файл N не подписан и поэтому его загрузка и установка может нести угрозу безопасности вашей системе. Продолжить обновление?». Идиотизм? Предельный! Как могут с официальных серверов скачиваться сомнительные апдейты??? Я представляю, нет, я даже не могу себе представить, какие бы цистерны дерма полетели в Гейтса, Балмера и весь майкрософт, если бы такое реально произошло. Какой ор стоял бы на весь мир! А тут ничего так, нормально. Скачиваешь с ОФИЦИАЛЬНОГО сайта дистриб убунту, качаешь ей апдейты с ОФИЦИАЛЬНЫХ серверов, которые прописаны изначально в конфигах разработчиками и тебе заявляют, что то что грузится опасно.
Поэтому я хочу прояснить несколько моментов. Как организовать обновление, чтобы не скачать себе бэкдор?. Стоит ли исключать российские зеркала обновлений? И, кстати, можно ли с них качать сами дистрибутивы? У каких сборок точно не будет такой лажи, как я описал выше?
P.S. Сейчас думаю над выбором между Debian и OpenSuse. Ubuntu произвела впечатление наскоро собранного изделия, которое надо доделывать и доделывать.
Ссылки
[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
А чем вы обновляли? Synaptic вроде всегда пропускал битые файлы, а продолжение обновления означает продолжение со следующими пакетами.
Навскидку три возможности:
1) Обрыв соединения по какой-либо причине, и файл не докачался (воспроизводил сам неоднократно)
2) MiTM
3) Взломанный серевер-зеркало.
Эти проблемы решаются электронными подписями, они для этого и предназначены, и в вашем случае защита сработала в штатном режиме.
Никакого ора не будет. Равно как не будет его, если Verisign по ошибке издаст левый сертификат якобы Майкрософта, и кому-то впарят подписанные им апдейты :)
sentaus, здравствуйте!
А чем вы обновляли? Synaptic вроде всегда пропускал битые файлы, а продолжение обновления означает продолжение со следующими пакетами.
Я обновлял через меню администрирование -> обновить. Могу сейчас ошибаться в названиях и путях, т. .к на данный момент снёс систему. Но не через Synaptic точно. Насчёт обрыва соединения – сомневаюсь. У меня выделенка, никаких признаков обрыва не было. Значёк показывал, что соединение есть.
Вам множества открытий чудных готовит обновленья урл.
Напоминает производителей с гарантированием протекшна: скачивайте нашу программу только с нашего адреса. В особо сложных случаях, бывает, модель доверия вообще покоится лишь на имени сайта.
Вам множества открытий чудных готовит обновленья урл.
Да, открытий, и сюрпризов будет, видимо, навалом. Если я правильно Вас понял, нужно перед обновлением переписывать/перепроверять адреса зеркал?
В общем виде вопрос обсуждался здесь[link1] и здесь[link2].
Спасибо, unknown! Очень впечатлило! Ну и в общем виде стало ясно.
Поиск по форуму иногда творит чудеса ;-)
Не обязательно. Просто проверяйте, всё сообщения системы. И если добавляете сторонние репозитории обязательно импортируйте ключи, чтобы непроверенных репозиториев в принципе не было.
Добро пожаловать в клуб! :) Linux-а без косяков не бывает. По идее, если на зеркале лежит неправильный файл, обновлятор должен перебирать зеркала пока не найдёт правильный.
Странно. Не раз обновлял Ubuntu 9.10 (и у себя и у других людей), сейчас то же самое проделал с Ubuntu 10.04, которую только что поставил. Не разу такие сообщения системой не выдавались. Уверены, что дистрибутив взят из надежного источника?
Сам столкнулся с такой ситуацией. При попытке поставить программу из репозитария система выдала предупреждение, что подлинность пакетов не подтверждена. Обновление информации о доступных репозитариях выдало ошибку доступа к определенным из них. Возможно какие-то технические профилактические работы на серверах или что-то в этом духе. Попытка выполнить ту-же операцию на следующий день увенчалась успехом. В любом случае это лучше, чем ставить непонятно что с разных файлопомоек, как это обычно происходит в windows, по крайней мере система дает нужные предупреждения.
Есть еще один вариант, кстати, если не хочется ждать. Просто нужно указать другой сервер обновления. В то же Ubuntu это делается элементарно, через меню "Система – администрирование – источники приложений".
А я думал, что через vim /etc/apt/sources.list
Jedem das Seine
P.S. Я тоже предпочитаю описанный Вами способ. Хотя говорят, что для этого можно emacs /etc/apt/sources.list
Вопрос звучит для простых линуксоидов как идиотский, но вы может быть поймете. Используется какое-нибудь шифрование трафика при апдейте системы и ее компонентов? Так же интересуют способы отключения автоматических обновлений во всех сборках.
Только подпись. Перед установкой она обязательно проверяется.
Сборки назовите, тогда скажем.
Ещё используются хэш-функции[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-ый пока что.
Список пакетов со всеми хэшами заверен GnuPG-подписью. Этой темы касались здесь[link6], здесь[link7] и возможно где-то ещё.
На примере топроджекта: все суммы[link8], их подпись[link9]. И если не совпадёт хоть одна сумма или побьётся подпись, то пакет в систему не поставится, если только вы руками в обход этого механизма не поставите принудительно. В стандартном Debian также есть SHA-256 суммы всех пакетов. Суммы их содержимого для безопасной установки не нужны.
Оно вам нужно? Шифрование не защищает пакет от подмены. Если вы уверены и понимаете для чего оно вам нужно (скорее нет), то путём некоторых дополнительных установок и настроек можно качать с https-репозиториев или через Tor. Но безопасность поддерживается подписями списков хэшей. Шифрование — если только для сокрытия от локального наблюдателя, чтобы он не знал, какие пакеты вы ставите в систему.
О взломе md5 было известно десять лет назад, в т.ч. и на нашем сайте были новости[link11], а я тогда по такому случаю решил перестать постить из под гостя и зарегистрировался под ником ;), а о теоретической возможности взлома было известно в 1996 году. Какие там сейчас очередные практические успехи — уже давно не так важно.
Unknown был пьян. :)
Связан ли как-то взлом md5 и подпись PGP-пакетов на связке ключей? Была ли такая проблема раньше? Если в подписи всё привязано к взломанному хэшу, можно подменить, например, фото на связке или подключи (или даже навесить к существующим ещё свои поврех с точно такими же хэшами ☺).
Странно, ваши посты там гостевые, а SATtva кликает вас как unknown'а. Это специфика распарса форумных сообщений со старого движка при переезде на новый, или SATtva просто использовал слово «unknown» как синоним словам «аноним», «Гость»?
Связан, из-за этого, в частности, формат ключей v3 (использующий MD5) уже давно deprecated и insecure. Поиск второго прообраза пока всё равно за рамками практических атак (так что заменить один пакет сертификата на другой слишком затратно), но сделать за счёт коллизий два ключа с разным набором пакетов и заменять один другим к своей выгоде вполне реалистично.
По этой причине. Некоторые форумные ники (например, содержащие пробелы) были несовместимы с новым движком, но что там было с этими ранними постами unknown'а, уже не могу сказать, прошло слишком много времени.
У SATtv'ы для особых случаев есть секретный различителей гостей, даже незарегистрированных, никакие торы и шифры против него не помогают.Тогда можно было как и сейчас, отправлять сообщение от незарегистрированного гостя, но при этом указывать какой-то незанятый ник. Я начал указывать «временный» ник unknown, затем его же и зарегистрировал на постоянно. Первый возможный вариант: при очередном обновлении движка у постов от гостей с незарегистрированными никами эти ники слетели. Другой вариант: после регистрации ника слетели все посты от этого незарегистрированного ника, пока они были от гостя. Как-то так.
Точно.
Универсальных способов нет? Для дебианов и Linux Mint)
Подскажите, как смотреть сборку с точными версиями, релизами и т.п.
прочел как "для дебилов"
В дебианах и так нет автоматического обновления (пакет unattended-upgrades не настраивается по умолчанию в режим установки обновлений), пока флажок не поставите.
В общем случае никак.
Попробуйте:
Безопасность без обновления Linux[link12]:
Плохо, не написали, через какой сервис поломали. Помимо локал рута наверно уязвимость в каком-то демоне должна была быть.
Проверьте[link13]
:)