Cyberbezpieczeństwo
Złośliwa paczka w PyPI. Nietypowa infekcja malware

Autor. Pete Linforth, Pixabay.com
Złośliwe oprogramowanie może być przypadkowo zainstalowane również przez programistów. Istnieje ryzyko, że będzie ukrywane w paczkach, które mają podobne nazwy do często pobieranego opgrogramowania.
10 maja wykryto złośliwe oprogramowanie w paczce requests-darwin-lite, która próbowała podszyć się pod request. Samo request zostało pobrane ponad 11 miliardów razy, zaś requests-darwin-lite – na szczęście tylko 417 razy do momentu usunięcia z PyPI. Co ciekawe, sam backdoor został ukryty w logo projektu, lecz mógł zadziałać jedynie na urządzeniu wskazanym w kodzie.
Instalacja malware
Samo zainstalowanie złośliwej paczki nie było trudne. Wystarczyło użyć polecenia „pip install requests-darwin-lite” zamiast „pip install requests”.
Użycie takiego polecenia powodowało pobranie paczki, która udawała tzw. forka – czyli repozytorium oparte (prawie) w całości na innym oprogramowaniu. Świadczy o tym przede wszystkim nazwa paczki, która poza nazwą prawidłowej - składa się z dopisku „darwin-lite”.
Po wykonaniu program sprawdzał UUID urządzenia. Co najdziwniejsze w całej paczce, oprogramowanie może się wykonać tylko na konkretnej maszynie – oznacza to, że atak był nakierowany na konkretny sprzęt lub paczka służyła jedynie testom. Nie można tego ustalić.

Autor. https://blog.phylum.io/malicious-go-binary-delivered-via-steganography-in-pypi/
Jeżeli UUID było poprawne, dalszym krokiem programu było pobranie danych z pliku requests-sidebar-large.png.

Autor. https://blog.phylum.io/malicious-go-binary-delivered-via-steganography-in-pypi/
Oryginalne logo waży 300KB, a plik przetwarzany przez program waży 17MB. Została w nim zastosowana steganografia, czyli w tym przypadku ukrywanie danych w obrazku.
Analiza na VirusTotal pokazuje, że w obrazie ukryty był Silver, czyli otwartoźródłowe oprogramowanie służące do łączenia się z serwerami C2 (ang. Command and Control).

Autor. https://www.virustotal.com/gui/file/89fb2149bdf1482463377c055eb946dd357f2d90b3e425ebb3ab78c4774f7b00
Nie pierwszy taki przypadek
Niestety takie ataki nie są niczym nowym. Kacper Szurek na swoim blogu omawiał przykłady paczek, które mogły próbować podszyć się pod inne oprogramowanie.
Przykładowo – uruchomienie paczki requesys, requesrs lub requesr skutkowało zaszyfrowaniem plików na dysku, a klucz deszyfrujący dostępny był na Discordzie.

Autor. https://blog.sonatype.com/ransomware-in-a-pypi-sonatype-spots-requests-typosquat
Rekomendacje
Przy instalacji paczek należy zwrócić szczególną uwagę na to, czy faktycznie instalujemy pożądaną paczkę. Literówka może nas słono kosztować, ponieważ cyberprzestępcy stale pracują nad technikami ukrywania złośliwego oprogramowania.
W przypadku paczki z PyPI warto sprawdzić liczbę pobrań przed zainstalowaniem jej. Można to zrobić np. na PyPI Stats.
Serwis CyberDefence24.pl otrzymał tytuł #DigitalEUAmbassador (Ambasadora polityki cyfrowej UE). Jeśli są sprawy, które Was nurtują; pytania, na które nie znacie odpowiedzi; tematy, o których trzeba napisać – zapraszamy do kontaktu. Piszcie do nas na: [email protected].
Sztuczna inteligencja w Twoim banku. Gdzie ją spotkasz?
Materiał sponsorowany