Andres Freund, inżynier oprogramowania w Microsoft, podczas rutynowej optymalizacji wydajności systemu Debian, natrafił na niezwykłe obciążenie procesora podczas logowania się przez SSH. To z pozoru błahe zdarzenie doprowadziło do odkrycia backdoora w narzędziu XZ Utils, które jest nieodłącznym elementem niemal każdej instalacji systemów Linux i podobnych do Unix. Znalezisko Freunda, opublikowane na liście mailingowej poświęconej bezpieczeństwu open source, mogło zapobiec jednemu z największych zagrożeń bezpieczeństwa w historii.

XZ Utils to narzędzie do kompresji danych bezstratnej, kluczowe dla operacji takich jak kompresja i dekompresja danych w różnych procesach systemowych. Backdoor, ukryty w wersjach 5.6.0 i 5.6.1, modyfikował działanie sshd, pliku wykonywalnego używanego do zdalnych połączeń SSH. Osoba posiadająca określony klucz szyfrujący mogła umieścić dowolny kod w certyfikacie logowania SSH, przesłać go i wykonać na urządzeniu z zainfekowanym oprogramowaniem.

Atak na łańcuch dostaw oprogramowania, który został przeprowadzony, polegał na zmianie kodu źródłowego poprzez nieautoryzowany dostęp lub działania wewnętrznego informatora. Narodowe Centrum Kontrwywiadu i Bezpieczeństwa USA definiuje takie działania jako celowe ataki na łańcuchy dostaw produktów oprogramowania.

W przypadku XZ Utils, złośliwy kod wprowadził użytkownik o pseudonimie Jia Tan, znany w społeczności od końca 2021 roku. Zdobywając zaufanie, Tan awansował na współutwórcę projektu obok założyciela, Lasse Collina, co umożliwiło mu dodawanie kodu bez dodatkowej weryfikacji. Zarówno Tan, jak i Collin nie skomentowali tej sytuacji.

Sytuacja wokół XZ Utils ujawnia wyrafinowaną strategię ataku. Osoba odpowiedzialna za backdoor wybrała oprogramowanie o szerokim zasięgu w systemach Linux, które było niedofinansowane i zależne od jednego głównego opiekuna. Po latach budowania zaufania, Tan wprowadził backdoor, wykazując przy tym wysoki poziom technicznej biegłości.

Molly z Electronic Frontier Foundation zwraca uwagę na nietypową staranność i długotrwały proces zdobywania reputacji w celu wykorzystania projektu open-source. Nie jest jednak jasne, czy za atakiem stała grupa hakerska, deweloper, czy państwo.

Proces awansu Tana na współutwórcę odbywał się w otwartym środowisku programistycznym Linuxa, gdzie deweloperzy dzielą się pomysłami i strategiami. Collin, borykając się z narastającymi problemami i skargami na brak aktualizacji, ostatecznie przekazał Tanowi większe uprawnienia.

W międzyczasie różne agencje wywiadowcze USA, w tym Cybersecurity and Infrastructure Security Agency, zareagowały na zagrożenie, publikując ostrzeżenie o backdoorze XZ. GitHub, należący do Microsoftu, zablokował dostęp do repozytorium XZ i konta Tana po odkryciu backdoora.

Molly podkreśla, że możliwość odkrycia backdoora przed jego wdrożeniem była możliwa tylko dzięki otwartości projektu, co jest jednocześnie siłą, jak i słabością projektów open-source. W tym przypadku, otwartość pozwoliła na szybką reakcję i zapobieżenie potencjalnemu zagrożeniu.

Dodatkowo, Thomas Roccia, badacz z Microsoftu, opublikował grafikę na Mastodonie, która pomaga zobrazować rozległy zasięg niemal udanego przedsięwzięcia rozprzestrzenienia backdoora, którego zasięg mógłby przyćmić wydarzenie SolarWinds z 2020 roku. Złośliwe aktualizacje, które miały zostać włączone do głównych dystrybucji Linuxa, takich jak Debian i Red Hat, były o krok od wdrożenia, gdy uważny programista zauważył coś podejrzanego.

W odpowiedzi na to odkrycie, Microsoft opublikował FAQ i wytyczne dotyczące backdoora XZ Utils, oferując wsparcie i porady dla swoich klientów w celu wykrycia i zarządzania zagrożeniem. Zalecono użytkownikom i deweloperom, aby zdegradowali XZ Utils do niekompromitowanej wersji, takiej jak XZ Utils 5.4.6 Stable. W ciągu ostatnich dni zespoły Microsoftu pracowały nad dostarczeniem ulepszeń i wytycznych, które pomogą klientom Microsoftu w ocenie narażenia na podatność CVE-2024-3094 i dokładnym wykryciu urządzeń, które mają zainstalowaną wersję oprogramowania podatną na ataki.