Dom Bezpieczeństwo Czy jest to potencjalne lekarstwo na złośliwe aplikacje na Androida?

Czy jest to potencjalne lekarstwo na złośliwe aplikacje na Androida?

Spisu treści:

Anonim

Rynki aplikacji na Androida to wygodny sposób uzyskiwania aplikacji przez użytkowników. Rynki są również wygodnym sposobem dla złośników w dostarczaniu złośliwego oprogramowania. Trzeba przyznać, że właściciele Marketplace wyłapują złe aplikacje za pomocą środków bezpieczeństwa, takich jak Google Bouncer. Niestety większość - w tym Bouncer - nie jest gotowa na to zadanie. Źli faceci niemal natychmiast wymyślili, jak powiedzieć, kiedy Bouncer, środowisko emulacji, testuje swój kod. We wcześniejszym wywiadzie Jon Oberheide, współzałożyciel Duo Security i osoba, która powiadomiła Google o problemie, wyjaśnił:


„Aby program Bouncer był skuteczny, musi być nie do odróżnienia od urządzenia mobilnego rzeczywistego użytkownika. W przeciwnym razie złośliwa aplikacja będzie w stanie stwierdzić, że działa z Bouncerem i nie wykona złośliwego ładunku”.


Innym sposobem, w jaki złoczyńcy oszukiwają Bouncera, jest użycie bomby logicznej. W całej swojej historii bomby logiczne siały spustoszenie w urządzeniach komputerowych. W tym przypadku kod bomby logicznej cicho prześmiesza programy sprawdzające złośliwe oprogramowanie, podobnie jak brak aktywacji ładunku przez Bouncera, dopóki złośliwa aplikacja nie zainstaluje się na rzeczywistym urządzeniu mobilnym.


Najważniejsze jest to, że rynki aplikacji na Androida, o ile nie są skuteczne w wykrywaniu szkodliwych programów w aplikacjach, są w rzeczywistości głównym systemem dystrybucji złośliwego oprogramowania.

Nowy zwrot w starym podejściu

Zespół badawczy Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu i William Enck z North Carolina State University mógł znaleźć rozwiązanie. W artykule PREC: Practical Root Exploit Containment dla urządzeń z systemem Android zespół badawczy przedstawił swoją wersję schematu wykrywania anomalii. PREC składa się z dwóch komponentów: jednego, który współpracuje z wykrywaczem złośliwego oprogramowania w sklepie z aplikacjami, oraz jednego, który jest pobierany z aplikacją na urządzenie mobilne.


Składnik sklepu z aplikacjami jest wyjątkowy, ponieważ wykorzystuje to, co naukowcy nazywają „niejawnym monitorowaniem połączeń systemowych”. Takie podejście może dynamicznie identyfikować wywołania systemowe z komponentów wysokiego ryzyka, takich jak biblioteki stron trzecich (te, które nie są zawarte w systemie Android, ale pochodzą z pobranej aplikacji). Logika polega na tym, że wiele złośliwych aplikacji korzysta z własnych bibliotek.


Wywołania systemowe z kodu strony trzeciej wysokiego ryzyka uzyskanego z tego monitorowania, a także dane uzyskane z procesu wykrywania sklepu z aplikacjami, pozwalają PREC stworzyć normalny model zachowania. Model jest przesyłany do usługi PREC w porównaniu z istniejącymi modelami pod kątem dokładności, kosztów ogólnych i odporności na ataki mimikry.


Zaktualizowany model jest gotowy do pobrania wraz z aplikacją za każdym razem, gdy aplikacja zostanie poproszona przez osobę odwiedzającą sklep z aplikacjami.


Jest to uważane za fazę monitorowania. Po pobraniu modelu i aplikacji PREC na urządzenie z Androidem, PREC wchodzi w fazę egzekwowania - innymi słowy, wykrywanie anomalii i powstrzymywanie złośliwego oprogramowania.

Wykrywanie anomalii

Gdy aplikacja i model PREC zostaną zintegrowane na urządzeniu z Androidem, PREC monitoruje kod innej firmy, w szczególności wywołania systemowe. Jeśli sekwencja wywołań systemowych różni się od sekwencji monitorowanej w sklepie z aplikacjami, PREC określa prawdopodobieństwo, że nieprawidłowe zachowanie jest exploitem. Gdy PREC ustali, że działanie jest złośliwe, przechodzi w tryb powstrzymywania złośliwego oprogramowania.

Ograniczanie złośliwego oprogramowania

Jeśli poprawnie zrozumiane, powstrzymywanie złośliwego oprogramowania sprawia, że ​​PREC jest wyjątkowy, jeśli chodzi o ochronę przed złośliwym oprogramowaniem dla Androida. Ze względu na charakter systemu operacyjnego Android aplikacje anty-malware na Androida nie są w stanie usunąć złośliwego oprogramowania ani umieścić go w kwarantannie, ponieważ każda aplikacja znajduje się w piaskownicy. Oznacza to, że użytkownik musi ręcznie usunąć złośliwą aplikację, najpierw lokalizując złośliwe oprogramowanie w sekcji Aplikacja w System Manager urządzenia, a następnie otwierając stronę statystyk aplikacji i stukając „odinstaluj”.


Tym, co czyni PREC wyjątkowym, jest to, co naukowcy nazywają „opartym na opóźnieniu drobnoziarnistym mechanizmem ograniczającym”. Ogólna idea polega na spowolnieniu podejrzanych wywołań systemowych za pomocą puli osobnych wątków. Wymusza to przekroczenie limitu czasu przez exploit, co powoduje status „Aplikacja nie odpowiada”, w której aplikacja jest ostatecznie zamykana przez system operacyjny Android.


PREC można zaprogramować do zabijania wątków wywołania systemowego, ale może on przerwać normalne operacje aplikacji, jeśli wykrywacz anomalii popełni błąd. Zamiast ryzykować, że badacze wstawiają opóźnienie podczas wykonywania wątku.


„Nasze eksperymenty pokazują, że większość exploitów roota staje się nieefektywna po spowolnieniu do pewnego momentu złośliwego wątku macierzystego. Oparte na opóźnieniu podejście może obsłużyć fałszywe alarmy z większą wdziękiem, ponieważ łagodna aplikacja nie ucierpi z powodu awarii lub zakończenia z powodu przejściowego fałszywego alarmy ”, wyjaśnia gazeta.

Wyniki testu

Aby ocenić PREC, naukowcy zbudowali prototyp i przetestowali go na 140 aplikacjach (80 z kodem natywnym i 60 bez kodu natywnego) - plus 10 aplikacji (cztery znane aplikacje wykorzystujące roota z projektu Malware Genome i sześć przepakowanych aplikacji wykorzystujących root) - które zawierało złośliwe oprogramowanie. Szkodliwe oprogramowanie obejmowało wersje DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich i GingerBreak.


Wyniki:

  • PREC pomyślnie wykrył i zatrzymał wszystkie przetestowane exploity roota.
  • Podniósł zero fałszywych alarmów w łagodnych aplikacjach bez kodu natywnego. (Tradycyjne programy podnoszą 67–92% fałszywych alarmów na aplikację).
  • PREC zmniejszył częstość fałszywych alarmów w łagodnych aplikacjach z natywnym kodem o więcej niż jeden rząd wielkości w porównaniu do tradycyjnych algorytmów wykrywania anomalii
Szczegółowe wyniki testów można znaleźć w pracy badawczej PREC.

Korzyści z PREC

Oprócz dobrych wyników w testach i przekazania praktycznej metody zawierającej szkodliwe oprogramowanie dla Androida, PREC miał zdecydowanie lepsze liczby, jeśli chodzi o fałszywie pozytywne wyniki i utratę wydajności. Jeśli chodzi o wydajność, w dokumencie stwierdzono, że „klasyfikowany schemat monitorowania PREC nakłada mniej niż 1% kosztów ogólnych, a algorytm wykrywania anomalii SOM nakłada do 2% kosztów ogólnych. Ogólnie rzecz biorąc, PREC jest lekki, co czyni go praktycznym dla urządzeń smartfonów”.


Obecne systemy wykrywania złośliwego oprogramowania stosowane w sklepach z aplikacjami są nieskuteczne. PREC zapewnia wysoki stopień dokładności wykrywania, niski odsetek fałszywych alarmów i ochronę przed złośliwym oprogramowaniem - coś, co obecnie nie istnieje.

Wyzwanie

Kluczem do uruchomienia PREC do pracy jest wpisowe z rynków aplikacji. To tylko kwestia utworzenia bazy danych opisującej normalne działanie aplikacji. PREC to jedno narzędzie, którego można użyć do osiągnięcia tego. Następnie, gdy użytkownik pobierze żądaną aplikację, informacje o wydajności (profil PREC) są dołączane do aplikacji i będą wykorzystywane do określenia zachowania aplikacji, gdy jest ona zainstalowana na urządzeniu z Androidem.

Czy jest to potencjalne lekarstwo na złośliwe aplikacje na Androida?