Aplikacje z Microsoft Store kopały kryptowalutę bez wiedzy użytkowników. Czas zadać kilka pytań o przyszłość PWA

News/Bezpieczeństwo 18.02.2019
Aplikacje z Microsoft Store kopały kryptowalutę bez wiedzy użytkowników. Czas zadać kilka pytań o przyszłość PWA

Aplikacje z Microsoft Store kopały kryptowalutę bez wiedzy użytkowników. Czas zadać kilka pytań o przyszłość PWA

Firma Symantec wykryła osiem aplikacji w Microsoft Store, które „kradły” zasoby komputerów ich użytkowników. Jest nawet wytłumaczenie, dlaczego nie zostały wykryte przez moderatorów. Niestety niezbyt krzepiące.

Repozytoria takie jak Microsoft Store, Apple App Store czy Google Play to miejsca, którym raczej powinniśmy ufać. Dlatego też za każdym razem, gdy zabezpieczenia tych repozytoriów zostaną złamane przez pomysłowych programistów, jęk rozczarowania ze strony użytkowników jest głośny i zasadny. Takie rzeczy nie powinny się dziać.

Mimo wszystko się dzieją: najczęściej u Google’a, najrzadziej u Apple’a. Microsoft Store leży gdzieś mniej więcej po środku: prawdziwie złośliwe aplikacje raczej w nim nie występują, ale zdarzały się już programy nachalnie wyłudzające pieniądze, czy też naruszające naszą prywatność w niestosowny sposób.

Tym razem wpadły aplikacje, które kradną wydajność naszych komputerów.

Symantec wykrył w Microsoft Store osiem aplikacji od trzech deweloperów (choć podejrzewa, że stoi za nimi ta sama osoba lub zespół), które uruchamiały proces w tle, którego celem było wydobywanie kryptowaluty Monero – oczywiście nie na rzecz użytkownika. Ów proces działał tylko po uruchomieniu aplikacji, nie stanowił też większego zagrożenia dla komputera. Nie jest to jednak coś, co powinno się pojawić. Jak do tego doszło?

windows pwa bezpieczeństwo

Wszystkie wykryte przez Symanteca aplikacje to PWA (Progressive Web Apps), a więc – w dopuszczalnym uproszczeniu – witryny internetowe ze zdolnością do pracy offline i w ramach natywnego interfejsu systemu operacyjnego. To oznacza, że większość kodu aplikacji znajduje się nie na maszynie użytkownika, a na serwerze zdalnym. Co znacząco ułatwia wprowadzanie do nich złośliwego kodu.

Ten oczywiście jest analizowany przez systemowy mechanizm renderowania aplikacji webowych, na dodatek nad jakością aplikacji powinni czuwać moderatorzy. Wspomniane programy oszukiwały jednak automatyczne procedury testowe, pobierając skrypt odpowiedzialny za kopanie Monero z https://www.googletagmanager.com/gtm.js?id={GTM ID}, maskując właściwy adres jego pochodzenia.

Aplikacje nie były niby groźne i już zostały usunięte. To jednak rodzi dwa pytania związane z bezpieczeństwem PWA, nie tylko na Windows.

PWA mają być wielką rzeczą już w nieodległej przyszłości. Uniwersalne aplikacje tego typu zadziałają bez zmian w kodzie na każdym rodzaju urządzenia i niemal każdym systemie operacyjnym. Zostały wymyślone przez Google i Microsoft – choć ta druga firma równolegle wpadła na własny format tego typu programów, z czasem go porzucając i uznając rozwiązanie konkurencji za sensowniejsze. Wkrótce też ich pełna obsługa ma trafić do systemów Apple’a.

Wszystko pięknie i ładnie, ale w takim razie oznacza to również, że będzie bardzo trudno zaufać mniejszym wydawcom takich aplikacji. Mało kto będzie się zastanawiał nad korzystaniem z PWA od Google’a, Ubera, TripAdvisora czy innych korporacji, które nie mają czasu bawić się w głupoty pokroju złośliwego oprogramowania. Ale ten młody startup z fajną aplikacją do zbierania newsów? Kto mi obieca, że z czasem nie zechce sobie dorobić na lewo? A w przeciwieństwie do aplikacji natywnych, machlojki w PWA są trudne do wykrycia.

Drugie pytanie dotyczy tylko użytkowników Windows i jest związane z porzuceniem przez Edge’a autorskiego silnika renderującego na rzecz tych z Chromium. Który mechanizm będzie odpowiedzialny za nasze bezpieczeństwo w kontekście PWA? Systemowe EdgeHTML i Chakra, czy Blink i V8 z przyszłej przeglądarki Microsoftu? I czy ten drugi zestaw podmieni kiedyś natywne mechanizmy renderujące w Windows? Tego na razie nie wiemy. A powyższa wpadka Microsoft Store to dobra okazja, by nam to w końcu wyjaśnić.

Musisz przeczytać:

Dołącz do dyskusji