Michael Shaulov, szef departamentu rozwiązań mobilnych w firmie Check Point analizuje jedno z najbardziej niebezpiecznych narzędzi, które cyberprzestępcy mogą wykorzystywać w atakach przeciwko urządzeniom mobilnym. Jednocześnie bada, jak firmy mogą się przed nimi chronić.

Co może być uznane za najbardziej niebezpieczne narzędzie, które cyberprzestępcy mogą wykorzystać do atakowania urządzeń mobilnych? Mocnym pretendentem do tego tytułu jest złośliwe oprogramowanie, które umożliwia rozszerzenie uprawnień – exploit dający atakującemu szerszy dostęp do urządzenia. Wówczas atakujący może zrobić z telefonem lub tabletem co tylko zechce: aktywować keyloggera, zainstalować aplikacje bez zgody właściciela czy nawet włamać się do chronionych aplikacji, w tym aplikacji korporacyjnych.

Dostrzegamy dziś nowe niebezpieczeństwa związane z podniesieniem uprawnień, o których pisze się na pierwszych stronach gazet, zaś nowe techniki stosowane przez złośliwe oprogramowania stale się rozwijają. Przedsiębiorstwa muszą zdawać sobie sprawę z tego szybko rosnącego zagrożenia dla wykorzystywanych przez nie urządzeń mobilnych, szczególnie, że – jak wykazują ostatnie badania – aż 95% przedsiębiorców nie korzysta z programów chroniących przed mobilnym złośliwym oprogramowaniem.

Aby zrozumieć, jak ataki polegające na wykorzystywaniu rozszerzania uprawnień działają i z powodzeniem zarażają urządzenia, warto przyjrzeć się, jak działa system operacyjny Google Android (opisywane ataki koncentrują się niemal wyłącznie na urządzeniach z tym oprogramowaniem). System Android składa się z trzech warstw: pierwszą z nich jest jądro systemu Linux,  które ma pełną kontrolę i dostęp do całej zawartości urządzenia mobilnego, zarządza sterownikami i może korzystać ze wszystkich jego bibliotek. Innymi słowy, jądro systemu Linux posiada uprawnienia „root” – podobne zakresem do tych, jakie ma administrator w systemie Windows.

Ponad jądrem systemu pracują usługi systemu Android, które także mają wysokie uprawnienia; ponad nimi są aplikacje użytkownika. Każda aplikacja jest zawarta w indywidualnym środowisku „sandbox” - ograniczonej przestrzeni, w której aplikacja może funkcjonować. Ma to za zadanie zarówno chronić użytkownika, jak i integralności systemu operacyjnego. Ograniczenia każdego sandboxa są ustalane przez użytkownika oraz wewnętrzne czynniki: dla przykładu, są pewne funkcjonalności, którymi nie może zarządzać nawet sam użytkownik – takie jak dostęp do danych wprowadzanych z klawiatury (key logging). Żadna aplikacja nie powinna interferować z innymi, chyba że za pośrednictwem dedykowanych w tym celu interfejsów, dostarczanych przez usługi systemowe, które pozwalają danej aplikacji użytkownika zaufać środowisku, w którym działa.

Wyrwanie się z sandboxa

Aplikacja, która usiłuje uzyskać dodatkowe zasoby czy informacje, musi wyłamać się ze środowiska sandbox – co oznacza, że aplikacja potrzebuje rozszerzyć swoje uprawnienia. W celu osiągnięcia całkowitej kontroli nad urządzeniem, potrzebuje „zrootować” urządzenie i pozyskać uprawnienia roota, co zezwoli aplikacji i osobie, która jej używa, na robienie czego tylko chcą.

Większość metod rootowania urządzeń wykorzystuje błędy zarówno w systemie operacyjnym, sprzęcie, jak i poszczególnych aplikacjach. Błędy te występują dość często: w ciągu ostatnich 6 miesięcy ponad połowa aktualizacji bezpieczeństwa Androida opublikowanych przez Google miała na celu ochronę urządzeń przed rozszerzającymi uprawnienia exploitami. Dwa ostatnie głośne ataki używające tego sposobu to BrainTest i HummingBad.

Złośliwe oprogramowanie BrainTest zostało wykryte w Sklepie Google Play latem 2015 roku. Zostało umieszczone w grze, która była opublikowana w Google Play dwa razy, pobranej przez od 100 000 do 500 000 użytkowników za każdym razem. Według badań Google, złośliwe oprogramowanie przeszło przez zabezpieczenia za pomocą szeregu technik. Wyszukany arsenał składał się z czterech różnych exploitów do eskalacji uprawnień. Następnie instalowano na urządzeniu program typu rootkit, co oznaczało, że wirus pozostawał na urządzeniu nawet po odinstalowaniu przez użytkownika wadliwej aplikacji.

HummingBad jest wyjątkowo wyrafinowaną formą ataku: wykonuje ciągły łańcuchowy atak na urządzenie, które zostaje zrootowane i pobiera szkodliwe aplikacje, generujące przychody dla atakujących. W lutym 2016 HummingBad był na szóstym miejscu najczęściej używanych wirusów na świecie, na wszystkich urządzeniach – obrazuje to, jak ważnym celem dla hakerów są urządzenia mobilne, a także jak gwałtownie rośnie liczba takich ataków.

Łatanie ochrony urządzeń mobilnych

Jak zatem można ochronić urządzenia przed atakami bazującymi na rozszerzaniu uprawnień? Regularne instalowanie aktualizacji bezpieczeństwa publikowanych przez Google jest zdecydowanie zalecane – przede wszystkim nie warto paść ofiarą błędów, które mogą być łatwo naprawione. Niestety, aktualizacje te mogą zostać udostępnione zbyt późno. W wielu przypadkach były wydawane między dwoma a pięcioma miesiącami po wykryciu usterki. Ale nawet wtedy użytkownicy mogą nie pobrać patchy natychmiastowo, tworząc jeszcze większe szanse na ataki.

Niektóre programy do zarządzania urządzeniami mobilnymi (ang. Mobile Device Management – MDM) są w stanie określić, kiedy urządzenie zostało celowo zrootowane przez użytkownika, ale zdarza się, że w pewnych przypadkach nie mogą ustalić, kiedy urządzenie zostało zrootowane przez złośliwe oprogramowanie. Niektóre bardziej zaawansowane szkodliwe oprogramowania na urządzenia mobilne potrafią zatuszować swoją aktywność, aby uniknąć wykrycia – sprawiając, że MDM może być w dużej mierze nieskuteczne przeciwko wirusom.

Najlepszym sposobem na zatrzymanie exploitów rozszerzających uprawnienia na urządzeniach przenośnych jest wdrożenie środków bezpieczeństwa, które są w stanie wykryć złośliwe aplikacje – nawet te tylko próbujące rozszerzyć swoje uprawnienia. Podstawowym sposobem ataku exploitów są aplikacje, które instalują się na urządzeniu – efektywne rozwiązanie powinno polegać na umożliwieniu zbadania i dodania do kwarantanny podejrzanych aplikacji w chmurze, zanim zostaną one zainstalowane na urządzeniu. Wtedy próba rozszerzania uprawnień zostanie wykryta przy użyciu chmury bazującej na dynamicznej analizie działań skierowanych przeciwko systemowi operacyjnemu.

Dzięki monitorowaniu i analizowaniu wszystkich możliwych sposobów ataku – na urządzeniu, w aplikacji i w sieci – możliwe jest ustalenie, czy i kiedy luka w systemie jest wykorzystywana, a także udaremnienie próby włamania. To właściwa droga, aby w pełni kontrolować uprawnienia danej organizacji.

Podziel się