Sprawdzone metody zapewniania bezpieczeństwa sieci

Ta sekcja zawiera zalecenia dotyczące zapewniania bezpieczeństwa komunikacji sieciowej na urządzeniach z Androidem.

Bezpieczne gniazda nasłuchujące

Stosuj gniazda nasłuchujące z ostrożnością. Na urządzeniach nie powinno być żadnych otwartych gniazd nasłuchujących, ponieważ stanowią one wektor umożliwiający atakującemu zdalne uzyskanie dostępu do urządzenia.

  • Urządzenia z Androidem powinny minimalizować liczbę udostępnianych gniazd nasłuchujących na potrzeby Internetu, zwłaszcza podczas uruchamiania lub domyślnie. Domyślnie żaden gniazdo nie powinien nasłuchiwać w internecie podczas uruchamiania.
    • Procesy root i procesy należące do identyfikatora unikalnego systemu (UID) nie powinny ujawniać żadnych gniazd nasłuchujących.
  • Gniazdka nasłuchujące muszą być wyłączane bez aktualizacji OTA. Można to zrobić, zmieniając konfigurację serwera lub urządzenia użytkownika.
  • W przypadku gniazd używających lokalnego interfejsu IPC aplikacje muszą używać gniazd domeny UNIX z dostępem ograniczonym do grupy. Utwórz deskryptor pliku dla interfejsu IPC i nadaj mu uprawnienia +RW dla określonej grupy UNIX. Wszystkie aplikacje klienckie muszą znajdować się w tej grupie UNIX.
  • Niektóre urządzenia z kilkoma procesorami (np. radio/modem oddzielone od procesora aplikacji) używają gniazd sieciowych do komunikacji między procesorami. W takich przypadkach gniazdo sieciowe używane do komunikacji między procesorami musi korzystać z odseparowanego interfejsu sieciowego, aby uniemożliwić dostęp nieautoryzowanym aplikacjom na urządzeniu (np. użyć iptables, aby uniemożliwić dostęp innym aplikacjom na urządzeniu).
  • Demony, które obsługują porty nasłuchujące, muszą być odporne na źle sformatowane dane. Należy przeprowadzić testy fuzzing na porcie za pomocą nieautoryzowanego klienta i w miarę możliwości autoryzowanego klienta. Zgłaszaj błędy, aby śledzić informacje o awariach.

Pakiet testów zgodności Androida (CTS) zawiera testy, które sprawdzają obecność otwartych portów nasłuchujących.

Wyłączanie adb

Android Debug Bridge (adb) to przydatne narzędzie do tworzenia i debugowania, ale jest ono przeznaczone do użytku w kontrolowanym, bezpiecznym środowisku i nie powinno być włączone do ogólnego użytku.

  • Upewnij się, że adb jest domyślnie wyłączone.
  • Upewnij się, że adb wymaga od użytkownika włączenia przed akceptacją połączeń.