Linux, najpopularniejszy na świecie system operacyjny typu open source, cudem uniknął masowego cyberataku w weekend wielkanocny, a wszystko dzięki jednemu ochotnikowi.
Backdoor został wstawiony do niedawnej wersji formatu kompresji Linuksa o nazwie XZ Utils, narzędzia mało znanego poza światem Linuksa, ale używanego w prawie każdej dystrybucji Linuksa do kompresji dużych plików w celu ułatwienia ich przesyłania. Gdyby rozprzestrzenił się szerzej, niezliczona liczba systemów mogłaby być zagrożona przez lata.
I jako Ars Technica zanotowano w nim wyczerpujące podsumowaniesprawca pracował nad projektem na otwartej przestrzeni.
Luka wbudowana w funkcję zdalnego logowania systemu Linux ujawniała się tylko w przypadku jednego klucza, dzięki czemu mogła ukryć się przed skanowaniem komputerów publicznych. Jak Ben Thompson pisze Strategia. „większość komputerów na świecie byłaby podatna na ataki i nikt by o tym nie wiedział”.
Historia odkrycia backdoora XZ zaczyna się wczesnym rankiem 29 marca, kiedy programista Microsoft z San Francisco, Andres Freund, opublikował post na Mastodon i wysłałem e-mail na listę mailingową dotyczącą bezpieczeństwa OpenWall z nagłówkiem: „backdoor w nadrzędnym xz/liblzma prowadzący do naruszenia bezpieczeństwa serwera ssh”.
Freund, który zgłosił się na ochotnika jako „opiekun” PostgreSQL, bazy danych opartej na systemie Linux, zauważył kilka dziwnych rzeczy w ciągu ostatnich kilku tygodni podczas przeprowadzania testów. Szyfrowane logowania do liblzma, części biblioteki kompresji XZ, zużywały mnóstwo procesora. Żadne z narzędzi wykonawczych, których używał, nie ujawniło niczego, napisał Freund na Mastodonie. To natychmiast wzbudziło jego podejrzenia i przypomniał sobie „dziwną skargę” użytkownika Postgres kilka tygodni wcześniej dotyczącą Valgrind, linuksowego programu sprawdzającego błędy pamięci.
Po pewnym dochodzeniu Freund w końcu odkrył, co jest nie tak. „Poprzednie repozytorium xz i pliki tar xz zostały włamane” – zauważył Freund w swoim e-mailu. Szkodliwy kod znajdował się w wersjach 5.6.0 i 5.6.1 narzędzi i bibliotek xz.
Wkrótce potem firma Red Hat, firma zajmująca się oprogramowaniem typu open source dla przedsiębiorstw, wysłała wiadomość alarm bezpieczeństwa w nagłych wypadkach dla użytkowników Fedory Rawhide i Fedory Linux 40. Ostatecznie firma doszła do wniosku, że wersja beta Fedory Linux 40 zawierała dwie wersje bibliotek xz, których dotyczy problem. Wersje Fedory Rawhide prawdopodobnie otrzymały również wersje 5.6.0 lub 5.6.1.
PROSIMY NATYCHMIAST ZATRZYMAĆ SIĘ UŻYWANIA JAKICHKOLWIEK INSTANCJI FEDORA RAWHIDE do celów zawodowych lub osobistych. Fedora Rawhide zostanie wkrótce przywrócona do wersji xz-5.4.x, a kiedy to nastąpi, będzie można bezpiecznie ponownie wdrożyć instancje Fedory Rawhide.
Mimo że wersja beta Debiana, bezpłatnej dystrybucji Linuksa, zawierała zainfekowane pakiety, zespół ds. bezpieczeństwa jej to zrobił działał szybko aby je przywrócić. „W tej chwili nie wiadomo, czy problem dotyczy żadnej stabilnej wersji Debiana” – napisał Salvatore Bonaccorso z Debiana w ostrzeżeniu dotyczącym bezpieczeństwa skierowanym do użytkowników w piątkowy wieczór.
Później Freund zidentyfikował osobę, która przesłała szkodliwy kod, jako jednego z dwóch głównych programistów xz Utils, znanych jako JiaT75 lub Jia Tan. „Biorąc pod uwagę kilkutygodniową aktywność, osoba zgłaszająca jest albo bezpośrednio zaangażowana, albo doszło do dość poważnego naruszenia jego systemu. Niestety to drugie wyjaśnienie wydaje się mniej prawdopodobne, biorąc pod uwagę, że na różnych listach informowano o „poprawkach”, o których mowa powyżej” – napisał Freund w swoim analizapo połączeniu kilku obejść wprowadzonych przez JiaT75.
JiaT75 była znajomą nazwą: przez jakiś czas pracowali ramię w ramię z pierwotnym twórcą formatu pliku .xz, Lasse Collinem. Jak zauważył programista Russ Cox w swoim oś czasuJiaT75 zaczął od wysłania pozornie legalnych poprawek na listę mailingową XZ w październiku 2021 r.
Inne części planu ujawniono kilka miesięcy później, gdy dwie inne tożsamości, Jigar Kumar i Dennis Ens, zaczął wysyłać skargi e-mailem Collinowi o błędach i powolnym rozwoju projektu. Jak jednak zauważono w raportach red Evana Boehsa i innych, „Kumara” i „Ensa” nigdy nie widziano poza społecznością XZ, co doprowadziło śledczych do przekonania, że oba są podróbkami, które istniały tylko po to, by pomóc Jia Tan zająć pozycję umożliwiającą dostarczenie ukrytego kodu.
„Przykro mi z powodu problemów ze zdrowiem psychicznym, ale ważne jest, aby mieć świadomość własnych ograniczeń. Rozumiem, że jest to projekt hobbystyczny dla wszystkich współpracowników, ale społeczność pragnie więcej” – napisał Ens w jednej wiadomości, podczas gdy Kumar powiedział w innej, że „Postęp nie nastąpi, dopóki nie znajdzie się nowy opiekun”.
W środku tego w kółko Collins napisał, że „nie straciłem zainteresowania, ale moja zdolność do opieki była dość ograniczona, głównie z powodu długotrwałych problemów ze zdrowiem psychicznym, ale także z powodu kilku innych rzeczy” i zasugerował Jia Tan, aby podjęła w większej roli. „Warto też pamiętać, że jest to nieodpłatny projekt hobbystyczny” – podsumował. E-maile od „Kumara” i „Ensa” były wysyłane do czasu, aż pod koniec tego roku Tan został dodany jako opiekun, który mógł wprowadzać zmiany i podejmować próby wprowadzenia pakietu backdoora do dystrybucji Linuksa z większymi uprawnieniami.
Incydent z backdoorem xz i jego następstwa są przykładem zarówno piękna otwartego oprogramowania, jak i uderzającej luki w infrastrukturze internetowej.
Twórca FFmpeg, popularnego pakietu multimediów typu open source, podkreślił problem w tweecie, mówiąc: „Fiasko xz pokazało, jak zależność od bezpłatnych wolontariuszy może powodować poważne problemy. Korporacje warte bilion dolarów oczekują bezpłatnego i pilnego wsparcia od wolontariuszy”. Przynieśli pokwitowania, wskazując, jak poradzili sobie z błędem o „wysokim priorytecie” wpływającym na Microsoft Teams.
Deweloper pisze, że pomimo uzależnienia Microsoftu od swojego oprogramowania: „Po uprzejmej prośbie o umowę wsparcia technicznego na długoterminową konserwację firma Microsoft zaoferowała w zamian jednorazową płatność w wysokości kilku tysięcy dolarów… inwestycje w konserwację i zrównoważony rozwój są nieseksowne i prawdopodobnie menedżerowi średniego szczebla nie zapewni awansu, ale spłaci się tysiąckrotnie w ciągu wielu lat.
Szczegóły dotyczące tego, kto stoi za „JiaT75”, jak zrealizował swój plan oraz rozmiarów szkód, odkrywa armia programistów i specjalistów ds. cyberbezpieczeństwa, zarówno w mediach społecznościowych, jak i na forach internetowych. Dzieje się to jednak bez bezpośredniego wsparcia finansowego ze strony wielu firm i organizacji, które czerpią korzyści z możliwości korzystania z bezpiecznego oprogramowania.