Списки хранилищ безопасны? Существует ли версия HTTPS?

Обновления репозитория безопасны?

Как перенос небольшого мозга со стороны разработчика, я не могу понять, почему список хранилищ http://security.ubuntu.com и другой http(незащищенные) сайты, перечисленные в /etc/apt/sources.list. Без сертификата цепочка соответствует, это появляется как, "попросите, чтобы любой респондент список пакетов обновил" вместо того, "спросите сайт ubuntu.com..."

Какая-либо сеть может принять решение имитировать сайты обновления, и действительно ли это - обычная практика для обеспечения локально кэшируемой и исследуемой копии?

28
задан 15 April 2014 в 11:43

3 ответа

Короче говоря, да, они безопасны, так как для подписи файлов используется криптография открытых ключей.

Все файлы, загруженные APT, имеют подпись, которая позволяет проверить загруженный файл на наличие открытых ключей, хранящихся на вашем компьютере, как подписанных Ubuntu и только Ubuntu. Это подтверждает, что полученный вами файл был на каком-то этапе авторизован Ubuntu и с тех пор не изменялся и не подделывался.

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

Из-за использования HTTP вместо HTTPS, да, подслушивающие устройства могут видеть, какие файлы вы скачиваете, но конфиденциальность в этом случае вряд ли будет вас беспокоить. Попытка man-in-the-middle модифицировать пакеты, чтобы внедрить вредоносный код, все равно провалится, потому что это сломает механизм подписи.

Одним из возможных моментов в этом механизме подписи является то, что он не гарантирует, что вы получаете самую последнюю версию пакета (на самом деле, иногда зеркала медленно обновляются). Чтобы смягчить эту проблему, в подписанном файле выпуска есть дата "Valid-Until", после которой все файлы, на которые он ссылается, должны считаться просроченными. Было бы правдоподобно, если бы man-in-the-middle заменил архив на нем немодифицированную более раннюю версию в течение этой даты Valid-Until и заставил бы APT поверить, что обновлений нет. Но они не могут вносить произвольные изменения в пакеты и не могут вернуться назад во времени после определенного момента.

Механизмы подписания обеспечивают гораздо лучшую безопасность, чем HTTPS в такой распределенной среде, где файлы зеркалируются на многих серверах, не контролируемых Ubuntu. В сущности, вам нужно только доверять Ubuntu, а не зеркалу, поэтому вам нужно доказать, что файлы изначально пришли из Ubuntu и с тех пор не были изменены - нет необходимости проверять идентичность зеркала.

Обратите внимание, что когда вы добавляете неофициальный репозиторий к списку источников, например, PPA, вы будете получать файлы, которые не подписаны Ubuntu. APT должен предупредить вас об этом, так как они не были подписаны сертификатом, совпадающим ни с одним из открытых ключей, установленных на вашем компьютере и авторизованных Ubuntu.

30
ответ дан 15 April 2014 в 11:43

Самый популярный ответ здесь явно устарел. С тех пор в apt было обнаружено 2 серьезных уязвимости для удаленного выполнения кода из-за ошибок при проверке пакетов. Бюллетени по безопасности здесь и здесь .

Это намного хуже, чем опасения по поводу конфиденциальности / утечки информации и устаревшей версии пакета; это позволяет выполнять произвольный код от имени root, полный отказ безопасности. И дело в том, что эти атаки можно было бы предотвратить, если бы вместо http использовался https.

Это доказывает, что принцип глубокоэшелонированной здесь применим, как и везде. Многие утверждения о том, что https не обеспечивает или обеспечивает минимальное преимущество безопасности в контексте apt, просто неверны, как показали эти эксплойты.

Тогда возникает вопрос, стоит ли выгода от https для безопасности затрат с точки зрения кэширование, увеличение накладных расходов и т. д. Я не могу ответить на этот вопрос, но, по крайней мере, я думаю, что Ubuntu / Canonical / Launchpad должны предоставлять дополнительные конечные точки https для своих репозиториев.

14
ответ дан 15 April 2014 в 11:43

Важное дополнение : на самом деле, как обновление и первоначальная установка загружаются онлайн, для этого требуется много трафика, и источник этого трафика, то есть потоки двоичного и текстового кода, является воспроизводимым. Так что в Интернете для этого есть большое количество шлюзов и кеш-устройств. Значительное количество интернет-провайдеров настроили кэш на основе протокола http, чтобы сохранить пропускную способность экспорта, а протокол https не может существовать как прозрачный кеш.

Другая причина заключается в том, что программа зеркалирования на основе http намного проще, нет необходимости проверять сертификат tls-ssl, а также не нужно беспокоиться о недействительности сертификата или проблемах конфигурации веб-сервера.

Не так давно, около 20 лет, в начале Интернета https и Интернет-трафик все еще были очень дорогие геймплеи. Таким образом, http также включает протокол ftp, который почти устарел, в качестве основного способа установки и обновления пакетов программного обеспечения, распространяемых через Интернет.

Аналогичным образом, Microsoft Windows и Office также обновляются с использованием http. Вы можете заметить, что обычно это не установочный пакет, загруженный с сервера Microsoft, а кэш-сервер, созданный вашим интернет-провайдером.

3
ответ дан 15 April 2014 в 11:43

Другие вопросы по тегам:

Похожие вопросы: