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 de seguridad y privacidad y establezca un líder para esta organización.
- Crea 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 puestos 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 de 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 los productos.
- Respuesta al incidente.
- Evaluar el riesgo organizacional . Cree una evaluación de riesgos y desarrolle 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 aprobación y revisión de código, incluso para parches internos para AOSP .
- Mejore la integridad de la compilación implementando controles en estas áreas:
- Seguimiento de cambios . Seguir a los ingenieros de software; mantener registros de cambios.
- Evaluar el riesgo . Evaluar los permisos utilizados por una aplicación; requieren una revisión manual de los cambios de código.
- monitorear Evaluar los cambios realizados en el código privilegiado.
Seguimiento de cambios de código fuente
Supervise las modificaciones no intencionadas del código fuente o aplicaciones/binarios/SDK de terceros.
- Evaluar las 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.
- Crea 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.
- Seguimiento de cambios . 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.
- Mantenga registros . Registre qué empresas agregan 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 del código fuente y el pedigrí
Inspeccione y valide el código fuente proporcionado por un fabricante de dispositivo original (ODM), una actualización inalámbrica (OTA) o un operador.
- Administrar 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.
- Requerir que todas las firmas de código se realicen 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ódigo 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 enviarlas a producción. Por ejemplo:
- Requerir que las aplicaciones usen 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 de servicio actualizadas.
- Aplique parches de seguridad a SDK y bibliotecas de código abierto.
Respuesta al incidente
Android cree en el poder de una sólida comunidad de seguridad para ayudar a encontrar problemas. Debe crear y publicitar una forma para que las partes externas se comuniquen con usted sobre problemas de seguridad específicos del dispositivo.
- Establecer contacto . Cree una dirección de correo your-company , como seguridad@su-empresa.com 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.
- Contribuya con los cambios aguas arriba . Si se da cuenta de un problema de seguridad que afecta a la plataforma Android o a los dispositivos de varios fabricantes de dispositivos, comuníquese con el equipo de seguridad de Android presentando un informe de error de seguridad .
- Promover buenas prácticas de seguridad . Evalúe de manera proactiva las prácticas de seguridad de los proveedores de hardware y software que brindan servicios, componentes o códigos para sus dispositivos. Responsabilizar a los proveedores de mantener una buena postura de seguridad.