Patch

Poprawka oprogramowania usuwająca błędy, w tym luki bezpieczeństwa. Regularne instalowanie patchy to jedna z podstawowych praktyk ochronnych.

Patch to porcja kodu, którą dokładasz do działającego oprogramowania, żeby naprawić błąd, załatać lukę bezpieczeństwa albo poprawić wydajność — bez przepisywania całej aplikacji od zera. Nazwa nie jest przypadkowa: po angielsku patch to łatka, tak jak na dziurawych dżinsach. Zamiast wymieniać cały program, nakładasz małą poprawkę dokładnie w to miejsce, które szwankuje.

Jak to działa i po co

Technicznie patch to różnica (tzw. diff) między starą a nową wersją kodu albo binarki. System aktualizacji bierze tę różnicę i nakłada ją na to, co masz zainstalowane, podmieniając konkretne pliki lub fragmenty. Dzięki temu pobierasz kilka megabajtów zamiast całej aplikacji. W świecie bezpieczeństwa patch jest reakcją na wykrytą podatność (często opisaną numerem CVE): producent łata dziurę, zanim ktoś zdąży ją masowo wykorzystać.

Patche dzieli się różnie — na zwykłe poprawki funkcjonalne, security patch (krytyczne, łatające luki) oraz hotfix, czyli szybką łatkę wypuszczaną poza normalnym harmonogramem, gdy coś pali się produkcyjnie.

Przykład z praktyki

Na serwerze z Linuksem aktualizacje bezpieczeństwa zaciągasz menedżerem pakietów. Na Debianie czy Ubuntu wygląda to tak:

  • sudo apt update — odświeża listę dostępnych poprawek,
  • sudo apt upgrade — nakłada je na zainstalowane pakiety.

Czasem po patchu musisz zrestartować usługę albo cały system (np. po aktualizacji jądra). Dobry przykład skali: Microsoft co miesiąc wypuszcza zbiorczy zestaw łatek w drugi wtorek miesiąca — to słynny Patch Tuesday.

Częste błędy i mity

„Nie aktualizuję, bo działa.” — to najkrótsza droga do włamania. Większość udanych ataków wykorzystuje luki, na które patch był dostępny od miesięcy. Z drugiej strony nie nakładaj krytycznych patchy na produkcję na ślepo: zdarza się, że łatka coś psuje. Stąd zasada — najpierw test na środowisku staging, potem produkcja, i zawsze miej plan wycofania (rollback). Pamiętaj też, że unsupported software (np. po zakończeniu wsparcia) już patchy nie dostaje — wtedy żadna łatka nie przyjdzie i trzeba migrować.

Pojęcia powiązane: CVE, hotfix, security update, patch management, zero-day, rollback, vulnerability, Patch Tuesday.