Google se compromete a promover la equidad racial para las comunidades negras. Ver cómo.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Actualizaciones de seguridad y recursos

El equipo de seguridad de Android es responsable de administrar las vulnerabilidades de seguridad descubiertas en la plataforma de Android y muchas de las aplicaciones principales de Android incluidas en los dispositivos Android.

El equipo de seguridad de Android encuentra vulnerabilidades de seguridad a través de investigaciones internas y también responde a errores reportados por terceros. Las fuentes de errores externos incluyen problemas informados a través de la plantilla de problemas de seguridad de Android , investigaciones académicas publicadas y publicadas previamente, mantenedores de proyectos de código abierto, notificaciones de nuestros socios fabricantes de dispositivos y problemas divulgados públicamente publicados en blogs o redes sociales.

Informar problemas de seguridad

Cualquier desarrollador, usuario de Android o investigador de seguridad puede notificar al equipo de seguridad de Android sobre posibles problemas de seguridad a través del formulario de informe de vulnerabilidad de seguridad .

Los errores marcados como problemas de seguridad no son visibles externamente, pero eventualmente pueden hacerse visibles después de que se evalúa o resuelve el problema. Si planea enviar un parche o una prueba de compatibilidad (CTS) para resolver un problema de seguridad, adjúntelo al informe de error y espere una respuesta antes de cargar el código en AOSP.

Errores de triaging

La primera tarea en el manejo de una vulnerabilidad de seguridad es identificar la gravedad del error y qué componente de Android se ve afectado. La gravedad determina cómo se prioriza el problema, y ​​el componente determina quién corrige el error, a quién se le notifica y cómo se implementa la solución para los usuarios.

Tipos de proceso

Esta tabla cubre las definiciones de los tipos de proceso. El tipo de proceso puede definirse por el tipo de aplicación o proceso o el área en la que se ejecuta. Esta tabla está ordenada de menor a mayor privilegio.

Tipo de proceso Definición de tipo
Proceso restringido Un proceso que se ejecuta en un dominio SELinux altamente limitado.
O
Un proceso que es significativamente más limitado que una aplicación normal.
Proceso sin privilegios Una aplicación o proceso de terceros.
O
Una aplicación o proceso que se ejecuta en el dominio SELinux untrusted_app .
Proceso privilegiado Una aplicación o proceso con capacidades que estaría prohibido por el dominio SELinux untrusted_app .
O
Una aplicación o proceso con privilegios importantes que una aplicación de terceros no puede obtener.
O
Un componente de hardware incorporado en el dispositivo que no forma parte de la base informática confiable (TCB).
Base informática confiable (TCB) La funcionalidad que forma parte del núcleo, se ejecuta en el mismo contexto de CPU que el núcleo (como los controladores de dispositivo), tiene acceso directo a la memoria del núcleo (como los componentes de hardware en el dispositivo), tiene la capacidad de cargar scripts en un componente del núcleo ( por ejemplo, eBPF), el procesador de banda base, o es uno de los pocos servicios de usuario que se considera equivalente al núcleo: init , ueventd y vold .
Cargador de arranque Un componente que configura el dispositivo en el arranque y luego pasa el control al sistema operativo Android.
Entorno de ejecución confiable (TEE) Un componente que está diseñado para estar protegido incluso de un núcleo hostil.
Elemento seguro (SE) Un componente opcional diseñado para protegerse de todos los demás componentes del dispositivo y del ataque físico, como se define en Introducción a los elementos seguros .

Gravedad

La gravedad de un error generalmente refleja el daño potencial que podría ocurrir si un error se explotara con éxito. Use los siguientes criterios para determinar la gravedad.

Clasificación Consecuencia de la explotación exitosa
Crítico
  • Acceso no autorizado a datos asegurados por el SE
  • Ejecución de código arbitrario en el TEE o SE
  • Ejecución remota de código arbitrario en un proceso privilegiado, gestor de arranque o TCB
  • Denegación de servicio remota permanente (inoperancia del dispositivo: completamente permanente o que requiere actualizar el sistema operativo completo o un restablecimiento de fábrica)
  • Omisión remota de los requisitos de interacción del usuario en la instalación del paquete o comportamiento equivalente
  • Omisión remota de los requisitos de interacción del usuario para cualquier configuración de desarrollador, seguridad o privacidad
  • Bypass de arranque seguro remoto
  • Derivación de mecanismos de seguridad diseñados para evitar el mal funcionamiento de componentes críticos del hardware (por ejemplo, protecciones térmicas)
Alto
  • Bypass de arranque seguro local
  • Una omisión completa de una característica de seguridad central (como SELinux, FDE o seccomp)
  • Ejecución remota de código arbitrario en un proceso sin privilegios
  • Ejecución de código arbitrario local en un proceso privilegiado, gestor de arranque o TCB
  • Acceso no autorizado a datos asegurados por el TEE
  • Ataques contra un SE que resultan en una degradación a una implementación menos segura
  • Omisión local de los requisitos de interacción del usuario en la instalación del paquete o comportamiento equivalente
  • Acceso remoto a datos protegidos (datos que se limitan a un proceso privilegiado)
  • Denegación de servicio local permanente (inoperancia del dispositivo: permanente o que requiere la actualización de todo el sistema operativo o restablecimiento de fábrica)
  • Omisión remota de los requisitos de interacción del usuario (acceso a la funcionalidad o datos que normalmente requerirían iniciación del usuario o permiso del usuario)
  • Transmitir información confidencial a través de un protocolo de red inseguro (por ejemplo, HTTP y Bluetooth sin cifrar) cuando el solicitante espera una transmisión segura (tenga en cuenta que esto no se aplica al cifrado de Wi-Fi, como WEP)
  • Un bypass general para una defensa en profundidad o explotar la tecnología de mitigación en el gestor de arranque o TEE
  • Un desvío general para las protecciones del sistema operativo que aíslan los datos de la aplicación o los perfiles de los usuarios entre sí.
  • Omisión local de los requisitos de interacción del usuario para cualquier configuración de desarrollador, seguridad o privacidad
  • Vulnerabilidad criptográfica en la seguridad de la capa de transporte estándar (TLS) que permite ataques de hombre en el medio
  • Bypass de pantalla de bloqueo
  • Omitir la protección del dispositivo / protección de restablecimiento de fábrica / restricciones del operador
  • Prevención dirigida del acceso a los servicios de emergencia.
  • Omitir los requisitos de interacción del usuario asegurados por el TEE
Moderar
  • Ejecución remota de código arbitrario en un proceso restringido
  • Dispositivo temporal remoto denegación de servicio (bloqueo remoto o reinicio)
  • Ejecución de código arbitrario local en un proceso sin privilegios
  • Un bypass general para una defensa en profundidad o explotar la tecnología de mitigación en un proceso privilegiado o el TCB
  • Omisión de restricciones en un proceso restringido
  • Acceso remoto a datos no protegidos (datos normalmente accesibles para cualquier aplicación instalada localmente)
  • Acceso local a datos protegidos (datos que se limitan a un proceso privilegiado)
  • Omisión local de los requisitos de interacción del usuario (acceso a la funcionalidad que normalmente requeriría iniciación del usuario o permiso del usuario)
  • Vulnerabilidad criptográfica en primitivas criptográficas estándar que permite la filtración de texto sin formato (no primitivas utilizadas en TLS)
  • Omitir el cifrado o la autenticación de Wi-Fi de una manera que permita que un atacante se conecte al dispositivo Android cuando actúa como un punto de acceso o al punto de acceso a la red (AP) al que está conectado el dispositivo
Bajo
  • Ejecución de código arbitrario local en un proceso restringido
  • Vulnerabilidad criptográfica en uso no estándar
  • Un bypass general para una defensa a nivel de usuario en profundidad o explotar la tecnología de mitigación en un proceso sin privilegios
Sin impacto de seguridad (NSI)
  • Una vulnerabilidad cuyo impacto ha sido mitigado por uno o más modificadores de calificación o cambios de arquitectura específicos de la versión de modo que la gravedad efectiva sea inferior a Baja, aunque el problema del código subyacente puede permanecer

Modificadores de calificación

Si bien la gravedad de las vulnerabilidades de seguridad a menudo es fácil de identificar, las calificaciones pueden cambiar según las circunstancias.

Razón Efecto
Requiere ejecutarse como un proceso privilegiado para ejecutar el ataque -1 gravedad
Los detalles específicos de la vulnerabilidad limitan el impacto del problema -1 gravedad
Las configuraciones de compilador o plataforma mitigan una vulnerabilidad en el código fuente Gravedad moderada si la vulnerabilidad subyacente es moderada o superior
Requiere acceso físico a la parte interna del dispositivo y aún es posible si el teléfono está apagado o no se ha desbloqueado desde que se encendió -1 gravedad
Requiere acceso físico a las partes internas del dispositivo mientras el teléfono está encendido y se ha desbloqueado previamente -2 gravedad
Un ataque local que requiere que el gestor de arranque esté desbloqueado No más alto que bajo
Un ataque local que requiere que el Modo desarrollador o cualquier configuración persistente del modo desarrollador esté habilitado en el dispositivo (y no es un error en el Modo desarrollador). No más alto que bajo
Si ningún dominio de SELinux puede realizar la operación bajo la SEPolicy proporcionada por Google Sin impacto de seguridad

Local versus remoto

Un vector de ataque remoto indica que el error puede ser explotado sin instalar una aplicación o sin acceso físico a un dispositivo. Esto incluye errores que pueden activarse al navegar a una página web, leer un correo electrónico, recibir un mensaje SMS o conectarse a una red hostil. A los efectos de nuestras clasificaciones de gravedad, el equipo de seguridad de Android también considera los vectores de ataque "proximales" como remotos. Estos incluyen errores que pueden ser explotados solo por un atacante que está físicamente cerca del dispositivo objetivo, por ejemplo, un error que requiere enviar paquetes de Bluetooth o Wi-Fi mal formados. El equipo de seguridad de Android considera los ataques basados ​​en NFC como proximales y, por lo tanto, remotos.

Los ataques locales requieren que la víctima ejecute una aplicación, ya sea instalando y ejecutando una aplicación o dando su consentimiento para ejecutar una aplicación instantánea . A los efectos de las clasificaciones de gravedad, el equipo de seguridad de Android también considera los vectores de ataque físico como locales. Estos incluyen errores que pueden ser explotados solo por un atacante que tenga acceso físico al dispositivo, por ejemplo, un error en una pantalla de bloqueo o uno que requiera enchufar un cable USB. Tenga en cuenta que los ataques que requieren una conexión USB son de la misma gravedad, independientemente de si el dispositivo debe estar desbloqueado o no; Es común que los dispositivos se desbloqueen mientras están conectados a USB.

Seguridad wifi

Android asume que todas las redes son hostiles y podrían estar inyectando ataques o espiando el tráfico. Para garantizar que los adversarios de nivel de red no eluden las protecciones de datos de la aplicación, Android recomienda encarecidamente que todo el tráfico de red use cifrado de extremo a extremo. El cifrado a nivel de enlace es insuficiente.

Componente afectado

El equipo de desarrollo responsable de corregir el error depende del componente en el que se encuentre el error. Podría ser un componente central de la plataforma Android, un controlador del núcleo suministrado por un fabricante de equipos originales (OEM) o una de las aplicaciones precargadas en los dispositivos Pixel .

El equipo de ingeniería de Android corrige los errores en el código AOSP. Los errores de baja gravedad, los errores en ciertos componentes o los errores que ya se conocen públicamente pueden corregirse directamente en la rama maestra AOSP disponible públicamente; de lo contrario, se arreglan primero en nuestros repositorios internos.

El componente también es un factor en cómo los usuarios obtienen actualizaciones. Un error en el marco o el núcleo requiere una actualización de firmware por aire (OTA) que cada OEM debe impulsar. Se puede enviar un error en una aplicación o biblioteca publicada en Google Play (por ejemplo, Gmail, Servicios de Google Play o WebView) a los usuarios de Android como una actualización de Google Play.

Socios notificadores

Cuando se corrige una vulnerabilidad de seguridad en AOSP en un Boletín de seguridad de Android, notificaremos a los socios de Android los detalles del problema y proporcionaremos parches. La lista de versiones compatibles con backport cambia con cada nueva versión de Android. Póngase en contacto con el fabricante de su dispositivo para obtener la lista de dispositivos compatibles.

Liberar código a AOSP

Si el error de seguridad está en un componente de AOSP, la solución se envía a AOSP después de que OTA se libera a los usuarios. Las soluciones para problemas de baja gravedad se pueden enviar directamente a la rama maestra de AOSP antes de que una solución esté disponible para los dispositivos a través de una OTA.

Recibiendo actualizaciones de Android

Las actualizaciones del sistema Android generalmente se entregan a los dispositivos a través de paquetes de actualización OTA. Estas actualizaciones pueden provenir del OEM que produjo el dispositivo o del operador que brinda servicio al dispositivo. Las actualizaciones del dispositivo Google Pixel provienen del equipo de Google Pixel después de pasar por un procedimiento de prueba de aceptación técnica (TA) del operador. Google también publica imágenes de fábrica de Pixel que se pueden cargar lateralmente a los dispositivos.

Actualización de servicios de Google

Además de proporcionar parches para errores de seguridad, el equipo de seguridad de Android revisa los errores de seguridad para determinar si hay otras formas de proteger a los usuarios. Por ejemplo, Google Play escanea todas las aplicaciones y elimina cualquier aplicación que intente explotar un error de seguridad. Para las aplicaciones instaladas desde fuera de Google Play, los dispositivos con los Servicios de Google Play también pueden usar la función Verificar aplicaciones para advertir a los usuarios sobre aplicaciones que pueden ser potencialmente dañinas.

Otros recursos

Información para desarrolladores de aplicaciones de Android: https://developer.android.com

La información de seguridad existe en todos los sitios Android Open Source y Developer. Buenos lugares para comenzar:

Informes

A veces, el equipo de seguridad de Android publica informes o documentos técnicos. Ver Informes de seguridad para más detalles.