Чи захищені пакети ubuntu (deb-файли) лише md5sum?


13

Вступне підґрунтя до питання нижче ###

(тож питання є більш корисним для більшої кількості людей)
Всередині пакета стилю Ubuntu / debian (* .deb-файл) є файл, /DEBIAN/md5sumsякий має ім’я, який містить зміст цієї форми:

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f шлях / до / file2
8c21de23b7c25c9d1a093607fc27656a шлях / до / file3
c6d010a475366e0644f3bf77d7f922fd шлях / до / місця / of / file4

Як я припускаю, цей файл буде використовуватися для перевірки того, що файли, які постачаються з пакетом, не були пошкоджені якось. Оскільки файл називається `/ DEBIAN / md5sums", я припускаю, що шістнадцяткове число до шляху + ім'я файлу - алгоритм хеш -алгоритму передачі повідомлень MD5 файлів пакету.

Тепер усі бажаючі знають, що хеш MD5 був зламаний вже давно. Тому цілком можливо змінити вміст файлу в пакеті (наприклад, зловмисно) і все одно мати файл, що має той самий MD5-Hash (див., Наприклад, Доведення концепції "Прогнозування переможця ...." ).

Питання

Маючи на увазі інформацію, подану вище, я хочу знати наступне:

** Припустимо, що я встановив пакет у своїй системі Ubuntu. Є DEBIAN/md5sumsєдиним засобом переконатися, що дані не були підроблені? **

Відповідаючи на запитання, я думаю, що це могло б допомогти з'ясувати наступне:

  • Чи також хешовані пакети дебю в цілому (зроблені Hashvalues), так що є інший спосіб убезпечити отримані файли "безпечними" / "незашкодженими"
  • Якщо DEBIAN/md5sumsдля забезпечення цілісності файлу існують інші способи, то який файл у будь-якому випадку входить у пакети * .deb?
  • Чи використовує Ubuntu хеші для сховищ / пакетних систем, які "менш зламані", ніж SHA-1 та MD5?

яких, на жаль, я також не знаю.

Будь-який відгук, який може пролити світло на питання (або навіть лише підпитання), дуже вітається

оновлення

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab , здається, вказує , що є (як я сподівався) деякі / секретний ключ GPG громадськості відбувається (тримати угод РЕПО і системи упаковки) сейф від нападів. Інформація у пов’язаному місці не дуже велика. Він майже нічого не говорить про аспект безпеки Пакетної системи. Так чи інакше, я припускаю, що посилання вже вказує на те, що відповідь на запитання буде "НІ - принаймні дебют-пакети з репо - також захищені ....". Сподіваюся, у когось є якась ідея, яку можна використати для відповіді тут.

(2) Це питання, схоже, також стосується теми "безпеки" в пакетній системі Ubuntu. Тож я просто додаю його сюди, щоб його рекламна рука, якщо хтось прагне вирішити питання: Чому запропоновані виправлення BADSIG (під час оновлення apt-get) захищені?


1
debian.org/doc/debian-policy/… вказує на підтримку SHA-1 та SHA256 контрольних сум на файл, однак я не знаю, що таке aptполітика контрольної суми.
хроніт

1
@chronitis дякую за посилання там. Дійсно, хеші SHA- * там згадуються, я все ще мушу розібратися, як вони відображаються в пакунках (яких я ще не бачив) або системі пакунків. Чи знаєте ви більше? Що ж, вказівка ​​вже є хорошим кроком
людство, яке

Відповіді:


21

Ubuntu публікує маніфест, який підписується ключем RSA. У маніфесті перераховані окремі Packagesфайли індексів, кожен з яких має хеші MD5, SHA-1 та SHA-256. Кожен Packagesфайл перераховує окремі .debфайли з хешами MD5, SHA-1 та SHA-256.

Для перевірки apt використовує найкращий хеш, який він підтримує, і публікує архів, з якого завантажується. Що стосується архіву Ubuntu, це SHA-256.

Таким чином, весь ланцюг встановлення пакетів у вашій системі Ubuntu захищений RSA та SHA-256.

Захист MD5, який існує у dpkg, дійсно корисний лише для випадкових пошкоджень, а не є необхідним для захисту шляху встановлення.

Можливо, вам буде цікавий debsumsпакет, але оскільки він використовує MD5, він також корисний лише для перевірки на випадкові пошкодження.

Якщо ви хочете перевірити наявність шкідливої ​​модифікації системи, то це не підходящий для вас інструмент. Вам потрібно буде зняти систему в режимі офлайн і перевірити, чи немає попередніх записів, оригінальних файлів пакету або захищених хешей, створених з них.

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


1
Я набув яснішого розуміння. Звідки ви взяли всю цю інформацію, яку у мене така складна у пошуку? Чи є у вас якісь документи / посилання, якими ви користувалися? Також я вдячний згадкою про "небезпеку пониження", яку ви згадали, тому я ще не розумію, наскільки шалено це може бути використане. Чудово! дякую
людствоANDpeace

Я не вірю, що формат сховища належним чином визначений або зафіксований будь-де. Це погано, але так воно і є. Найкраща справжня документація (і наскільки мені відомо) - це джерело. Я знаю деталі, тому що я працював у джерелі. З іншого боку, формат dpkg дуже добре визначений у політиці Debian. Він охоплює те, що відбувається після того, як пакети потрапляють у вашу систему, але не про те, як вони потрапляють. Остання частина виконується влучно.
Робі Басак

Пониження ризику: це сторону і насправді не пов'язане безпосередньо з вашим початковим питанням. Якщо експлуатація X виявлена ​​у версії A, ви отримуєте оновлення безпеки до версії B, де вразливість виправлена. Якщо зловмисник може експлуатувати X у версії A, то ви в безпеці, оскільки ви перейшли на B. Але якщо зловмисник також може понизити вас до A, ви знову вразливі. Ви цього не помітите, навіть якщо всі ваші захищені хеші відповідають встановленим вами пакетам, оскільки ваша база даних повідомляє, що у вас має бути встановлений A, а не B.
Робі Басак

2
@RobieBasak "Я не вірю, що формат сховища належним чином визначений або зафіксований будь-де". Очевидно, це неправда. Ви просто повинні його шукати. Debian Wiki: RepositoryFormat
gertvdijk

6

Я хотів, щоб це був коментар, але я не міг помістити його в поле, тому розміщую його тут.

Так, md5 зламаний криптологічно, але це не означає, що це поганий алгоритм хешування загального призначення. Змінити файл таким чином, щоб він мав той самий хеш, неймовірно складно, і зробити це з певною шкідливою зміною майже неможливо. З погляду на приклад, на який ви посилаєтесь, ( Прогнозуючи переможця ), дивіться це:

"Документи спочатку ретельно готувались як дійсні документи PDF, із вбудованим об'єктом прихованого зображення, що містить достатню кількість випадкових біт. Потім, згідно з алмазною структурою, показаною вище, було обчислено одинадцять зіткнень з обраними префіксами та розміщено всередині прихованого зображення об'єктів саме в належних місцях. Таким чином дванадцять документів були перетворені на багато зіткнення MD5 ".

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


3
дякую за відповідь. Я думаю, що це хороша відповідь, в тому сенсі, що вона дає більше світла на весь фон :) На жаль "Стек ... Запитай Ubuntu" іноді важко "суворо відповісти лише на питання", і тому його чудово ти набрався сміливості детальніше розглянути тему.
людствоANDpeace

Підготовлені файли PDf мають випадкові дані і всього 104 кбіт при всіх цих зусиллях. Чому б ти сказав, що тоді це неможливо? У деб-пакетах повинно бути тонни файлів> 200 кбіт, де потрібно зробити таке. Я відчуваю себе не так безпечно, побачивши докази концепції, що мене здивувало і шокувало
людствоANDpeace

У законних файлах є багато місць, де тонка зміна не виглядає незвичайною, наприклад, незначні відмінності пробілів у текстовому файлі. Потрібно лише знайти близько 128 цих місць, щоб мати достатній обсяг, щоб створити шкідливий файл, який видається законним, а також відповідає бажаному цільовому MD5. Я не впевнений, чи може ця атака застосуватись до цієї ситуації.
Робі Басак

@RobieBasak, ти неправильно розумієш атаку. Ви не можете просто змінити 128 байт у файлі та зберегти md5sum. Ви повинні вставити фрагмент того, що в іншому випадку представляється двома наборами випадкових даних у дві копії файлу, і вони матимуть однаковий md5sum, як один до одного, незважаючи на те, що два шматки "випадкових" даних різняться.
psusi

1

md5 не "зламано". Вони знайшли спосіб ретельно скласти оригінальне повідомлення та модифіковане повідомлення з таким самим хешем. Неможливо взяти оригінальне повідомлення, не спеціально створене для підробки (правильний файл), та змінити його таким чином, щоб зберегти його md5sum.


добре. Але який би був хороший спосіб віднести поточний стан безпеки MD5 зараз, якби не "зламаний"? Я можу зрозуміти, що ви говорите, і я дякую за те, що вказав на це. Мені все ще цікаво, як оцінити поточну безпеку за допомогою MD5 тощо.
людство,

@humanityANDpeace, "просто чудово".
psusi

Мені подобається оптимістичне ставлення. Я все ще був вражений доказом концепції. Спасибі!
людствоANDpeace

1
"Експерти з криптовалюти вважають MD5 порушеним. Тому його слід вважати порушеним." це не так, як працює світ @RobieBasak Як ентузіаст криптовалюти (не можу назвати себе "експертом", але мені довелося вникнути в нього кілька років тому), я б не заявив, що MD5 зламаний. Просто, що є цікавий випадок, який варто перевірити, але це здається теоретичним атм. Але це не зламає упаковку Ubuntu;) Назад до 0 psusi;)
Rinzwind

1
@jackweirdy, насправді, є, і тому вони цього не зробили. Їх метод спирається на обидва набори даних, що мають дуже специфічні властивості. Це дуже схоже на публічний ключ. Ви можете генерувати пари ключів, які відповідають один одному, але, даючи лише один, ви не можете з'ясувати інший.
psusi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.