facebook
Przeciekające aplikacje dla Androida
23 kwietnia 2018

Wiele razy ostrzegaliśmy naszych Czytelników odnośnie zagrożeń, jakie stwarzają programy niewiadomego pochodzenia. Jednak wydaje się, że większość ludzi automatycznie darzy zaufaniem aplikacje napisane przez uznanych twórców czy pochodzące ze sprawdzonych źródeł: dobre oceny, miliony pobrań i dystrybucja w oficjalnych sklepach typu Google Play kojarzą się pozytywnie. Niestety nie zawsze takie aplikacje są bezpieczne.

Dzisiejszy post nie będzie poświęcony trojanom, ale oryginalnym aplikacjom, które mogą przyczynić się do wycieknięcia danych ich użytkowników. Nasi eksperci zbadali 13 milionów pakietów APK (Android Package Kit). Okazało się, że aż jedna czwarta z nich przesyła dane w postaci niezaszyfrowanej przez internet. Niektóre z tych aplikacji zostały pobrane setki milionów razy, a czasami nawet pół miliarda! Nie można tego nazwać marginalnym problemem.

Czasami informacje wyciekają z powodu błędów, jakie popełnili ich autorzy, jednak w większości przypadków nie tu leży problem. W przypadku otrzymania polecenia wysłania danych użytkowników na serwer większość aplikacji użyje bezpiecznego protokołu HTTPS, który zapobiega przechwyceniu danych przez osoby z zewnątrz. Problem leży w usługach firm zewnętrznych, które autorzy aplikacji wykorzystują bez ich gruntownego sprawdzenia. Jako przykład można tu podać niektóre serwisy analityczne lub reklamowe, przesyłające informacje przez internet przy wykorzystaniu protokołu HTTP, który nie zapewnia bezpieczeństwa.

Jakie informacje mogą wycieknąć?

Większość zidentyfikowanych przez nas wycieków danych obejmowała model urządzenia, jego specyfikację techniczną, dane związane z siecią lub dostawcą internetu, a także nazwą APK (po której system rozpoznaje pakiety). Wiele serwisów udostępniało także współrzędne smartfonu lub tabletu.

W niektórych przypadkach informacje na temat użycia aplikacji był przesyłane przy użyciu protokołu HTTP za pośrednictwem osadzonej usługi autorstwa innej firmy. Wśród tych informacji znajdowały się polubienia, posty czy odwiedzone strony, ale także szczegółowe informacje odnośnie właściciela urządzenia — jego imię i nazwisko, numer telefonu czy data urodzenia. W ten sposób przesyłane były również unikatowe klucze utworzone dla każdego żądania autoryzacji. Na szczęście większość usług — chociaż nie wszystkie — nie transmitowało loginów ani haseł w postaci niezaszyfrowanej.

Z tym to się wiąże?

Jeśli informacje są przesyłane przy użyciu protokołu http, są wysyłane czystym tekstem, wobec tego odczytać je może niemal każdy, nawet Twój dostawca internetu. Co więcej, na drodze z aplikacji do serwera należącego do firmy trzeciej z pewnością znajduje się kilka „punktów tranzytowych” w postaci urządzeń, które odbierają i przechowują te dane przez określony czas.

Podatne na to zagrożenie może być każdy urządzenie sieciowe, także domowy router. Jeśli zostanie ono zhakowane, atakując będą mogli uzyskać dostęp do zgromadzonych informacji (a dostawca internetu ma do nich dostęp bez konieczności włamywania się). Mając wybrane informacje o urządzeniu (zwłaszcza numery IMEI i IMSI), można monitorować czyjeś działania. Im więcej informacji o Tobie zostanie zgromadzone, tym bardziej jesteś jak otwarta książka dla reklamodawców czy fałszywych znajomych, którzy mogą nakłaniać Cię po pobrania jakichś szkodliwych plików.

Wyciek informacji odnośnie urządzenia czy użytkownika to tylko część problemu. Niepożądane jest również to, że niezaszyfrowane informacje można zmienić: na przykład w odpowiedzi o żądanie HTTP przesłane przez aplikację serwer może zwrócić film reklamowy, który cyberprzestępcy mogą przechwycić i zastąpić czymś mniej niewinnym. Mogą również zmienić link znajdujący się w reklamie; w efekcie zamiast fajnej gry pobierzesz coś zupełnie innego.

Co możesz zrobić w tej sytuacji?

Wspomnianymi przeze mnie problemami powinni jak najszybciej zająć się producenci aplikacji. Jednak zamiast pokładać w nich całą nadzieję, warto wziąć sprawę w swoje ręce i zacząć postępować zgodnie z naszymi poradami.

  • Sprawdzaj, jakich uprawnień żąda aplikacja — chociaż wymaga to poświęcenia dodatkowego czasu, nie będzie on zmarnowany, nawet jeśli aplikacja została pobrana miliony razy. Jeśli na przykład program, który ma teoretycznie służyć do komunikacji, chce mieć dostęp do lokalizacji, nie zgadzaj się. Dowiedz się więcej o uprawnieniach nadawanych na platformie Android.
  • W razie możliwości wybieraj płatne wersje aplikacji. Nie wyświetlają one reklam, co przekłada się na mniejsze ryzyko wycieku danych. Niestety w tym przypadku nadal istnieje ryzyko wykorzystywania przez nie zewnętrznych modułów analitycznych, które często nie mają litości dla danych.
  • Korzystaj z połączenia VPN — to bezpieczne połączenie, które ochroni Twoje dane, nawet jeśli zawiodą producenci aplikacji.
Zostań naszym fanem!