Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Systemy operacyjne i aplikacje (https://forum.cdrinfo.pl/f124/)
-   -   Bezpieczeństwo, a Android - czyli wirusy w telefonie. ;] (https://forum.cdrinfo.pl/f124/bezpieczenstwo-android-czyli-wirusy-telefonie-93491/)

Berion 31.05.2014 20:10

Bezpieczeństwo, a Android - czyli wirusy w telefonie. ;]
 
Ilość załączników: 10
Co i raz temat złośliwego oprogramowania podnoszony jest przez firmy produkujące programy antywirusowe jak i przez, nazwijmy ich, niezdrowych pasjonatów konkurencyjnych systemów operacyjnych. A jak jest naprawdę, jak się zabezpieczyć i na co uważać? Zanim przejdę do konkretów skupię się na podstawach, czyli:


I. Dobre praktyki:

1. Nigdy nie wgrywaj programów z poza sklepu Google Play (lub sklepów do których trudno mieć zaufanie). Tutaj głównie mam na myśli pirackich "plikowni", torrentów etc. Bywa że udostępniane oprogramowanie, "wzbogacane" jest o nowe, niekoniecznie pożądane funkcje. ;) Programy na systemy mobilne są bardzo tanie, więc naprawdę nie ma sensu szukać "pełnych wersji demo". Zakupione materiały można zawsze zwrócić przez określony czas (dawniej było to 2 dni, obecnie czas ten został skrócony bodajże do 2 godzin, które również powinny wystarczyć na przetestowanie produktu). W przypadku innych sklepów, takich jak np. Samsung Apps czy Amazon, które weryfikują aplikacje także nie oznacza, że te nie mają zaszytych żadnych złośliwych funkcji. Weryfikacje są pobieżne, przeprowadzane najpierw (bądź wyłącznie) przez automaty i tylko na binarkach (w żadnym ze sklepów, nawet w tym jabłkowym na iOS nie jest sprawdzany kod źródłowy). Nigdy bezrefleksyjnie nie ufaj owym weryfikacjom, ponieważ nawet w gloryfikowanym App Store okazało się możliwe przemycenie złośliwego kodu czego dowiódł już jeden z hackerów - jak sięgam pamięcią - Charlie Miller, tym samym obalając mit bezpiecznych e-sklepów na zamkniętych platformach.

2. Zawsze przed instalacją uważnie przeczytaj listę uprawnień jakie potrzebuje aplikacja do działania - niestety od pewnego czasu, lista ta w sklepie Google Play została mocno uproszczona. Nigdy nie instaluj programów, które potrzebują nadmiarowych uprawnień! Co to oznacza: np. latarki, która żąda możliwości wykonywania połączeń telefonicznych - "po co programowi kontrolującemu diodę takie uprawienie?" - i to jest właśnie sposób myślenia na który trzeba się przestawić. Niestety nie zawsze ryzyko można racjonalnie ocenić, bo co w przypadku kiedy np. kalendarz chce mieć dostęp do wspomnianych połączeń czy kontaktów? Logika podpowiada, że po to aby móc z jej poziomu wywołać dialer dla ustawionego zdarzenia, ale takie uprawnienie równie dobrze może jednocześnie służyć niecnym celom...

3. W ustawieniach sklepu, wyłącz automatyczne aktualizacje aplikacji. Funkcja bardzo wygodna, ale potencjalnie niebezpieczna ponieważ z racji tego, że Google nie weryfikuje aplikacji co tyczy się także ich aktualizacji, możliwy jest scenariusz kiedy jakaś aplikacja zyskuje sporą popularność, cieszy się dobrymi ocenami, posiada dobre opinie i renomę, jednak pewnego dnia autor postanawia przejść "na ciemną stronę mocy" (lub sprzedaje komuś konto dewelopera) serwując aktualizację ze złośliwym kodem.

4. Przed instalacją programu, przeczytaj opnie pod opisem i sprawdź oceny. Z ocenami bywa różnie, sporo osób wystawia negatywną gdy okazuje się że program nie działa akurat na jego telefonie, gdy autor odmówi wystawienia pozytywnej oceny aplikacji innemu deweloperowi, nie odpisze na maila, gdy konkurencja staje się zazdrosna lub w przypadku gdy na słońcu trwają burze, a gdzieś w Zimbabwe motyl macha skrzydłami. ;) Z komentarzami jest już znacznie lepiej i wystarczy pobieżnie je przejrzeć, aby uchronić się przed ewentualną "niespodzianką".

5. Jeśli posiadasz zrootowany telefon, nigdy nie zezwalaj programom, które tego nie potrzebują, na prawa roota gdy zostaniesz o to zapytany. Tak wysokie uprawnienia wymagane są jedynie przez aplikacje które modyfikują dane na partycjach systemowych (zarządzanie punktami montowania, zarządzaniem RAM, taktowaniem procesora, regułami iptables itp). Punkt ten należy potraktować bardzo poważnie ponieważ - podkreślam - teoretycznie złośliwa aplikacja mogłaby uszkodzić telefon nawet fizycznie.

6. Udostępniaj kartę pamięci w trybie MTP, a nie MSC (o ile Twój rom na to pozwala). W tym pierwszym trybie to telefon zarządza nośnikami (partycją Data na NAND jak i kartą pamięci) i nie zadziała ewentualny szkodnik wgrany razem z autorunem po podłączeniu do komputera z Windows 9x/NT. Ewentualnie (a najlepiej dodatkowo) po stronie Windows (innych systemów to nie dotyczy) wyłącz automatyczne uruchamianie aplikacji z wymiennych nośników i/lub włącz UAC, ustaw mu suwak na samą górę i ustaw odpowiednią politykę uruchamiania programów, czyli np. pozwól na odpalanie się tylko wybranym (niestety GUI w edycjach dopiero Enterprise, Ultimate i Server).

http://forum.cdrinfo.pl/attachment.p...1&d=1410990264



II. Zło:

Na Androidzie nie ma wirusów. Nie ma i nigdy nie będzie złośliwego oprogramowania, które samo z siebie będzie się powielało i dopisywało do plików zarażając inne androidowe programy. To czego naprawdę należy się obawiać to uruchamianych przez użytkownika programów, które:
  • wykradają informacje z telefonu (listy, kontakty, dane logowania do różnych kont/usług etc.), wysyłają spam, wysyłają SMSy
  • szyfrują dane użytkownika żądając okupu za odszyfrowanie
  • wgrywają na kartę pamięci windowsowe, "pendrakowe wirusy"

Prawda jest taka, że telefon z Androidem trzeba hackować aby samemu kontrolować sieć i zasoby do których uprawnienia dostają aplikacje. Tylko tak można zachować bezpieczeństwo, a przy okazji względną prywatność. Android przez taką, a nie inną politykę Google nie jest systemem, który wystarczy kupić i beztrosko używać. Samo Google żyje ze zbierania prywatnych danych, a więc i konstruuje system w taki sposób aby dane te były łatwe do zebrania - nawet przez aplikacje zewnętrzne. Podstawą jest więc odblokowany bootloader z wgranym recovery np. clockworkmod (pomocny) i zainstalowany SU (obowiązkowy). Ze względu na mnogość modeli telefonów, wersji i forków Androida, nie będę wyjaśniał jak tego dokonać. Informacji szukaj na forach np. XDA (niektóre telefony mają już fabrycznie wgrany SuperUser). Najczęściej tracisz w ten sposób gwarancję i bezpowrotnie obsługę DRM związaną z wewnętrznymi usługami danej firmy. Z SU związana jest jeszcze jedna przykra konsekwencja, wiele programów bankowych odmawia działania ze względów wyimaginowanego bezpieczeństwa jakim się tłumaczą, ale można użyć modułu RootCloak, który je oszukuje (nie testowałem). Co zyskujesz? Pełną kontrolę nad wszystkimi zasobami telefonu, a co za tym idzie, jesteś w stanie zabezpieczyć się przed powyższymi zagrożeniami (nawet post factum). Jeśli z jakichś przyczyn nie możesz zrootować telefonu pozostaje tylko rozsądek i - kontrolowanie bilingów (złośliwe aplikacje mogą np. wysyłać SMSy premium raz na jakiś czas (lub nawet dopiero po jakimś czasie) a nie "ile tylko fabryka da"). Warto też niepotrzebne usługi zablokować u operatora.


1. W pierwszym przypadku linie obrony są dwie.

a. Pierwsza, podstawowa to instalacja programu do zarządzania regułami firewalla (np. AFWall+) i oczywiście odpowiednie ich ustawienie.
Przy pierwszym uruchomieniu jak i przy każdej jego aktualizacji, SU zapyta czy przyznać mu uprawnienia roota. Oczywiście musisz potwierdzić. Następnie program (jak przy każdym uruchamianiu) wczyta wszystkie programy i wyświetli je w postaci listy.

Zaznaczasz, które aplikacje mogą - i przez co - łączyć się z internetem. Na końcu potwierdzasz zmiany wchodząc w ustawienia, dotykając "Zastosuj" i oczywiście "tarczę", aby włączyć nowo ustalone reguły.

http://forum.cdrinfo.pl/attachment.p...1&d=1410990471 http://forum.cdrinfo.pl/attachment.p...1&d=1410990471 http://forum.cdrinfo.pl/attachment.p...1&d=1410990471


b. Drugą, ważniejszą rzeczą jest wgranie programu, który wyświetla przyznawane aplikacjom uprawnienia i pozwalający im je wybiórczo odebrać. W tej roli użyć można Xposed Framework i modułu XPrivacy lub aplikacji Aps Ops Starter, która zadziała na wersjach 4.3.x do 4.4.x. W przypadku XF, przed wgraniem zalecam wykonać obraz całego NAND, na wypadek gdyby telefon przestał się normalnie uruchamiać (z poziomu recovery, po to właśnie wspomniany wcześniej odblokowany bootloader).

Przejdź do opcji dla programistów (zależnie od rom-u, może być różnie nazwana) i włącz "Debugowanie USB". Następnie przejdź do "Zabezpieczeń" i włącz "Nieznane źródła" (pamiętaj aby po instalacji opcje te z powrotem wyłączyć).

Zainstaluj sterowniki do swojego telefonu ze strony producenta (bez nich nie połączysz się z ADB).

Pobierz i wgraj Xposed Framework wraz ze wspomnianym modułem na telefon za pomocą ADB (Android Debug Bridge), który można wydłubać z platform-tools z SDK dla Androida. Są to pliki: "adb.exe", "AdbWinApi.dll" i "AdbWinUsbApi.dll". Na przyszłość zarchiwizuj je sobie, aby nie instalować całej kobyły dla deweloperów (i niech Ci przypadkiem nie przyjdzie do głowy ściągać tego z innego źródła ;)). Uruchom konsolę ("C:\Windows\System32\cmd.exe"), przejdź do katalogu z adb i wklep "adb devices". Jeśli poprawnie wgrałeś pasujące sterowniki USB, włączyłeś wspomniane wcześniej przeze mnie opcje i podłączyłeś telefon do komputera - na liście powinien pojawić się identyfikator urządzenia. Następnie zainstaluj aplikacje za pomocą poleceń "adb install <ścieżka do *.apk>".

Na telefonie, na liście zainstalowanych programów powinny pojawić się stosowne ikonki.

http://forum.cdrinfo.pl/attachments/...kony_xf_xp.png


Uruchom Xposed Installer. Wybierz "Framework", potwierdź że będziesz grzeczny i ostrożny, ;) "Zainstaluj lub uaktualnij". Kiedy SuperUser zapyta czy przyznać mu uprawnienia zgódź się. Zrestartuj telefon.

http://forum.cdrinfo.pl/attachments/...-xposed_01.png http://forum.cdrinfo.pl/attachments/...-xposed_02.png http://forum.cdrinfo.pl/attachments/...-xposed_03.png http://forum.cdrinfo.pl/attachments/...-xposed_04.png

Jeśli wyskoczy komunikat z błędem "segmentation fault", ściagnij i zainstaluj Xposed Installer Static Busy Box i ponów instalację XF.

http://forum.cdrinfo.pl/attachments/...-xposed_05.png


Ponownie uruchom Xposed Installer, przejdź do Modułów i uaktywnij XPrivacy. Zrestartuj telefon.

http://forum.cdrinfo.pl/attachments/...-xposed_06.png http://forum.cdrinfo.pl/attachments/...-xposed_07.png http://forum.cdrinfo.pl/attachments/...-xposed_08.png

Uruchom teraz XPrivacy (bez różnicy czy z poziomu Launchera czy z menu w Xposed). Po przebiciu się przez samouczek, będziesz mógł ustawić do czego dostęp mają mieć poszczególne aplikacje (w wersji płatnej dodatkowo eksportować i importować reguły).

http://forum.cdrinfo.pl/attachments/...privacy_01.png http://forum.cdrinfo.pl/attachments/...privacy_02.png http://forum.cdrinfo.pl/attachments/...privacy_03.png


2. Przed tym rodzajem ataku nie ma jak się obronić, inaczej niż stosując dobre praktyki z początku mojego poradnika. Jeśli już uruchomiłeś aplikację, która zdążyła złośliwie zaszyfrować dane znajdujące się np. na karcie to pozostaje Ci pogodzić się z ich utratą (nie opłacaj okupu bowiem może się okazać że serwery z którymi łączy się aplikacja są już martwe, a autorzy od dawna grzeją tyłek w lazurowych wodach, spijając drinki lub bujają się w betonowych trzewikach na dnie Bajkału). Przejdź do recovery i sformatuj partycję Data (tzw. przywrócenie ustawień fabrycznych) i wyczyść cache Dalvika. Jeśli owa aplikacja wymagała praw roota, a ty je jej przyznałeś to dodatkowo trzeba sformatować pozostałe partycje (oczywiście poza /boot i /recovery!) i wgrać z paczki *.zip od nowa rom (lub przywrócić obraz który wykonałeś przed infekcją).

3. Większość, jak nie wszystkie, programy antywirusowe na Windows wykrywają ten wektor ataku. Mimo wszystko warto się zabezpieczyć tworząc na karcie pamięci (różnie oznaczanej, zwykle sd_card ale może być też ext_card) z poziomu managera plików (polecam rewelacyjny, polski, Solid Explorer) folder o nazwie AUTORUN.INF (tak, folder a nie plik). Dlatego z poziomu managera plików, ponieważ Windows nie pozwala na nazywanie folderów tak jak plików (chyba że używasz Linuksa, ale wtedy i tego rodzaju złośliwe oprogramowanie nie jest Ci straszne).


III. Zabezpieczenie prywatnych danych w telefonie.

Zabezpieczenie przed odczytem z zewnątrz. Wyłącz w opcjach możliwość instalacji programów z poza sklepu i Debugowanie USB. Ustaw skomplikowany wzór dla blokady ekranu, wyłącz zewnętrzne blokady ekranu, które mogą posiadać jakieś luki i pamiętaj o czyszczeniu/przecieraniu szybki po każdorazowym odblokowywaniu telefonu w miejscu publicznym (usuwając w te sposób tłuste ślady paluchów, naprowadzające np. złodzieja na stosowany wzór). Dobrze byłoby też zaszyfrować dane, ale wówczas Android wymusza stosowanie hasła do wklepywania zamiast wzoru (funkcja ta nie działa na wszystkich rom-ach, na niektórych stockowych nawet jej nie ma podpiętej do menu...).


IV. Programy antywirusowe.

Czy warto je instalować? Uważam, że NIE warto ponieważ ich działanie ogranicza się jedynie do monitorowania sieci i rozpoznawaniu złośliwych aplikacji po sygnaturach. Jest to marnowanie zasobów telefonu na coś czego skuteczność jest znikoma.


V. Programy antykradzieżowe.

Również nie warto, ponieważ wystarczy wykonać wipe (przywracanie ustawień fabrycznych) z poziomu ustawień lub nawet oryginalnego recovery aby pozbyć się ich na dobre, a jest to jedna z pierwszych czynności jakie wykonuje zorientowany złodziej lub znalazca.


VI. Inżynieria wsteczna gumową pałką.

Odporność na tego rodzaju atak wymaga silnej woli, znajomości socjotechniki i sporo krzepy.
Taki branżowy suchar. ;p


VII. Przyszłe wektory ataku.

Niewykluczone, że w przyszłości powstaną aplikacje, które wgrywają na kartę pamięci złośliwe oprogramowanie dla Windows np. doklejając coś do plików kojarzonych przez popularne programy lub podszywając się pod nie. Jak się obronić przed takimi scenariuszami? Na pierwszy przypadek mogą pomóc atrybuty plików tylko do odczytu (pod warunkiem, że systemem plików na karcie pamięci jest FAT32, a programista felernej aplikacji nie przewidział obsługi atrybutów). Zmiana tego przy każdym zapisie byłaby niezwykle uciążliwa, więc możemy przyjąć że obronić się nie da (jak również owe złośliwe programy mogłyby się na taką ewentualność przygotować). W drugim przypadku, trzeba pamiętać co zapisujemy i gdzie. Póki co, można spać spokojnie, traktując to wyłącznie jako ciekawostki. Póki co. ;)

Berion 17.09.2014 23:04

Załączniki c.d.
 
Ilość załączników: 6
Załączniki c.d.

DarkSlide97 21.09.2014 07:44

Bardzo ciekawy temat, sam dodam że oprócz numerów telefonów i wiadomości bałbym trzymać się cokolwiek innego (prywatnego) więc jestem chyba dostatecznie zabezpieczony.

toskaa 05.01.2020 00:11

Jaki program antywirusowy na adroida polecacie?


Wszystkie czasy w strefie CET. Aktualna godzina: 07:07.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.