PyTorch został dotknięty poważnym zagrożeniem bezpieczeństwa

Odkryto złośliwą „zależność” w PyTorch, która podstępnie zmusza programistów Pythona do jej pobrania, a następnie wykrada ich wrażliwe dane.

PyTorch niedawno ujawnił, że odkrył złośliwą zależność dzielącą swoją nazwę z biblioteką „torchtriton” frameworka. Administratorzy, którzy zainstalowali PyTorch-nightly w czasie świąt, zostali podobno zainfekowani, a platforma wezwała ich do natychmiastowego odinstalowania frameworka i fałszywej zależności „torchtriton”.

Podstęp działa tak: podczas pobierania zależności PyPI ma pierwszeństwo przed PyTorch-nightly. W rezultacie, użytkownicy ściągają złośliwą zależność zamiast legalnej.

„Ponieważ indeks PyPI ma pierwszeństwo, ten złośliwy pakiet był instalowany zamiast wersji z naszego oficjalnego repozytorium. Ta konstrukcja umożliwia komuś zarejestrowanie pakietu o tej samej nazwie, który istnieje w indeksie strony trzeciej, a pip domyślnie zainstaluje jego wersję” – powiedział w swoim ostrzeżeniu zespół PyTorch.

Raporty twierdziły, że złośliwa „zależność” została pobrana już ponad 2000 razy i chwyta wszelkiego rodzaju wrażliwe dane, od adresów IP i nazw użytkowników, po aktualne katalogi robocze. Odczytuje również między innymi zawartość /etc/hosts, /etc/passwd oraz pierwszych 1000 plików w $HOME/*.

Skradzione dane trafiają do domeny h4ck.cfd za pomocą zaszyfrowanych zapytań DNS, wykorzystujących serwer DNS wheezy.io.

Historia ta ma jednak dziwny przebieg, gdyż na domenie h4ck.cfd pojawiło się powiadomienie, które twierdzi, że całe to przedsięwzięcie było badaniem etycznym:

„Witaj, jeśli natknąłeś się na to w swoich logach, to prawdopodobnie dlatego, że twój Python był źle skonfigurowany i był podatny na atak typu dependency confusion” – czytamy w powiadomieniu. Aby zidentyfikować firmy, które są podatne na atak, skrypt wysyła do mnie metadane o hoście (takie jak jego nazwa i bieżący katalog roboczy). Po tym, jak zidentyfikuję, kto jest podatny na atak i [zgłoszę] znalezisko, wszystkie metadane dotyczące twojego serwera zostaną usunięte”.

Jednak niektórzy eksperci twierdzili, że program binarny zbiera więcej niż „metadane” – chwyta klucze SSH, pliki .gitconfig, hosts i hasła, których etyczny haker nie dotknąłby. Ponadto, „torchtriton” został zaobserwowany przy użyciu znanych technik anty-VM, aby upewnić się, że pozostaje pod radarem, i wreszcie, payload jest zamaskowany i zawarty w całości w formacie binarnym.