Esta sección contiene recomendaciones para garantizar la seguridad de las comunicaciones de red desde dispositivos Android.
Asegurar las tomas de escucha
Utilice las tomas de escucha con precaución. Por lo general, no debería haber ningún conector de escucha abierto en los dispositivos, ya que estos proporcionan un vector para que un atacante remoto obtenga acceso al dispositivo.
- Los dispositivos Android deben minimizar la cantidad de tomas de escucha de Internet que exponen, especialmente durante el arranque o de forma predeterminada. De forma predeterminada, ningún socket debería estar escuchando en Internet durante el arranque.
- Los procesos raíz y los procesos propiedad del identificador único del sistema (UID) no deberían exponer ningún socket de escucha.
- Los enchufes de escucha deben poder desactivarse sin una actualización OTA. Esto se puede realizar mediante un cambio de configuración del servidor o del dispositivo del usuario.
- Para sockets locales que usan IPC, las aplicaciones deben usar un socket de dominio UNIX con acceso limitado a un grupo. Cree un descriptor de archivo para el IPC y conviértalo en +RW para un grupo UNIX específico. Todas las aplicaciones cliente deben estar dentro de ese grupo UNIX.
- Algunos dispositivos con múltiples procesadores (por ejemplo, una radio/módem independiente del procesador de la aplicación) utilizan sockets de red para comunicarse entre procesadores. En tales casos, el socket de red utilizado para la comunicación entre procesadores debe usar una interfaz de red aislada para evitar el acceso de aplicaciones no autorizadas en el dispositivo (es decir, usar iptables para evitar el acceso de otras aplicaciones en el dispositivo).
- Los demonios que manejan puertos de escucha deben ser robustos contra datos con formato incorrecto. Debe realizar pruebas difusas en el puerto utilizando un cliente no autorizado y, cuando sea posible, un cliente autorizado. Archivar errores para realizar un seguimiento de las fallas.
El conjunto de pruebas de compatibilidad de Android (CTS) incluye pruebas que verifican la presencia de puertos de escucha abiertos.
Deshabilitar ADB
Android Debug Bridge (ADB) es una valiosa herramienta de desarrollo y depuración, pero está diseñada para usarse en un entorno controlado y seguro y no debe habilitarse para uso general.
- Asegúrese de que ADB esté deshabilitado de forma predeterminada.
- Asegúrese de que ADB requiera que el usuario lo encienda antes de aceptar conexiones.