Złośliwe moduły w oficjalnym repozytorium Pythona

Słowacki Narodowy Urząd Bezpieczeństwa poinformował o złośliwych pakietach w Python Package Index (PyPI). Hakerzy podszyli się pod popularne moduły używając zbliżonych do nich nazw. Skrypty znajdowały się w repozytorium przez ostatnie 3 miesiące i były pobierane tysiące razy przez programistów i wykorzystane w ich aplikacjach.

Złośliwe oprogramowanie zawierało ten sam kod, co oryginalne biblioteki programistyczne. Z tą różnicą, że w zmodyfikowanych skryptach Pythona został zmieniony kod instalatora. Umożliwiał on zbieranie informacji o programie i systemie, na którym go zainstalowano. Dane były następnie przesyłane na chiński serwer. Pakiety ze złośliwym kodem w repozytorium do złudzenia przypominają popularne skrypty. Oto lista zarażonych pakietów:

– acqusition (dodany 2017-06-03 01:58:01, podszywa się pod acquisition)
– apidev-coop (dodany 2017-06-03 05:16:08, podszywa się pod apidev-coop_cms)
– bzip (dodany 2017-06-04 07:08:05, podszywa się pod bz2file)
– crypt (dodany 2017-06-03 08:03:14, podszywa się pod crypto)
– django-server (dodany 2017-06-02 08:22:23, podszywa się pod django-server-guardian-api)
– pwd (dodany 2017-06-02 13:12:33, podszywa się pod pwdhash)
– setup-tools (dodany 2017-06-02 08:54:44, podszywa się pod setuptools)
– telnet (dodany 2017-06-02 15:35:05, podszywa się pod telnetsrvlib)
– urlib3 (dodany 2017-06-02 07:09:29, podszywa się pod urllib3)
– urllib (dodany 2017-06-02 07:03:37, podszywa się pod urllib3)

Pomimo, że skrypty nie są groźne, hakerzy mogli bez problemu doprowadzić do przejęcia kontroli nad urządzeniem ofiary. PyPI jest oficjalnym repozytorium zawierającym ponad 100 tys. skryptów używanych przez programistów na całym świecie. Jak duża jest skala problemu przekonali się Benjamin Bach oraz Hanno Böck, którzy po ataku sprawdzili jak szybko rozprzestrzeni się złośliwy kod przy podobnym ataku. W czwartek w oficjalnym repozytorium PyPI umieścili 128 zainfekowanych plików. W ciągu dwóch dni programiści pobrali je 7500 razy. Administracja PyPI usunęła w sobotę 20 wgranych przez nich pakietów. Jednak ciągle pozostaje w nim 108 skryptów, które nie zostały rozpoznane.

Python Package Index to popularne repozytorium, z którego korzysta wielu programistów (fot. CHIP)

Podobny eksperyment przeprowadził w zeszłym roku Nikolai Philipp Tschacher. Pakiet, który opublikował w PyPI został wykonany 45 tys. razy na 17 tys. stron internetowych. W połowie przypadków uzyskał pełne prawa administratora do domeny. Ku jego zaskoczeniu, udało mu się w ten sposób włamać na serwery armii amerykańskiej. Intencją Böcka i Bacha było skłonienie administratorów repozytorium PyPI i programistów korzystających z niego do dyskusji na temat zwiększenia bezpieczeństwa. Aktywiści chcą większej kontroli nad modułami, które są udostępniane oraz tworzenia mechanizmu pozwalającego automatycznie wykryć próbę podszycia się pod popularną bibliotekę programistyczną.

Python jest jednym z najpopularniejszych języków programowania. Stosuje się go powszechnie na serwerach Linuxa i w aplikacjach internetowych. Jego popularność sprawia, że każda luka bezpieczeństwa może potencjalnie prowadzić do ataków o podobnej skali co WannaCry czy Petya. Wystarczy tak naprawdę niewielka modyfikacja skryptu odpowiedzialnego za generowanie liczb pseudolosowych, aby całkowicie ominąć szyfrowanie danych i przejąć całą komunikację pomiędzy aplikacją a serwerem. | CHIP

0
Źródło: Ars Technica
Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.