W tej sekcji znajdują się zalecenia mające na celu zapewnienie bezpieczeństwa komunikacji sieciowej z urządzeń z systemem Android.
Zabezpieczenie gniazd podsłuchowych
Używaj gniazdek nasłuchowych ostrożnie. Ogólnie rzecz biorąc, na urządzeniach nie powinno być żadnych otwartych gniazd nasłuchowych, ponieważ stanowią one wektor umożliwiający zdalnemu atakującemu uzyskanie dostępu do urządzenia.
- Urządzenia z Androidem powinny minimalizować liczbę odsłoniętych gniazd do nasłuchiwania Internetu, szczególnie podczas uruchamiania lub domyślnie. Domyślnie żadne gniazdo nie powinno nasłuchiwać w Internecie podczas rozruchu.
- Procesy root i procesy należące do unikalnego identyfikatora systemu (UID) nie powinny ujawniać żadnych gniazd nasłuchujących.
- Gniazda nasłuchowe muszą mieć możliwość wyłączenia bez aktualizacji OTA. Można to zrobić, zmieniając konfigurację serwera lub urządzenia użytkownika.
- W przypadku lokalnych gniazd korzystających z protokołu IPC aplikacje muszą korzystać z gniazda domeny UNIX z dostępem ograniczonym do grupy. Utwórz deskryptor pliku dla IPC i ustaw go na +RW dla określonej grupy UNIX. Wszystkie aplikacje klienckie muszą należeć do tej grupy UNIX.
- Niektóre urządzenia z wieloma procesorami (na przykład radio/modem oddzielony od procesora aplikacji) wykorzystują gniazda sieciowe do komunikacji między procesorami. W takich przypadkach gniazdo sieciowe używane do komunikacji między procesorami musi korzystać z izolowanego interfejsu sieciowego, aby uniemożliwić dostęp nieautoryzowanym aplikacjom na urządzeniu (tj. używać iptables, aby uniemożliwić dostęp innym aplikacjom na urządzeniu).
- Demony obsługujące porty nasłuchiwania muszą być odporne na zniekształcone dane. Powinieneś przeprowadzić testy fuzz na porcie, używając nieautoryzowanego klienta i, jeśli to możliwe, autoryzowanego klienta. Zgłaszaj błędy, aby śledzić awarie.
Pakiet testów zgodności systemu Android (CTS) zawiera testy sprawdzające obecność otwartych portów nasłuchujących.
Wyłącz ADB
Android Debug Bridge (ADB) to cenne narzędzie do programowania i debugowania, ale zostało zaprojektowane do użytku w kontrolowanym, bezpiecznym środowisku i nie powinno być włączane do ogólnego użytku.
- Upewnij się, że funkcja ADB jest domyślnie wyłączona.
- Upewnij się, że ADB wymaga od użytkownika włączenia go przed zaakceptowaniem połączeń.