Seguridad organizacional y operativa

La base de las buenas prácticas de seguridad comienza en su organización.

Crear un equipo de seguridad y privacidad

Cree un equipo dedicado a la seguridad y la privacidad y establezca un líder para esta organización.

  • Construya un equipo de seguridad.
    • Asegúrese de que al menos un empleado sea responsable de la seguridad, la privacidad y la respuesta a incidentes.
    • Definir una misión y alcance para este equipo.
    • Desarrolle un organigrama y descripciones de trabajo para: Gerente de seguridad, Ingeniero de seguridad, Gerente de incidentes.
    • Contrate empleados o contratistas externos para desempeñar estos roles.
  • Definir un ciclo de vida de desarrollo de seguridad (SDL) . Su SDL debe cubrir estas áreas:
    • Requisitos de seguridad para los productos.
    • Análisis de riesgos y modelado de amenazas.
    • Análisis estático y dinámico de aplicaciones y código.
    • Procesos finales de revisión de seguridad de productos.
    • Respuesta al incidente.
  • Evaluar el riesgo organizacional . Crear una evaluación de riesgos y desarrollar planes para eliminar o mitigar esos riesgos.

Proceso de verificación de compilación

Evalúe las brechas en sus procesos internos existentes de verificación y aprobación de compilaciones.

  • Identifique cualquier brecha en su proceso de verificación de compilación actual que podría conducir a la introducción de una aplicación potencialmente dañina (PHA) en su compilación.
  • Asegúrese de tener un proceso de revisión y aprobación de código, incluso para parches internos para AOSP .
  • Mejore la integridad de la construcción implementando controles en estas áreas:
    • Cambio de camino . Seguimiento de ingenieros de software; mantener registros de cambios.
    • Evaluar el riesgo . Evaluar los permisos utilizados por una aplicación; requieren revisión manual de los cambios de código.
    • Monitor . Evaluar los cambios realizados en el código privilegiado.

Seguimiento de cambios de código fuente

Supervise modificaciones no intencionadas del código fuente o aplicaciones/binarios/SDK de terceros.

  • Evaluar asociaciones . Evalúe el riesgo de trabajar con un socio técnico siguiendo los siguientes pasos:
    • Establecer criterios sobre cómo evaluar el riesgo de trabajar con un proveedor específico.
    • Cree un formulario que pregunte al proveedor cómo resuelve las incidencias y gestiona la seguridad y la privacidad.
    • Verificar sus afirmaciones con una auditoría periódica.
  • Cambio de camino . Registre qué empresas y empleados modifican el código fuente y realice auditorías periódicas para garantizar que solo se realicen los cambios apropiados.
  • Mantener registros . Registre qué empresas agregan archivos binarios de terceros a su compilación y documente qué función realizan esas aplicaciones y qué datos recopilan.
  • Actualizaciones de planes . Asegúrese de que sus proveedores estén obligados a proporcionar actualizaciones de software durante toda la vida útil de su producto. Las vulnerabilidades imprevistas pueden requerir el apoyo de los proveedores para abordarlas.

Validar la integridad y el pedigrí del código fuente

Inspeccione y valide el código fuente proporcionado por el fabricante del dispositivo original (ODM), la actualización inalámbrica (OTA) o el operador.

  • Gestionar certificados de firma .
    • Almacene las claves en un módulo de seguridad de hardware (HSM) o en un servicio seguro en la nube (no las comparta).
    • Asegúrese de que el acceso a los certificados de firma esté controlado y auditado.
    • Exija que toda la firma del código se realice en su sistema de compilación.
    • Revocar llaves perdidas.
    • Genere claves utilizando las mejores prácticas.
  • Analizar código nuevo . Pruebe el código recién agregado con herramientas de análisis de códigos de seguridad para verificar la introducción de nuevas vulnerabilidades. Además, analice la funcionalidad general para detectar la expresión de nuevas vulnerabilidades.
  • Revisar antes de publicar . Busque vulnerabilidades de seguridad en el código fuente y en las aplicaciones de terceros antes de ponerlas en producción. Por ejemplo:
    • Exigir que las aplicaciones utilicen comunicación segura.
    • Siga el principio de privilegio mínimo y otorgue el conjunto mínimo de permisos necesarios para que la aplicación funcione.
    • Asegúrese de que los datos se almacenen y transfieran a través de canales seguros.
    • Mantenga las dependencias del servicio actualizadas.
    • Aplique parches de seguridad a SDK y bibliotecas de código abierto.

Respuesta al incidente

Android cree en el poder de una comunidad de seguridad sólida para ayudar a encontrar problemas. Debe crear y publicar una forma para que partes externas se comuniquen con usted sobre problemas de seguridad específicos del dispositivo.

  • Establecer contacto . Cree una dirección de correo electrónico, como your-company o un sitio web con instrucciones claras para informar posibles problemas de seguridad asociados con su producto ( ejemplo ).
  • Establecer un programa de recompensas por vulnerabilidad (VRP) . Anime a los investigadores de seguridad externos a enviar informes de vulnerabilidades de seguridad que afecten a sus productos ofreciendo recompensas monetarias por envíos válidos ( ejemplo ). Recomendamos recompensar a los investigadores con recompensas competitivas de la industria, como $5000 por vulnerabilidades de gravedad crítica y $2500 por vulnerabilidades de gravedad alta.
  • Contribuir con cambios en sentido ascendente . Si tiene conocimiento de un problema de seguridad que afecta a la plataforma Android o a dispositivos de varios fabricantes, comuníquese con el equipo de seguridad de Android presentando un informe de error de seguridad .
  • Promover buenas prácticas de seguridad . Evalúe proactivamente las prácticas de seguridad de los proveedores de hardware y software que brindan servicios, componentes y/o código para sus dispositivos. Responsabilizar a los proveedores por mantener una buena postura de seguridad.