Cyberbezpieczeństwo
Złośliwa paczka w PyPI. Nietypowa infekcja malware
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.
Czytaj też
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ć.
Jeżeli UUID było poprawne, dalszym krokiem programu było pobranie danych z pliku requests-sidebar-large.png.
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).
Czytaj też
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.
Czytaj też
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].