Як безпечно доставляються оновлення програм

Сповіщення «Доступне оновлення» з'являється так часто, що стало фоновим шумом.

Ілюстрація до статті: Як безпечно доставляються оновлення програм

Оновлено:

Сповіщення «Доступне оновлення» з’являється так часто, що стало фоновим шумом. Але за ним стоїть один із найскладніших процесів у сучасних технологіях: нова версія програми має дійти до мільйонів пристроїв, не зламатися по дорозі, не бути підміненою зловмисником, встановитися поверх старої без втрати даних і, якщо щось пішло не так, відкотитися. Ця стаття пояснює, як програма дізнається про оновлення, як гарантується, що воно справжнє, чому оновлення виходять хвилями, і чому «оновлюватися вчасно» — найдешевша порада з безпеки.

Підпис, доставка й встановлення оновлення

  1. Перевірка. Програма або система періодично звертається до сервера оновлень: «моя версія 4.2.1, є щось новіше?». Сервер відповідає метаданими: номер версії, адреса пакета, його розмір, контрольна сума і підпис.
  2. Завантаження. Пакет завантажується, часто у фоні й через CDN, щоб мільйони запитів не впали на один сервер. Багато систем завантажують дельту — лише різницю між версіями, яка в десятки разів менша за повний пакет.
  3. Перевірка справжності. Перед встановленням перевіряється цифровий підпис: виробник підписав пакет закритим ключем, а відкритий ключ вбудований у систему чи програму. Підмінений або пошкоджений пакет не пройде перевірку й буде відкинутий. Це головний захист від того, щоб зловмисник у мережі підсунув вам «оновлення».
  4. Встановлення. Файли замінюються, виконуються міграції налаштувань і даних. Для файлів, що зайняті працюючими процесами, заміна планується на перезавантаження.
  5. Активація й відкат. Мобільні системи і сучасні настільні пишуть оновлення в окремий розділ («A/B-оновлення») і перемикаються на нього при перезавантаженні; якщо нова система не стартує — автоматично повертаються на стару. Windows тримає попередню версію 10 днів для відкату.

Магазини й менеджери пакетів

У Linux оновленнями всіх програм керує менеджер пакетів (apt, dnf, pacman): він знає версії й залежності кожного пакета, перевіряє підписи репозиторію й оновлює все однією командою. Магазини застосунків (App Store, Google Play, Microsoft Store) роблять те саме для телефонів і, дедалі більше, комп’ютерів: централізована перевірка, підпис, автоматичне оновлення. Програми, встановлені «з сайту» поза магазином, мають власні механізми оновлення різної якості — від автоматичного (браузери) до «завантажте нову версію самі». Такі програми найчастіше лишаються застарілими.

Чому оновлення виходять хвилями

Навіть після тестування нова версія може мати помилку, яка виявляється лише на певному обладнанні чи в певній конфігурації. Тому виробники використовують поетапне розгортання: спочатку 1 % пристроїв, потім 10 %, потім усі — з моніторингом збоїв на кожному етапі й можливістю зупинити розгортання. Саме тому сусід отримав оновлення, а ви — ще ні. Варіант того ж підходу — канали: «бета» чи «Insider» отримують версії раніше й приймають ризик, «стабільний» — пізніше.

Типи оновлень

  • Оновлення безпеки закривають вразливості. Найважливіші й найтерміновіші: після публікації виправлення зловмисники аналізують його й пишуть експлойти за дні.
  • Виправлення помилок — стабільність, без нових функцій.
  • Функціональні оновлення — нові можливості й зміни інтерфейсу; іноді з побічними ефектами, тому їх можна відкласти на кілька тижнів.
  • Оновлення прошивки (BIOS/UEFI, роутер, SSD) — найризикованіші, бо переривання може вивести пристрій з ладу; робити з надійним живленням і лише за потреби або для критичних виправлень.

Атаки на ланцюжок постачання

Система оновлень — приваблива ціль: хто контролює сервер оновлень або ключ підпису, той доставляє свій код мільйонам. Відомі інциденти (SolarWinds, CCleaner, атака через оновлення бухгалтерської програми M.E.Doc у 2017 році) відбувалися саме так. Захист виробника — апаратне зберігання ключів, відтворювані збірки, прозорі журнали; захист користувача — встановлювати програми з офіційних джерел і не вимикати перевірку підписів.

Як оновлювати пристрої без сюрпризів

  • Увімкніть автоматичні оновлення для системи, браузера й усього, що працює з мережею; оновлення безпеки ставте негайно.
  • Функціональні оновлення можна відкласти на 1–2 тижні, щоб пропустити перші проблеми, але не на місяці.
  • Установлюйте програми з магазину або через менеджер пакетів — вони оновлюються централізовано.
  • Не встановлюйте оновлення зі спливних вікон на сайтах — «оновити Flash/браузер/кодек» — це класична приманка.
  • Перед великими оновленнями системи зробіть резервну копію; перед прошивкою — підключіть живлення.
  • Періодично перевіряйте програми, встановлені поза магазином: вони можуть роками не оновлюватись.

Часті запитання

Чому оновлення таке велике?

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

Чи можна не оновлювати стару програму, яка «і так працює»?

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

Що робити, якщо оновлення все зламало?

Скористайтесь відкатом (Windows: «Повернутися до попередньої версії», Linux: попередній пакет із кешу, телефон — зазвичай неможливо) або відновіть систему з копії. Повідомте виробника: саме так зупиняють поетапне розгортання.

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

Коротко: програма запитує сервер про нову версію, завантажує пакет або дельту, перевіряє цифровий підпис і встановлює з можливістю відкату; виробники розгортають оновлення хвилями, щоб зловити проблеми рано. Оновлення безпеки ставте негайно, функціональні — з невеликою затримкою, програми беріть із магазинів і менеджерів пакетів, а «оновлення» зі спливних вікон ігноруйте.