Przez lata w świecie Linuksa panowało dość wygodne przekonanie, że jeśli coś jest w oficjalnym repozytorium, to na pewno jest to bezpieczne. Otóż Snap Store, czyli oficjalna wyszukiwarka paczek i programów w niektórych dystrybucjach Linux (w zasadzie możliwa do zainstalowania w każdej) i utrzymywana przez Canonical – firmę, która rozwija systemy Ubuntu, jest używana przez przestępców do publikowania złośliwego kodu w legalnych aplikacjach.
Snap Store zostało celem bardziej wyrafinowanej kampanii oszustw: atakujący zaczęli kupować wygasłe domeny powiązane z adresami e-mail należącymi do wydawców snapów i dzięki temu przejmują konta deweloperów kodu, a następnie wypuszczają złośliwe aktualizacje nawet w „zaufanych” aplikacjach. W praktyce oznacza to, że oprogramowanie pozornie od uczciwego wydawcy, może nagle otrzymać update, który wyłudza dane, zanim ktokolwiek zareaguje i usunie pakiet ze sklepu.
Autorem opisu tej kampanii jest Alan Pope – znana postać w społeczności Linuksa głównie za sprawą swoich umiejętności programistycznych. W latach 2011-2021 pełnił różne role techniczne w Canonical, promując technologię Snap i nadal w jego rękach spoczywa bezpieczeństwo sklepu Snap Store.
Wystarczy wejść na stronę snapscope.popey.com by dowiedzieć się nieco więcej o narzędziu do skanowania aplikacji i wyszukiwania tych, które są z potencjalnie złośliwym kodem:
Atak może wyglądać klasycznie, czyli użytkownik instaluje danego „snapa”, a jego środki z konta kryptowalut znikają. Jak to się dzieje?
- Przestępcy przejmują konta deweloperskie.
- Nikt nie weryfikuje kto faktycznie publikuje aplikację lub update.
- Snapy są aktualizowane automatycznie, więc mogą zawierać złośliwą wersję programu.
Teoretycznie Snapy, ale też Flatpaki w sklepie flathub.org, są oddzielone od systemu piaskownicą. Opracowano ten mechanizm, aby instalować w systemie jak najmniej zależności trzecich, by nie powodować w systemie bałaganu. Paczki danego oprogramowania mają też za zadanie ułatwić aktualizacje oraz ułatwić usuwanie całego programu bez wpływu na zależności systemowe (np. aplikacja X potrzebuje do działania pakietu Y, z którego korzysta aplikacja Z itd.).
Jednakże, jeśli zainstalowana aplikacja ma dostęp do katalogu domowego /home, dodatkowo udaje legalny portfel kryptowalut i prosi użytkownika o dane do zalogowania, to sandbox w niczym tutaj nie pomoże.
W Ubuntu, ale nie tylko, Snap Store jest domyślną wyszukiwarką aplikacji do instalowania, więc teoretycznie użytkownik może nawet nie wiedzieć, co używa „pod maską” – może nie wiedzieć, czy instaluje snapa, czy po prostu pakiet .deb.
Możemy porównać Snapa do Apple Store lub Google Play i wszędzie znajdziemy te same problemy:
- Zaufanie do sklepu: użytkownik zakłada, że aplikacja jest sprawdzona.
- Sandbox chroni system przed infekcją: dotyczy to platform iOS, Android, Snap, Flatpak itd. Izolacja jednak nie zawsze zapewnia 100% bezpieczeństwa, jeżeli podajemy dane przestępcy dobrowolnie.
- Weryfikacja kodu w sklepie jest zwykle automatyczna. Dopiero po ujawnieniu ataku dany pakiet lub aplikacja jest usuwana.
Co z tego przykładu wynika? Jak się chronić w Linux?
Warto podzielić ochronę na warstwy:
- Sprawdzaj, kto konkretnie jest wydawcą Snap.
- Uważaj, co instalujesz, jeśli mowa o portfelach krypto, menedżerach haseł, narzędziach do kopii zapasowej.
- Traktuj wyszukiwarkę apek jako dodatkowe repozytorium, nie zakładaj z góry, że wszystko co tam jest, zostało sprawdzone i jest bezpieczne.
- Automatyczne aktualizacje mogą być potencjalnym wektorem ataku: raz zaufana aplikacja może zmienić właściciela, zmienić kod, dostać aktualizację z czymś złośliwym.
- Mimo wszystko mniejsze skrypty, narzędzia instalowane z Github, używane często do automatyzacji, mogą częściej zawierać złośliwy kod niż aplikacja w oficjalnym repozytorium: instalowanie z losowych repozytoriów, brak recenzji społeczności, brak podpisów, kopiowanie kodu w ciemno…
Problemem nie jest Linux czy inny system operacyjny. Problemem nie są Snapy ani Flatpaki jako technologia. Problemem jest założenie, że skoro coś jest w sklepie, to musi to być bezpieczne. Sklepy z oprogramowaniem zmniejszają ryzyko, ale nie eliminują problemu, bo nadal działają jako pośrednik w dystrybucji oprogramowania. Bierzemy przykład z Google Play, które nie radzi sobie z zainfekowanymi aplikacjami, ponieważ jest ich tak wiele w skali całego świata. I tutaj każdy sklep opera się w jakimś stopniu na automatyzacji, zgłoszeniach od użytkowników, ale to są reakcje po fakcie, ponieważ złośliwa aplikacja może działać przez jakiś czas.
Piaskownica, sandbox, także nie jest idealną technologią do zabezpieczania przed atakami i kradzieżą danych, pieniędzy. Owszem, wprowadzają pełną izolację, ale nie są w stanie zablokować głupoty, braku wiedzy użytkownika.
Czy ten artykuł był pomocny?
Oceniono: 1 razy



