Zabezpiecz urządzenie z Androidem

Android zawiera wiodące w branży funkcje zabezpieczeń i współpracuje z programistami oraz wdrożeniowcami urządzeń, aby zapewnić bezpieczeństwo platformy i ekosystemu Androida. Solidny model zabezpieczeń jest niezbędny, aby umożliwić prężny ekosystem aplikacji i urządzeń zbudowanych na platformie Android i wokół niej oraz obsługiwanych przez usługi w chmurze. W rezultacie przez cały cykl rozwoju Androida podlegał rygorystycznemu programowi bezpieczeństwa.

Android ma być otwarty. Aplikacje na Androida wykorzystują zaawansowany sprzęt i oprogramowanie, a także dane lokalne i obsługiwane, udostępniane za pośrednictwem platformy, aby zapewnić konsumentom innowacje i wartość. Aby zrealizować tę wartość, platforma oferuje środowisko aplikacji, które chroni poufność, integralność i dostępność użytkowników, danych, aplikacji, urządzenia i sieci.

Zabezpieczenie otwartej platformy wymaga silnej architektury bezpieczeństwa i rygorystycznych programów bezpieczeństwa. Android został zaprojektowany z wielowarstwowymi zabezpieczeniami, które są wystarczająco elastyczne, aby obsługiwać otwartą platformę, jednocześnie chroniąc wszystkich użytkowników platformy. Aby uzyskać informacje na temat zgłaszania problemów z zabezpieczeniami i procesu aktualizacji, zobacz Aktualizacje zabezpieczeń i zasoby .

Android jest przeznaczony dla programistów. Kontrole bezpieczeństwa zostały zaprojektowane w celu zmniejszenia obciążenia programistów. Zaawansowani programiści mogą z łatwością pracować i polegać na elastycznych mechanizmach kontroli bezpieczeństwa. Deweloperzy mniej zaznajomieni z bezpieczeństwem są chronieni przez bezpieczne ustawienia domyślne.

Oprócz zapewnienia stabilnej platformy, na której można budować, Android zapewnia dodatkowe wsparcie programistom na wiele sposobów. Zespół ds. bezpieczeństwa Androida szuka potencjalnych luk w aplikacjach i sugeruje sposoby ich rozwiązania. W przypadku urządzeń z Google Play Usługi Play dostarczają aktualizacje zabezpieczeń dla krytycznych bibliotek oprogramowania, takich jak OpenSSL, który służy do zabezpieczania komunikacji aplikacji. Android Security wypuścił narzędzie do testowania SSL ( nogotofail ), które pomaga programistom znaleźć potencjalne problemy z bezpieczeństwem na dowolnej platformie, którą opracowują.

Więcej informacji dla programistów aplikacji na Androida można znaleźć na stronie developer.android.com .

Android jest przeznaczony dla użytkowników. Użytkownicy mają zapewniony wgląd w uprawnienia wymagane przez każdą aplikację i kontrolę nad tymi uprawnieniami. Projekt ten obejmuje oczekiwanie, że osoby atakujące będą próbowały przeprowadzić typowe ataki, takie jak ataki socjotechniczne w celu przekonania użytkowników urządzeń do zainstalowania złośliwego oprogramowania oraz ataki na aplikacje innych firm w systemie Android. Android został zaprojektowany zarówno w celu zmniejszenia prawdopodobieństwa tych ataków, jak i znacznego ograniczenia wpływu ataku w przypadku jego powodzenia. Bezpieczeństwo systemu Android jest kontynuowane, gdy urządzenie znajduje się w rękach użytkownika. Android współpracuje z partnerami i opinią publiczną , aby dostarczać poprawki dla każdego urządzenia z Androidem, które nadal otrzymuje aktualizacje zabezpieczeń.

Więcej informacji dla użytkowników końcowych można znaleźć w Centrum pomocy Nexusa , Centrum pomocy Pixela lub Centrum pomocy producenta urządzenia.

Ta strona przedstawia cele programu bezpieczeństwa Androida, opisuje podstawy architektury bezpieczeństwa Androida i odpowiada na najbardziej istotne pytania dla architektów systemów i analityków bezpieczeństwa. Koncentruje się na funkcjach bezpieczeństwa podstawowej platformy Androida i nie omawia problemów związanych z bezpieczeństwem, które są unikalne dla określonych aplikacji, takich jak te związane z przeglądarką lub aplikacją do obsługi SMS-ów.

Tło

Android zapewnia platformę open source i środowisko aplikacji dla urządzeń mobilnych.

Poniższe sekcje i strony opisują funkcje zabezpieczeń platformy Android. Rysunek 1 ilustruje składniki zabezpieczeń i rozważania dotyczące różnych poziomów stosu oprogramowania Android. Każdy element zakłada, że ​​poniższe elementy są odpowiednio zabezpieczone. Z wyjątkiem niewielkiej ilości kodu systemu operacyjnego Android działającego jako root, cały kod powyżej jądra Linuksa jest ograniczony przez piaskownicę aplikacji.

Rysunek 1: stos oprogramowania Android

Rysunek 1. Stos oprogramowania Android

Główne elementy konstrukcyjne platformy Android to:

  • Sprzęt urządzenia: Android działa na szerokiej gamie konfiguracji sprzętowych, w tym na telefonach komórkowych, tabletach, zegarkach, samochodach, telewizorach inteligentnych, konsolach do gier OTT i dekoderach. Android jest niezależny od procesora, ale korzysta z niektórych funkcji zabezpieczeń specyficznych dla sprzętu, takich jak ARM eXecute-Never.
  • System operacyjny Android: Podstawowy system operacyjny jest oparty na jądrze Linux. Wszystkie zasoby urządzenia, takie jak funkcje aparatu, dane GPS, funkcje Bluetooth, funkcje telefonii i połączenia sieciowe, są dostępne za pośrednictwem systemu operacyjnego.
  • Android Application Runtime: Aplikacje na Androida są najczęściej pisane w języku programowania Java i uruchamiane w środowisku uruchomieniowym Androida (ART). Jednak wiele aplikacji, w tym podstawowe usługi i aplikacje na Androida, to aplikacje natywne lub zawierają biblioteki natywne. Zarówno ART, jak i aplikacje natywne działają w tym samym środowisku zabezpieczeń, zawartym w piaskownicy aplikacji. Aplikacje otrzymują dedykowaną część systemu plików, w której mogą zapisywać prywatne dane, w tym bazy danych i nieprzetworzone pliki.

Aplikacje na Androida rozszerzają podstawowy system operacyjny Android. Istnieją dwa główne źródła aplikacji:

  • Preinstalowane aplikacje: Android zawiera zestaw preinstalowanych aplikacji, w tym telefon, pocztę e-mail, kalendarz, przeglądarkę internetową i kontakty. Działają one jako aplikacje użytkownika i zapewniają kluczowe funkcje urządzenia, do których mogą uzyskać dostęp inne aplikacje. Preinstalowane aplikacje mogą być częścią platformy Android typu open source lub mogą być opracowane przez producenta urządzenia dla konkretnego urządzenia.
  • Aplikacje instalowane przez użytkowników: Android zapewnia otwarte środowisko programistyczne, które obsługuje dowolne aplikacje innych firm. Google Play oferuje użytkownikom setki tysięcy aplikacji.

Usługi bezpieczeństwa Google

Google udostępnia zestaw usług opartych na chmurze, które są dostępne dla zgodnych urządzeń z systemem Android z usługami Google Mobile Services . Chociaż te usługi nie są częścią projektu Android Open Source Project (AOSP), są dostępne na wielu urządzeniach z systemem Android. Aby uzyskać więcej informacji na temat niektórych z tych usług, zobacz Przegląd roku 2018 programu Android Security .

Podstawowe usługi bezpieczeństwa Google to:

  • Google Play: Google Play to zbiór usług, które pozwalają użytkownikom odkrywać, instalować i kupować aplikacje na urządzeniach z Androidem lub w internecie. Google Play ułatwia programistom dotarcie do użytkowników Androida i potencjalnych klientów. Google Play zapewnia również przegląd społeczności, weryfikację licencji aplikacji , skanowanie zabezpieczeń aplikacji i inne usługi bezpieczeństwa.
  • Aktualizacje systemu Android: Usługa aktualizacji systemu Android zapewnia nowe funkcje i aktualizacje zabezpieczeń dla wybranych urządzeń z systemem Android, w tym aktualizacje przez Internet lub bezprzewodowo (OTA).
  • Usługi aplikacji: struktury, które umożliwiają aplikacjom na Androida korzystanie z funkcji chmury, takich jak ( tworzenie kopii zapasowych ) danych i ustawień aplikacji oraz przesyłanie wiadomości z chmury do urządzenia ( C2DM ) na potrzeby wiadomości push.
  • Weryfikuj aplikacje: ostrzegaj lub automatycznie blokuj instalację szkodliwych aplikacji i stale skanuj aplikacje na urządzeniu, ostrzegając o szkodliwych aplikacjach lub je usuwając .
  • SafetyNet: chroniący prywatność system wykrywania włamań, który pomaga śledzić Google, łagodzić znane zagrożenia bezpieczeństwa i identyfikować nowe zagrożenia.
  • Atest SafetyNet: API innej firmy w celu ustalenia, czy urządzenie jest zgodne z CTS. Poświadczenie może również identyfikować aplikację na Androida komunikującą się z serwerem aplikacji.
  • Menedżer urządzeń Android: aplikacja internetowa i aplikacja na Androida do lokalizowania zgubionego lub skradzionego urządzenia.

Przegląd programu bezpieczeństwa

Kluczowe składniki programu Android Security Program obejmują:

  • Przegląd projektu: Proces bezpieczeństwa systemu Android rozpoczyna się na wczesnym etapie cyklu rozwoju wraz z utworzeniem bogatego i konfigurowalnego modelu i projektu zabezpieczeń. Każda główna funkcja platformy jest weryfikowana przez inżynierów i zasoby bezpieczeństwa, z odpowiednimi zabezpieczeniami zintegrowanymi z architekturą systemu.
  • Testy penetracyjne i przegląd kodu: Podczas rozwoju platformy komponenty stworzone przez system Android i komponenty typu open source podlegają rygorystycznym przeglądom bezpieczeństwa. Przeglądy te są wykonywane przez zespół ds. bezpieczeństwa systemu Android, zespół inżynierów ds. bezpieczeństwa informacji firmy Google oraz niezależnych konsultantów ds. bezpieczeństwa. Celem tych przeglądów jest identyfikacja słabych punktów i możliwych luk na długo przed głównymi wydaniami oraz symulacja typów analiz przeprowadzanych przez zewnętrznych ekspertów ds. bezpieczeństwa po wydaniu.
  • Open source i przegląd społeczności: AOSP umożliwia szeroki przegląd bezpieczeństwa przez każdą zainteresowaną stronę. Android korzysta również z technologii open source, które przeszły znaczący przegląd zabezpieczeń zewnętrznych, takich jak jądro Linuksa. Google Play to forum dla użytkowników i firm, na którym można udostępniać informacje o konkretnych aplikacjach bezpośrednio użytkownikom.
  • Reakcja na incydent: nawet przy tych środkach ostrożności problemy z bezpieczeństwem mogą wystąpić po wysyłce, dlatego projekt Android stworzył kompleksowy proces reagowania na zagrożenia. Pełnoetatowi członkowie zespołu ds. zabezpieczeń systemu Android monitorują społeczność ds. zabezpieczeń specyficznych dla systemu Android i ogólną społeczność ds. bezpieczeństwa w celu omówienia potencjalnych luk w zabezpieczeniach i przeglądu błędów zabezpieczeń zgłoszonych w bazie danych błędów systemu Android. Po wykryciu uzasadnionych problemów zespół Androida ma proces reakcji, który umożliwia szybkie łagodzenie luk w zabezpieczeniach, aby zminimalizować potencjalne ryzyko dla wszystkich użytkowników Androida. Te odpowiedzi obsługiwane w chmurze mogą obejmować aktualizację platformy Android (aktualizacje AOSP), usuwanie aplikacji z Google Play oraz usuwanie aplikacji z urządzeń w terenie.
  • Comiesięczne aktualizacje zabezpieczeń: zespół ds. zabezpieczeń systemu Android zapewnia comiesięczne aktualizacje urządzeń Google Android i wszystkich naszych partnerów produkujących urządzenia.

Architektura bezpieczeństwa platformy

Android stara się być najbezpieczniejszym i najbardziej użytecznym systemem operacyjnym dla platform mobilnych, zmieniając przeznaczenie tradycyjnych mechanizmów kontroli bezpieczeństwa systemu operacyjnego na:

  • Chroń aplikację i dane użytkownika
  • Chroń zasoby systemowe (w tym sieć)
  • Zapewnij izolację aplikacji od systemu, innych aplikacji i od użytkownika

Aby osiągnąć te cele, Android zapewnia następujące kluczowe funkcje bezpieczeństwa:

  • Solidne zabezpieczenia na poziomie systemu operacyjnego poprzez jądro Linux
  • Obowiązkowa piaskownica aplikacji dla wszystkich aplikacji
  • Bezpieczna komunikacja międzyprocesowa
  • Podpisywanie aplikacji
  • Uprawnienia zdefiniowane przez aplikację i przyznawane przez użytkownika