Windows XP: niebezpieczny, czy… po prostu nieużywalny?

Strona głównaWindows XP: niebezpieczny, czy… po prostu nieużywalny?
06.04.2022 06:41
Windows XP
Windows XP
Źródło zdjęć: © GettyImages | South China Morning Post

Od czasu do czasu, wewnętrzne statystyki ruchu na dobrychprogramach wprawiają w osłupienie. Nawet biorąc poprawkę na sfałszowane "user agenty" okazuje się, że niepomijalna grupa odwiedza serwis... z systemu Windows XP. Wciąż.

Windows XP to obecnie, jak dobrze wiadomo, kiepski pomysł. Głównym powodem tego stanu rzeczy jest bezpieczeństwo. A dokładniej mówiąc - spory wysiłek niezbędny do włożenia, by jakieś pozory owego bezpieczeństwa w ogóle zapewnić. Ale wcale nie jest tak, że wejście z użyciem XP do internetu po kilku sekundach poskutkuje włamaniem (a i takie opinie można usłyszeć). Ten pełen grozy i mocno przedramatyzowany opis pochodzi jednak z czasów, w których naprawdę coś takiego miało miejsce! Windows 2000 i jego następca faktycznie sprawiali problemy umożliwiające przejęcie systemu w ciągu kilku minut.

Ale tak opowiedziana historia jest niedokładna: dotyczy domyślnej konfiguracji systemu sprzed Service Packa 2 (a więc sprzed ponad osiemnastu lat), dawno załatanych dziur, sytuacji w których komputery osobiste podłączano do internetu bezpośrednio (publiczny adres IP! Stare dzieje…), a czas do infekcji mierzono podczas szalejącej właśnie epidemii jakiegoś sieciowego robaka. W praktyce, XP "sam z siebie", załatany, nie ugnie się aż tak łatwo pod naporem atakujących (znikąd najwyraźniej) hakerów.

Główny scenariusz czyniący Windows XP systemem niebezpiecznym do użytku, wykluczając rzecz jasna pracę we wrogiej sieci lokalnej, to atak przez przeglądarkę internetową. Ucieczka z piaskownicy JavaScript, atak na nietypową, charakterystyczną dla konkretnego wydania przeglądarki dziurę lub wykorzystanie inherentnych słabości pewnych dziwactw, jak WebRTC. Czy to jest rzeczywiste zagrożenie? Cóż, tak. Nieco mniej jasne jest to, czy skala tego zagrożenia jest warta brania pod uwagę.

Przeglądarki

Dziury w przeglądarkach są opłacalne. Programy bug bounty sporo za nie płacą (przestępcy też), a zidentyfikowane podatności służą do rozkręcania krótkich (wszak dziurę szybko naprawią) acz zuchwałych kampanii. Jeżeli jednak wyłączymy ładowanie niebezpiecznych skryptów, musielibyśmy natrafić na coś naprawdę złowrogiego i przekombinowanego, żeby dostać wirusa.

Wordle: nie dla XP
Kamil Dudek
Wordle: nie dla XP

XP nie stanowi zagrożenia sam z siebie, gdy stoi w bezpiecznej sieci za routerem. Ostatnie wersje przeglądarek zgodnych z tym systemem istotnie są dziurawe, ale kategoria tych dziur nie czyni z nich jednoznacznych przepisów na katastrofę. I choć dalsze używanie XP w dzisiejszych czasach to kiepski pomysł, problemy użytkowe okazują się być ważniejsze. I głównym z nich jest… JavaScript.

Wraz z ustanowieniem monopolu Internet Explorera, rozwój JavaScriptu, napędzany siłą kreatywności Netscape'a, stanął w miejscu. Dopiero Firefox, a następnie Chrome zmieniły ten stan rzeczy, ale następowało to powoli. Przerwa między kolejnymi wydaniami standardu ECMAScript wynosiła dekadę(!). Gdy IE został zamordowany, rozwój JS z powrotem przyspieszył.

Żywy standard = martwi poprzednicy

Obecnie JavaScript rozwija się ekstremalnie szybko, a osnowa stron internetowych, HTML5, w ogóle jest "żywym standardem" i WHATWG po prostu dorzuca do niego nowości, stosując dość arbitralną numerację. W rezultacie ostatnie obsługiwane wersje przeglądarek dla Windows XP nie potrafią otwierać najnowszych skryptów JS. Dobrze ilustruje to przykład Wordle.

83% zgodności z HTML5? To dziś za mało!
Kamil Dudek
83% zgodności z HTML5? To dziś za mało!

Strony, która nie jest przesadnie skomplikowana, a językowych nowości nie stosuje ze złośliwych powodów. Niemniej, nie da się jej poprawnie wyświetlić na Firefoksie 52.9 ESR. Jest "za nowa". Choć jest to racjonalny problem w przypadku systemu z roku 2001, brzmi zabawnie w odniesieniu do przeglądarki z 2018. To naprawdę nie było dawno temu.

Drugi problem to TLS. Systemowy stos kryptograficzny nie obsługuje Protokołu TLS 1.2. Korzystające z niego przeglądarki internetowe i programy pocztowe mają rosnące problemy z komunikacją z serwerami nieoferującymi fallbacku do poprzedniej wersji. Z biegiem czasu, taka komunikacja stanie się po prostu niemożliwa. Firefox dla XP obsługuje TLS 1.2 poprawnie i przeciąga to problem aż do czasu migracji do TLS 1.3, ale…

Certyfikaty

Nawet jeżeli JS działa, to może się okazać na tyle spuchnięty, że nie zmieści się w pamięci. Windows XP obsługuje 3 gigabajty pamięci RAM (z lekką górką) i choć nie ma bariery technicznej, by znieść ten limit (PAE w Windows Server 2003 jakoś nie ma z tym problemów), to Microsoft celem zachowania zgodności z pewnymi sterownikami, pozostawił ograniczenie w XP.

TLS działa? A korzeń certyfikatów też?
Kamil Dudek
TLS działa? A korzeń certyfikatów też?

Można tu dyskutować, na ile uczyniono to, bo w przeciwnym wypadku już kompletnie nikt nie chciałby migrować na Vistę, ale to zupełnie oddzielna sprawa. Faktem pozostaje, że wystarczy kilka dużych stron internetowych i Windows XP jest zdany na plik wymiany.

Obsługę pamięci do 128GB (wymuszenie PAE) da się wkleić w system, stosując różne podejrzane łatki. Gorzej ze sprawnym silnikiem JS oraz nowym OpenSSL. Dlaczego ich nie ma? Otóż wbrew zabawnym hipotezom, że Microsoft przekupił wszystkich dostawców oprogramowania na świecie naraz, żeby przestali tworzyć soft dla XP, tworzenie programów dla ponaddwudziestoletniej wersji Okien dalej jest możliwe… ale coraz trudniejsze.

Z biegiem czasu, języki programowania oraz kompilatory zaczynają "celować" w elementy nieobecne w starszym sprzęcie i systemach. Kod może być niemożliwy do uruchomienia na starych systemach, po skompilowaniu go najnowszymi narzędziami, nawet gdy nie zaszły w nim zmiany. Efekty potrafią być zaskakujące: dobrym przykładem jest Menedżer Plików. Pochodzący z 1992, "wyczyszczony" celem zgodności z nowym C++ i kompilatorami, wymaga Windows 10.

Porty

No dobrze - zatem przeglądarki internetowe to z miesiąca na miesiąc coraz bardziej przegrana sprawa. Ale co z bezpieczeństwem "po prostu"? Czyż nie "samo podpięcie XP do internetu to proszenie się o kłopoty"? Ogólnie mówiąc, tak. Ale teoria mówi też (w wydaniu optymistycznym), że żeby dokądś móc się włamać, coś po tej drugiej stronie musi słuchać. Domyślnie, Windows XP słucha zawsze. Zapora ma zapewnić, że klasyczne usługi słuchają tylko w ramach sieci lokalnej.

Jakie rzeczy słuchają w Windows XP?

  • Windows Messenger
  • Zdalny Pulpit
  • Udostępnianie biblioteki multimediów Windows Media Player
  • Usługa bramy warstwy aplikacji NetBIOS przez TCP/IP
  • System zdarzeń COM+ (i DCOM RPC)
  • SMB w starej wersji (Otoczenie Sieciowe i pochodne)
  • NTP (przez UDP)
Słuchające usługi w Windows XP
Kamil Dudek
Słuchające usługi w Windows XP

Wszystkie powyższe rzeczy da się wyłączyć. Wtedy w systemie nie słucha już żadna usługa. Czy to znaczy, że skoro nie ma już nawet drzwi do wyważenia, to system jest bezpieczny? Nie do końca. Nie ma znanych, łatwych w obsłudze, szczególnie funkcjonalnych i prostych do wykorzystania względem komputerów zza routera, dużych dziur w samym stosie sieciowym. Ale jest sporo małych. Systemowy TCPIP.SYS w XP da się skłonić do zawieszenia systemu, degradacji wydajności i gubienia pakietów. Kto wie, do czego jeszcze.

Do internetu wybór skromny

Większy problem niż system stanowią aplikacje (o przeglądarkach już wiemy). W przypadku starego Thunderbirda, Telegrama i GG ratuje nas głównie niska motywacja przestępców do celowania w te programy. Pozostałe potencjalnie dziurawe nowości z kolei… wymagają nowych wersji klientów. Slack, Discord, Skype, Signal i przyjaciele całkowicie odpadają na XP.

Zatem Windows XP jest dziś bardziej bezużyteczny niż niebezpieczny, a stan ten będzie się pogłębiał. System ten nie jest jednoznacznie, samobójczo niebezpieczny i groźny od samego wpięcia w sieć. Ale nie ulega wątpliwości, że jeżeli chcemy podpięć XP do internetu, wyboru oprogramowania należy dokonywać ostrożnie.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
Wybrane dla Ciebie
Komentarze (130)