Чи безпечні списки сховищ? Чи є версія HTTPS?


24

Чи безпечні оновлення репозиторію?

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

Чи може будь-яка мережа вирішити підробляти сайти оновлень, і чи це звичайна практика надання локальної кешованої та перевіреної копії?

Відповіді:


30

Коротше кажучи, так, вони надійні через криптографію відкритого ключа, яка використовується для підпису файлів.

Усі файли, завантажені APT, мають підпис, що дозволяє перевіряти завантажений файл відповідно до відкритих ключів, що зберігаються на вашому комп’ютері, як підписані Ubuntu та лише Ubuntu. Це підтверджує, що отриманий файл був авторизований Ubuntu на певному етапі і не був змінений або підроблений з тих пір.

Технічне пояснення, як це працює, доступне від Ubuntuвід Debian, який використовує ту ж систему).

Через використання HTTP замість HTTPS, так, підслуховувачі можуть бачити, які файли ви завантажуєте, але конфіденційність, швидше за все, не буде турбувати у цьому випадку. Спроба "середнього" змінити пакети для введення шкідливого коду все ще не вдасться, оскільки це порушить механізм підписання.

Одним із можливих механізмів цього механізму підписання є те, що це не гарантує отримання найсвіжішої версії пакету (дійсно, іноді дзеркала повільно оновлюються). Щоб полегшити цю проблему, підписаний файл випуску містить дату "Дійсна до цього часу", після якої всі файли, на які він посилається, слід вважати застарілими. Людині, що перебувають у середині, буде правдоподібно замінити архів немодифікованою попередньою версією архіву протягом цієї дати дійсної дії та змусити ваш APT повірити, що оновлень немає. Але вони не можуть внести будь-яких довільних змін у пакунки, а також не зможуть повернутися назад у певний момент.

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

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


1
Чудово! Отже, коротка версія - "транспортний рівень не захищений, але кожен пакет підписаний. Немає безпечного переліку доступних оновлень, а патчі для існуючих проблем із безпекою не гарантовано доставлені".
Чарльз Мерріам

2
Не впевнений , що ви маєте на увазі під «Там немає безпечного список доступних оновлень» , але файл випуску і списки пакетів будуть підписані. Просто це не підтверджує, що ваше дзеркало оновлено.
thomasrutter

3
Так, якщо немає можливості переконатися, що дзеркало чи основний сайт оновлені, то немає ніякого способу дізнатися, чи є оновлення, оновлення безпеки чи інше. Тобто, немає безпечного списку доступних оновлень.
Чарльз Мерріам

4
Аліса управляє Ubuntu. Боб контролює Інтернет-зв’язок Аліси. Боб не може поставити поганий пакет у встановлення Аліси, оскільки кожен пакет підписаний. У Ubuntu знайдеться величезний недолік безпеки. Аліса спробує знайти оновлений пакет, але Боб видаляє всі згадки про пакунок від перевірки оновлення Аліси. Аліса вибиває sysadmin, а потім тягне перевірку оновлення через HTTPS з ubuntu.com, підтверджуючи, що вона підключена до реального веб-сайту за захищеним посиланням. Тепер Аліса бачить оновлення безпеки, і Боб не може її приховати.
Чарльз Мерріам

3
Це, звичайно, правильна відповідь. Але мені здається дивним те, що, здається, ніхто не турбується про підслуховувач, який збирає список усіх пакунків, які ви встановили для того, в тому числі на ті, які ви оновили, а які на них немає, щоб націлити їх на атаку на відомі вразливості безпеки в цих пакетах.
Тікін

8

Тут найкраще відповідь чітко застаріла. З тих пір було знайдено 2 серйозні подвиги віддаленого виконання коду, знайдені в apt через перевірку пакетів пакетів. Бюлетені з безпеки тут і тут .

Це набагато гірше, ніж побоювання щодо конфіденційності / витоку інформації та застарілої версії пакету; це дозволяє виконувати довільне виконання коду як корінь, повний збій із захистом. І справа в тому: ці атаки були б запобіжені, якби замість http використовувались https.

Це доводить, що принцип захисту в глибині застосовується тут так само, як і деінде. Багато тверджень, що плавають навколо того, що https не дає ніякої або мінімальної користі для безпеки в контексті сприятливих, просто невірно, як показали ці подвиги.

Тоді виникає питання, чи варто вигода від безпеки https коштувати в плані кешування, збільшених накладних витрат і т.д. .


1
Безпека також стосується конфіденційності, а засоби HTTPS принаймні набагато складніше будуть розбирати, які пакунки та версії ви використовуєте.
l0b0

Я скажу, що поки у apt сам із цим не виникає проблем, http нормально. Однак https надає резервну копію у випадку, якщо захист gpg (або як точніше він використовує) псується.
RoundDuckMan

2

Важливе доповнення. Насправді, оскільки завантаження оновлення та початкової установки в Інтернеті вимагає багато трафіку, і джерело цих трафіків, тобто бінарні та текстові кодові потоки, відтворюється. Тож в Інтернеті є велика кількість шлюзів та кеш-пристроїв. Значна кількість провайдерів створила кеш на основі протоколу http, щоб зберегти пропускну здатність експорту, і протокол https не може існувати як прозорий кеш.

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

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.