Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

Wczoraj wieczorem trafiłem na opis/przykład ciekawego ataku na urządzenia z systemem Android, przy wykorzystaniu m.in. opcji „rysowania na powierzchni”, czyli możliwości nakładania przez jedn aplikację swoich elementów na okno innej aplikacji (nie tylko pulpitu).

Android Cloak & Dagger

Potencjalnie mamy problem, bo nie dość, że sprawa dotyczy wszystkich dostateczny wersji Androida (łącznie z 7.1.2), to jeszcze (nie tylko) wyobraźnia podpowiada, że teoretycznie mamy tu nieskończone możliwości ataku, właściwie ograniczone tylko wyobraźnią twórców złośliwej aplikacji.

Atak Cloak & Dagger polega na tym, że aplikacja, która pod jakimś pozorem (np. wyświetlanie chodzącego kotka na ekranie telefonu ;-)) uzyska od nas uprawnienie do wyświetlania swoich elementów nad innymi aplikacjami (SYSTEM_ALERT_WINDOW) może właściwie każdą dowolną aplikację przysłonić elementem wygenerowanym przez siebie (np. okno logowania).

W połączeniu z opcjami z ułatwień dostępu (BIND_ACCESSIBILITY_SERVICE) taka aplikacja mogłaby odczytywać wprowadzane dane korzystając z tego, że każdy element interfejsu ma swoją lokalizacje, nazwę i granice.

Jak widać na powyższej grafice (zrzutach z ekranu) każdy, nawet najdrobniejszy element jest oddzielnym obiektem. W przypadku klawiatury można odczytać np. naciśnięcia konkretnych klawiszy (keylogger).

Proof of concept

Na dedykowanej stronie (tak, nadal każdy błąd i/lub atak i/lub… ma własną stronę ;-)) kilka filmów demonstracyjnych. Zaczynając od fałszywego okna logowania do aplikacji Facebooka:

A kończąc na instalacji aplikacji w tle, i to z pełnymi uprawnieniami:

 

Nie taki diabeł straszny, jak go malują

Oczywiście jest to problem, i potencjalnie mamy do czynienia ze spora luką w zabezpieczeniach (choć w tym przypadku to nie tyle luka/dziura, co raczej całkiem pomysłowe wykorzystanie 2 standardowych uprawnień w systemie Android).

Ale na szczęście wszystko opiera się na standardowych uprawnieniach w systemie, i to takich, które należą do grupy uprawnień specjalnych, a więc będących pod dodatkową kontrolą. Np. rysowanie nad innymi aplikacjami wymaga udzielenia dodatkowej zgody, i warto jej udzielać tylko przypadku naprawdę zaufanych aplikacji.

Warto sprawdzić które aplikacje korzystają z tego uprawnienia w systemie (telefonie), i w razie wątpliwości śmiało je odbierać:

Zawsze tez można wyłączyć całkowicie opcję rysowania na innych aplikacjach, ale wtedy musicie się liczyć z tym, że znikną Wam „dymki czatów” i tym podobne udogodnienia.

Zgłoś błąd na stronie

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które - w miarę możliwości - spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. "linki partnerskie", co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte... :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!