The Update Framework, засіб для безпечної перевірки та завантаження оновлень

Було оголошено про випуск нової версії 1.0 The Update Framework, більш відомий як TUF і характеризується тим, що є фреймворком, що забезпечує засоби для безпечної перевірки та завантаження оновлень.

Основна мета проекту – захистити клієнта від типових атак до сховищ та інфраструктури, включаючи протидію просуванню фальшивих оновлень зловмисниками, створених після отримання доступу до ключів для створення цифрових підписів або компрометації сховища.

Про TUF

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

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

Для інтеграції з додатками та систем інсталяції оновлень надається низькорівневий API для доступу до метаданих та впровадження високорівневого клієнтського API ngclient, готового до інтеграції додатків.

Серед атак, яким може протистояти TUF є підміна версії під виглядом оновлень для блокування виправлень уразливостей програмного забезпечення або повернення користувача до попередньої уразливої ​​версії, а також просування шкідливих оновлень правильно підписаний за допомогою скомпрометованого ключа, здійснюючи атаки DoS на клієнтів, наприклад заповнення диска нескінченним оновленням.

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

L Метадані, перевірені TUF, містять ключову інформацію яким можна довіряти, криптографічні хеші для оцінки цілісності файлів, додаткові цифрові підписи для перевірки метаданих, інформацію про номер версії та інформацію про тривалість запису. Ключі, які використовуються для перевірки, мають обмежений термін служби та вимагають постійного оновлення для захисту від підписання старими ключами.

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

Система використовує ієрархію ролей з власними ключами, наприклад, роль root підписує ключі для ролей, відповідальних за метадані в репозиторії, дані про час формування оновлень і цільових збірок, у свою чергу роль, відповідальна за збірки, підписує ролі, пов'язані з сертифікацією доставлених файлів .

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

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

Опублікована версія о TUF 1.0.0 пропонує повністю переписану довідкову реалізацію і стабілізовану версію специфікації TUF, яку можна використовувати як готовий приклад під час створення власних реалізацій або інтеграції у свої проекти.

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

Проект розроблений під егідою Linux Foundation і використовується для покращення безпеки доставки оновлень у таких проектах, як Docker, Fuchsia, Automotive Grade Linux, Bottlerocket і PyPI (незабаром очікується включення перевірки завантаження та метаданих у PyPI).

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


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.