Чи потрібно мені створювати новий пакет оснащення кожного разу, коли залежність отримує оновлення безпеки?


9

Якщо я створю пакет оснащення з можливістю сказати 5 залежностей. Чи потрібно мені створювати нову версію пакета щоразу, коли залежність отримує оновлення (безпеки)?

Я маю на увазі перевагу пакетів .deb в тому, що, наприклад, в Ubuntu / Debian я можу використовувати бібліотеку, і як тільки ця бібліотека отримає оновлення, що означає оновлення і для частини мого програмного забезпечення. Оскільки вони надсилають лише оновлення безпеки, я можу бути (99%) впевнений, що оновлення бібліотеки не порушить API, щоб моє програмне забезпечення могло зламатись.

Відповіді:


7

Коротка відповідь - так, вам потрібно буде відновити своє оснащення, якщо вам потрібно оновити залежність. Однак і тут є довша відповідь.

Скажімо, у вас є програма, яка використовує SSL (це може бути якесь вбудоване програмне забезпечення або повноцінний веб-сайт, що використовує Apache). Ви проводите свої дослідження та використовуєте конкретні алгоритми обміну ключами та симетричні. Тепер скажімо, що в SSL була виявлена ​​вразливість безпеки, і випущена нова версія. Тільки тому, що випуск безпеки не означає, що виправлена ​​вразливість була в одному з алгоритмів, які ви використовували. Що робити, якщо цього не було? Що робити, якщо, зробивши виправлення цієї вразливості в алгоритмі, який ви не використовували, щось зробиливикористання було порушено або порушено (траплялося зі мною нещодавно з PHP)? Якщо ви його з'єднуєте, ви можете зателефонувати про те, чи потрібно оновити оновлення на основі використання. Ви також можете протестувати його перед тим, як розгорнути їх усім своїм користувачам. Існує також можливість, що дистрибутив, на який ви націлюєтесь, має іншу версію SSL, яка не працює з вашим програмним забезпеченням, і при їх пакетному оснащенні можливий загальний досвід роботи на різних платформах.

Очевидно, що між вигодами спільного використання залежностей та вигодами їх поєднання існує розминка.


1
Нещодавно ви відповіли на кілька оснащених питань з певним ступенем авторитету. Ти дев? Якщо ні, чи можете ви зв’язатись з надійними джерелами? Якщо так, чи можете ви створити якісь надійні джерела?
муру

1
(Окрім цього: Якщо мені доведеться довіряти кожному девінським судженням і розумінню коду OpenSSL замість, скажімо, команди Canonical Security або групи технічних розробників Debian, які роками керують OpenSSL, розмова про безпечну оснащення - це навантаження на хогва. )
муру

2
Якщо ви встановлюєте програмне забезпечення від розробника, ви довіряєте цьому розробнику. Питання про те, як вони обробляють SSL, є хорошим прикладом - просто наявність виправленої версії бібліотеки не допоможе вам, якщо розробник програми не використовує бібліотеку розумно. Існує маса прикладів додатків, які мають погану безпеку через поганий вибір алгоритмів або управління ключами або перевірку підписів - нічого спільного з версією OpenSSL, з якою вони пов’язані, не мають нічого спільного. Розумно це зрозуміти - ви не магічно отримаєте безпеку, отримавши нову бібліотеку у вашій системі.
Марк Шаттлворт

2
На противагу цьому, якщо додаток є компрометованим, деб, як правило, відпускає зловмисника по всій системі, тоді як оснащення не буде. Жодна система не є досконалою, але розумно сказати, що оснащення є корисним покращенням у деяких випадках.
Марк Шаттлворт

1
@MarkShuttleworth Я можу довіряти розробнику X, щоб доставити гідну програму мовою Y, але я не можу довіряти їм зрозуміти, чи може певний патч до OpenSSL викликати у них проблеми, і мені здається, саме цього вимагають від них знімки. Це такий рівень технічної деталізації, який я не думаю, що більшості розробників додатків це комфортно, тому вони (і користувачі) покладаються на такі бібліотеки, як OpenSSL та дистрибутиви, як Ubuntu. Звичайно, я ніхто, тому моя думка не враховується. (Крім того, знімки можуть бути обмеженими, це не означає, що вони не обробляють дані користувачів,…
muru
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.