| Termin | Definicja |
|---|---|
| przestarzałe wersje PHP/Python/Node.js | Przestarzałe wersje języków programowania niosą ryzyko luk bezpieczeństwa niezałatanych przez producenta. Co oznacza przestarzałe środowisko uruchomienioweOkreślenie „przestarzałe wersje PHP/Python/Node.js” odnosi się do wydań tych języków i środowisk, dla których producent lub główny zespół utracił już obowiązek publikowania poprawek bezpieczeństwa. Sam fakt, że program nadal się uruchamia, nie oznacza więc, że jego środowisko wykonawcze jest bezpieczne. Nieaktualny interpreter może zawierać błąd pozwalający na wykonanie kodu, obejście kontroli dostępu, ujawnienie informacji albo doprowadzenie do odmowy działania aplikacji. PHP jest językiem wykonywanym zwykle po stronie serwera WWW, Python może obsługiwać aplikacje, skrypty administracyjne i narzędzia lokalne, a Node.js uruchamia kod JavaScript poza przeglądarką. Każde z tych środowisk ma własny cykl wydań, własne poprawki oraz osobne zależności. Nie można zakładać, że aktualizacja systemu Windows lub dystrybucji Linux automatycznie zaktualizowała interpreter używany przez konkretną aplikację. Często w systemie pozostają jednocześnie różne wersje, a program korzysta z tej wskazanej w konfiguracji, zmiennej środowiskowej albo menedżerze usług. Luki wynikające z braku aktualizacjiNieobsługiwana wersja może pozostawać podatna na błędy naprawione już w późniejszych wydaniach. Dotyczy to zarówno samego interpretera, jak i dołączonych modułów oraz bibliotek. W przypadku PHP ryzyko może dotyczyć na przykład mechanizmu przetwarzania żądań, obsługi danych wejściowych lub rozszerzenia używanego przez aplikację. W Pythonie problem może znajdować się w bibliotece instalowanej przez pip, a nie w podstawowym interpreterze. W Node.js zagrożenie może dotyczyć środowiska uruchomieniowego albo pakietu pobranego z rejestru npm. Przestarzałe środowisko zwiększa także ryzyko niezgodności z aktualnymi bibliotekami, systemem operacyjnym i protokołami szyfrowania. Pośrednim skutkiem bywa pozostawienie starszego serwera WWW, biblioteki kryptograficznej lub dodatku tylko dlatego, że nowsze komponenty nie współpracują ze starą wersją języka. Taki układ utrudnia szybkie wdrożenie poprawki, ponieważ każda zmiana może spowodować błąd uruchamiania aplikacji. Szczególnie niebezpieczne jest ignorowanie komunikatów o wycofaniu funkcji, ostrzeżeń menedżera pakietów i błędów zależności. Jak ustalić, która wersja faktycznie działaWeryfikację należy przeprowadzić w tym samym środowisku, w którym działa program. Polecenie Sama kontrola numeru wersji nie wystarcza. Trzeba ustalić, czy dana gałąź nadal otrzymuje poprawki, z jakiego źródła została zainstalowana oraz jakie moduły są faktycznie ładowane. W Pythonie istotna jest lista zależności projektu, na przykład wynik Bezpieczna aktualizacja na laptopie i komputerzeNa komputerze domowym lub biurowym przestarzały PHP, Python albo Node.js może być składnikiem lokalnego panelu, narzędzia programistycznego, pakietu automatyzującego pracę lub aplikacji uruchamianej przez użytkownika. Najbezpieczniejsza kolejność obejmuje identyfikację programu korzystającego z interpretera, sprawdzenie wymagań producenta, aktualizację do wspieranej gałęzi oraz test podstawowych funkcji. Nie należy usuwać starej wersji bez ustalenia zależności, ponieważ może ona być potrzebna konkretnemu programowi. Jeżeli starsza aplikacja nie może zostać od razu zmieniona, ogranicza się jej uruchamianie i dostęp, a plan modernizacji powinien obejmować także biblioteki. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może sprawdzić problemy z instalacją środowiska programistycznego, konfliktami wersji, usługami uruchamianymi w systemie oraz błędami pojawiającymi się po aktualizacji. Wynik prac powinien wskazywać wykryte wersje, programy, których dotyczą, oraz czynności wykonane w celu przywrócenia prawidłowego działania. Taki opis ułatwia późniejsze aktualizacje i pozwala odróżnić awarię sprzętu od błędu konfiguracji oprogramowania. |