Патч програмного забезпечення
September 17, 2023
Термін "патч" зазвичай вказується, коли описується невелика зміна в програмі. На відміну від оновлень, патчі не мають жодних нових функцій та змін у функціоналі програми. Вони менші та спрямовані на виправлення деяких елементів програми. Тому правильним синонімом терміну "патч" є "виправлення помилок". Не всі патчі виправляють помилки, але вони все ще дуже близькі один до одного.
Також цікаво відслідковувати етимологію цього терміну в інформатиці. Патч - це невеликий шматок скотчу, який приклеювався до перфорованої картки - пам'яткової картки минулого, з часів до винаходу дискети в 1971 році. До нововведення IBM дані, як послідовність 0 і 1, зберігалися у вигляді перфорацій на картках, і коли вам потрібно було змінити певні дані - ви мусили приклеїти шматочок скотчу до відповідного отвору.
Чи Безпечні Патчі Програмного Забезпечення?
Найчастіше, патчі містять речі, які не є критичними для функціоналу програми. Застосування невеликих змін, таких як оптимізація чи налаштування інтерфейсу користувача, не є вирішальними для функціоналу програми. Однак, якщо мова йде про усунення вразливостей, оновлення є практично обов'язковими. Патчі безпеки можуть бути кумулятивними, а також невідкладними - у випадку виявлення важливої потенційної загрози та великого ризику атаки через цю вразливість.
Остання категорія патчів була випущена після відомого випадку вирусу-вимагача WannaCry в 2017 році. Багато компаній постраждали, призводячи до втрати майже 4 мільярдів доларів у понад 150 країнах. Таким чином, патчі програмного забезпечення, ймовірно, є доброю ідеєю, особливо якщо вони виправляють серйозні вразливості. Якщо ви сильно покладаєтеся на певну програму, краще слідкувати за подіями, пов'язаними з цим інструментом, щоб уникнути пропуску важливих патчів.
Відмінності між патчами, оновленнями, швидкими виправленнями та виправленнями помилок
Незважаючи на використання їх як синоніми, патчі, оновлення, виправлення помилок та швидкі виправлення не є однаковими. Кожна частина цього списку пов'язана з іншою - з терміном "оновлення" на вершині. Але їх не можна назвати однаковими. Основна відмінність полягає в актуальності наданих змін.
- Швидке виправлення - це невелике невідкладне оновлення, яке впливає на найважливіші проблеми, такі як критичні помилки чи проблеми, які порушують досвід користувача.
- Виправлення помилок - це оновлення, спрямоване на виправлення некритичних помилок та забезпечення загальної чистоти коду.
- Патч програмного забезпечення - це невелике оновлення, яке часто заплановано та містить виправлення уразливостей та помилок, невелику зміну функціоналу або дрібні зміни в кодовій базі. Найкращим прикладом патчів програмного забезпечення є кумулятивні оновлення для Windows, які випускає Microsoft щосереди.
- Оновлення вище за всі речі, зазначені вище. Воно може містити різкі зміни у ключових елементах програми, включаючи основний функціонал та інтерфейс користувача. Воно також може містити елементи будь-яких змін, про які ми згадували вище.
Патчі відкритого коду
Програмне забезпечення з відкритим вихідним кодом має відмінності від програмного забезпечення з закритим вихідним кодом щодо патчів програмного забезпечення. У нього все ще є офіційний розробник - але також є відкритий кодовий базис, який дозволяє користувачам бачити кожну гайку кінцевого продукту. Для майстрів це означає виправлення проблеми в програмі до того, як це зробить розробник. І оскільки відкритий розробництво складно монетизувати та ймовірно є винагородою за допомогу або повністю добровільним, така активність спільноти дуже популярна. Однак вимога є тільки до того, хто хоче випустити свій патч для програми з відкритим вихідним кодом. Цей патч також має бути з відкритим вихідним кодом, щоб спільнота та оригінальний розробник могли його переглянути. В іншому випадку використовувати таку зашморгу - щонайменше, ризиковано, оскільки розробник може додати будь-що, від реклами до шкідливого програмного коду, до програмного коду.
Чи Можуть Бути Патчі Програмного Забезпечення Небезпечними?
Не всі патчі постачаються вам розробником. І ці патчі не мають нічого спільного з вищезазначеними патчами з відкритим вихідним кодом - тепер розмова йде про оновлення, випущені невідомими користувачами для програмного забезпечення з закритим вихідним кодом. Вони можуть бути популярними на форумах спільноти, де обговорюються різні програми. Такі патчі можуть приносити деякі легітимні функції, а також втручатися в роботу програми, щоб отримати можливості, які не доступні за замовчуванням. В будь-якому випадку вони є незаконними, оскільки вони суперечать Ліцензійній угоді кінцевого користувача та авторському праву. В США та більшості країн Європейського союзу вас можуть судити за створення такого патча програмного забезпечення, а тих, хто його використовує, можуть оштрафувати. Використання таких патчів також не рекомендується через збільшений потенціал шкідливого програмного коду - додавання шкідливого програмного коду до цієї зашморги легко.