Badacze zademonstrowali atak wykorzystujący wiadomość toastową, która może zmusić użytkownika do udzielenia niebezpiecznych uprawnień na urządzeniu z Androidem.
Android to dość otwarta platforma z fantastyczną społecznością programistów. Wielu z tych programistów będzie tworzyć aplikacje, niestandardowe ROMy i nie tylko. Niektóre organizacje angażują się również w testowanie bezpieczeństwa, na przykład Palo Alto Networks Unit 42. Grupa ta odkryła lukę w systemie Android Toast Message, która umożliwia atakującego do utworzenia pseudonakładki w celu nakłonienia użytkownika do przyznania niebezpiecznych uprawnień bez ich posiadania wiedza. To jest już naprawione w Wrześniowa aktualizacja zabezpieczeń oraz w Androidzie Oreo, więc możesz mieć pewność, że jeśli Twój telefon nadal otrzymuje comiesięczne poprawki zabezpieczeń lub masz urządzenie z systemem Android Oreo, nie jesteś narażony na ten atak.
Wszystkie inne urządzenia z Androidem są podatne na ten atak. Działa to w ten sposób, że wykorzystuje powiadomienia tostowe w systemie Android w celu ominięcia wymogu „rysowania na górze”, tj. zezwolenie na nakładkę, w ten sposób „
Płaszcz i sztylet" exploit zadziałał. Badacze wykorzystali ten exploit do inżynierii społecznej użytkowników, aby przyznali usługę dostępności ich atakującej aplikacji, umożliwiając im następnie odczytanie całej zawartości ekranu, kluczowych danych wejściowych itp. na urządzeniu. Następnie użyli tej samej metody, aby nakłonić użytkowników aplikacji do przyznania dostępu administratora, a wszystko to przy całkowitej nieświadomości dostępu, który właśnie przyznali. Umożliwia to atakującemu instalowanie aplikacji, monitorowanie urządzenia, a także otwiera się na potencjał oprogramowania ransomware.Wyjaśnienie ataku na nakładkę wiadomości toast w systemie Android
Ale jak to właściwie działa? The programiści za weryfikacją koncepcji udostępnił rzeczywisty kod źródłowy ataku, który zawiera bardziej techniczne wyjaśnienie luki. Ale pokrótce wyjaśnimy, jak i dlaczego działa ten exploit.
Najpierw musisz zastanowić się, czym jest wiadomość toastowa. Są dostępne na Androidzie od lat i prawdopodobnie widziałeś ich wiele na swoim urządzeniu każdego dnia. Toasty to małe komunikaty na dole ekranu, które zwykle pojawiają się w szarej dymce z informacją.
Exploit wykorzystuje komunikat toastowy do utworzenia nakładki na ekranie, bez konieczności żądania lub konieczności SYSTEM_ALERT_WINDOW pozwolenie, które powinno być wymogiem, aby jakakolwiek aplikacja mogła rysować na ekranie. Zamiast tego przepuszcza nakładkę przez wyskakujące powiadomienie, tworząc przyciski, które wyglądają tak, jakby służyły do legalnego udzielania łagodnego pozwolenie lub zaakceptowanie bezsensownego monitu, ale w rzeczywistości służą do udzielenia administratorowi urządzenia lub dostępu do ułatwień dostępu aplikacja. Tworzy dwa widoki wewnątrz nakładki tostów.
Wszystko to można zrobić z powodu nieudanej kontroli uprawnień. System Android (aktualizacja zabezpieczeń sprzed wersji Oreo i przed wrześniem) w rzeczywistości nie sprawdza treści przesyłanych przez system Android Toast Overlay, zamiast tego udziela pozwolenia bez sprawdzania. Dzieje się tak prawdopodobnie dlatego, że Google nie przewidział możliwości podawania widoku poprzez nakładkę tostową.
Próba naprawienia ataku polegającego na nałożeniu nakładki Android Toast w systemie Android 7.1
W systemie Android 7.1 wygląda na to, że Google próbował zablokować ten exploit. Wprowadzono limit czasu dla wiadomości tostowych i utworzono ograniczenie: tylko 1 wiadomość toastowa na UID, identyfikator procesu aplikacji. Można to łatwo ominąć, wielokrotnie zapętlając i wyświetlając więcej nakładek tostowych, dzięki czemu użytkownik miał złudzenie, że jest to spójny interfejs użytkownika. Jeżeli pętla nie została utworzona, po 3,5 sekundy nakładka zniknie, a użytkownik zobaczy, o co aplikacja tak naprawdę prosi - przyznanie uprawnień administratora urządzenia lub ułatwień dostępu.
Konsekwencje udanego ataku
Administrator urządzenia lub uprawnienia dostępu, jeśli zostaną przyznane aplikacji, można łatwo wykorzystać do wielu rodzajów złośliwych ataków. Za pomocą tego exploita można utworzyć oprogramowanie ransomware, keyloggery i czyszczenie urządzeń.
Aplikacje nie potrzebują żadnych uprawnień, aby wyświetlić wiadomość toastową, choć oczywiście jest to nadal złośliwa aplikacja potrzebuje BIND_ACCESSIBILITY_SERVICE, a także BIND_DEVICE_ADMIN, aby efektywnie wykorzystać tę nakładkę tostową atak. Dlatego najlepszą linią obrony przed tego rodzaju atakiem, jeśli Twoje urządzenie nie zostało jeszcze załatane, jest sprawdzenie uprawnień, które aplikacja zdefiniowała w swoim pliku AndroidManifest podczas jej instalacji. Jeśli instalujesz aplikację i nie masz pewności, dlaczego wymaga ona usługi ułatwień dostępu lub uprawnień administratora urządzenia, natychmiast ją odinstaluj i skontaktuj się z programistą.
Niepokojące jest to, że tak prostą część Androida, skromną wiadomość toastową, można wykorzystać do inżynierii społecznej użytkownika w celu przyznania mu niebezpiecznych uprawnień. Mamy nadzieję, że producenci wprowadzą wrześniowe poprawki zabezpieczeń tak szybko, jak to możliwe, na urządzeniach, aby chronić miliony ludzi, którzy mogą łatwo dać się nabrać na taki exploit.