Menu dostępności

Nowa metoda włamania, skuteczna przeciwko największym korporacjom – atak „Dependency Confusion”

Często najprostsze pomysły są genialne. Jednak najtrudniej jest być tym pierwszym, który wpadnie na pomysł i zastosuje go.

Jeden z takich konceptów należy do Alexa Birsana, badacza, który wymyślił metodę włamania do 35 dużych firm technologicznych, w tym Microsoft, Apple, Yelp, Paypal, Shopify, Netflix, Tesla i Uber, dzięki czemu zyskał 130 000 $ z programów Bug Bounty. Może się wydawać, że to dużo, ale za pewne o wiele więcej zapłaciłby znane grupy hackerskie, za sprzedanie im prostej, skutecznej metody włamania się i kradzieży danych z największych światowych korporacji. Chodzi o atak nazwany przez Alexa „Dependency Confusion”.


Metoda „Dependency Confusion”

Jak wskazuje nazwa, ta metoda opiera się na tak zwanym „zamieszaniu zależności” (ang. dependency confusion). Zasadniczo wykorzystuje zamieszanie związane z możliwymi lokalizacjami, których programy komputerowe (w tym przypadku popularne menedżery pakietów, takie jak npm, PyPI i RubyGems) używają do znajdowania plików, od których zależny jest projekt.

Wszystkie takie „menedżery” pakietów zaakceptują zależności wymienione w kodzie źródłowym jako nazwy i spróbują rozwiązać, co miał na myśli programista. Będą szukać zależności lokalnie, na komputerze, na którym znajduje się projekt oraz sprawdzą publiczny, dostępny w Internecie katalog menedżera pakietów.

Birsan stwierdził, że firmy, których dotyczy problem, używały lokalnie przechowywanych plików, których nie było w repozytoriach open-source.

Poniższy przykład pokazuje skrócony plik package.json, który zawiera listę zależności dla prywatnego projektu utworzonego przez PayPal. Birsan zauważył, że chociaż niektóre zależności, takie jak „express” w tym przykładzie, były obecne w publicznym repozytorium npm, inne, takie jak „pplogger”, były zamiast tego prywatnie utworzonymi pakietami npm PayPal, używanymi i przechowywanymi wewnętrznie przez firmę.

Autor zastanawiał się, czy złośliwe oprogramowanie można wprowadzić do takich projektów, tworząc w publicznym repozytorium npm pakiety pasujące do nazw lokalnych zależności.

Aby przetestować swój pomysł, zaczął szukać skutecznych miejsc, w których mógłby przesłać własne „złośliwe” pakiety do rejestru npm pod wszystkimi nieodebranymi nazwami. Ponieważ npm pozwala na automatyczne wykonanie dowolnego kodu podczas instalacji pakietu, jego kod był w stanie wykonać „Call Home” z każdego komputera, na którym został zainstalowany.


Komunikacja „Call Home”

Przeniesienie informacji na jego własny serwer z głębi dobrze chronionych sieci korporacyjnych stanowiło kolejny problem, który został rozwiązany za pomocą eksfiltracji DNS. Eksfiltracja przez DNS to sposób na wymianę danych między dwoma komputerami bez bezpośredniego połączenia. Protokół DNS cały czas nie jest wystarczająco monitorowany w organizacjach, co powoduje, że przesyłanie przez niego informacji jest możliwe w sposób niezauważalny.

Podczas fazy eksfiltracji klient wysyła żądanie rozpoznania nazwy DNS do zewnętrznego adresu serwera DNS. Zamiast odpowiadać rekordem A, serwer nazw atakującego odpowie rekordem CNAME, MX lub TXT, co umożliwia przesłanie dużej ilości nieustrukturyzowanych danych między atakującym a ofiarą.

Oprócz rozszerzenia swojego pierwotnego pomysłu na menedżery pakietów Python i Ruby, Birsan przetestował również, co by się stało, gdyby załadował pakiet z wyższym numerem wersji niż aktualne ostatnie wydanie. W takich przypadkach wyższa wersja w repozytorium publicznym miała pierwszeństwo przed starszą wersją lokalną. To jeszcze bardziej zwiększyło skuteczność tej metody.


Nagrody pieniężne

Jak dotąd Alex Birsan otrzymał 130 000 dolarów z programów nagród za podatności. To dużo pieniędzy, ale wyobraź sobie, ile mógłby zarobić, sprzedając tę sztuczkę oferentowi. Wszyscy znamy druzgocące skutki udanych ataków na łańcuch dostaw. W naszej pamięci są takie ataki jak: SolarWinds, Equifax, NotPetya czy CCleaner. Gdyby któreś ze znanych malware zostały wyposażone w tą metodę, skutki były tragiczne. Według raportu Sonatype o stanie łańcucha dostaw oprogramowania w 2020 r, ataki takie, wymierzone w projekty oprogramowania open-source stanowią poważny problem dla przedsiębiorstw, ponieważ 90% wszystkich aplikacji zawiera kod open-source, a 11% z nich ma znane luki w zabezpieczeniach.


Poprawki

Większość „naruszonych” firm podjęła działania, aby zapobiec tego typu atakom, ale metoda manipulacji łańcuchem dostaw jest nadal użyteczna. Podstawowy problem musi zostać rozwiązany dla całego ekosystemu, a nie dla pojedynczych firm. Zwróćmy uwagę, że pliki package.json umożliwiają wyświetlanie zależności jako pełnych adresów URL, co może zapewnić pewną odporność na tę formę ataku. Najbardziej satysfakcjonującą częścią tej metody jest to, że nie opiera się na inżynierii społecznej. Wystarczy znać nazwy plików i można realizować plan.

Popularne

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

Entra Connect może przestać synchronizować konta. Co trzeba zrobić przed 30 września 2026 roku?

O planowanym przechodzeniu z Microsoft Entra Connect Sync do Cloud Sync pisaliśmy już w artykule „Entra Connect Sync odchodzi w cień”. Istnieje jednak jeszcze inny termin, którego nie mogą przeoczyć organizac...
Jak wyglądają ataki brute force na hasła w 2026 roku

Jak wyglądają ataki brute force na hasła w 2026 roku

Jeszcze kilka lat temu wydawało się, że klasyczne ataki brute force powoli odchodzą do historii. Coraz więcej usług korzysta z MFA, mechanizmów blokowania kont, CAPTCHA czy ograniczania liczby prób l...
Dlaczego LDAP ma ponad 30 lat, a nadal nie odchodzi na emeryturę?

Dlaczego LDAP ma ponad 30 lat, a nadal nie odchodzi na emeryturę?

Kto pamięta czasy Novell NetWare 3.12? W latach 90. był to w Polsce jeden z najpopularniejszych sieciowych systemów operacyjnych. Można go było spotkać w firmach, urzędach, szkołach, na uczelniach i w ośr...
Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

Jak zhakowane publiczne bramki Wi-Fi używane są do pozyskiwania poświadczeń korporacyjnych?

SecurityWeek za ReliaQuest informuje, że cyberprzestępcy przeprowadzają ataki na urządzenia obsługujące publiczne sieci Wi-Fi z tzw. captive portal (stroną logowania), by przejmować konta Microsoft 365 pod...
Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

Agent OpenAI miał rozwiązać benchmark – zamiast tego zaatakował infrastrukturę Hugging Face

OpenAI oraz Hugging Face ujawniły szczegóły incydentu, do którego doszło podczas wewnętrznych testów modeli AI w benchmarku ExploitGym. W trakcie ewaluacji agent wydostał się z izolowanego środowiska testowego...