Los fundamentos de las buenas prácticas de seguridad comienzan en tu organización.
Crea un equipo de seguridad y privacidad
Crea un equipo dedicado a la seguridad y la privacidad, y establece un líder para esta organización.
- Forma un equipo de seguridad.
- Asegúrate de que al menos un empleado sea responsable de la seguridad, la privacidad y la respuesta ante incidentes.
- Define una misión y un alcance para este equipo.
- Desarrollar un organigrama y descripciones de puestos para: gerente de seguridad, Ingeniero de seguridad, gerente de incidentes
- Contrata empleados o contratistas externos para que desempeñen estos roles.
- Define un ciclo de vida de desarrollo de seguridad (SDL). Tu SDL debe abarcar estas áreas:
- Requisitos de seguridad para los productos
- Análisis de riesgos y modelado de amenazas
- Análisis dinámico y estático de apps y código.
- Procesos de revisión de seguridad final de los productos
- Respuesta ante incidentes
- Evalúa el riesgo de la organización. Crea una evaluación de riesgos y elabora planes para eliminar o mitigar esos riesgos.
Proceso de verificación de compilación
Evalúa las brechas en tus procesos existentes de verificación y aprobación de compilaciones internas.
- Identifica cualquier brecha en tu proceso de verificación de compilación actual que pueda generar la introducción de una aplicación potencialmente dañina (PHA) en tu compilación.
- Asegúrate de tener un proceso de revisión y aprobación de código, incluso para los parches internos de AOSP.
- Implementa controles en estas áreas para mejorar la integridad de la compilación:
- Realiza un seguimiento de los cambios. Hacer un seguimiento de los ingenieros de software y mantener registros de cambios
- Evalúa el riesgo. Evalúa los permisos que usa una app y requiere una revisión manual de los cambios de código.
- Supervisa. Evalúa los cambios realizados en el código con privilegios.
Seguimiento de cambios en el código fuente
Supervisa si hay modificaciones no intencionales del código fuente o de apps, objetos binarios o SDKs de terceros.
- Evalúa las asociaciones. Evalúa el riesgo de trabajar con un
socio técnico siguiendo estos pasos:
- Establece criterios para evaluar el riesgo de trabajar con un proveedor específico.
- Crea un formulario en el que se le pregunte al proveedor cómo resuelve los incidentes y administra la seguridad y la privacidad.
- Verifica sus reclamos con una auditoría periódica.
- Realiza un seguimiento de los cambios. Registra qué empresas y empleados modifican el código fuente y realiza auditorías periódicas para garantizar que solo se realicen los cambios adecuados.
- Mantén registros. Registra qué empresas agregan objetos binarios de terceros a tu compilación y documenta qué función realizan esas apps y qué datos recopilan.
- Actualizaciones de planes. Asegúrate de que tus proveedores deban proporcionar actualizaciones de software durante todo el ciclo de vida de tu producto. Es posible que las vulnerabilidades imprevistas requieran asistencia de los proveedores para solucionarlas.
Valida la integridad y el pedigrí del código fuente
Inspecciona y valida el código fuente que proporciona un fabricante de dispositivos originales (ODM), una actualización inalámbrica (OTA) o un operador.
- Administra los certificados de firma.
- Almacena las claves en un módulo de seguridad de hardware (HSM) o en un servicio de nube seguro (no las compartas).
- Asegúrate de que el acceso a los certificados de firma esté controlado y auditado.
- Solicita que toda la firma de código se realice en tu sistema de compilación.
- Revocar claves perdidas
- Genera claves con las prácticas recomendadas.
- Analiza el código nuevo. Prueba el código agregado recientemente con herramientas de análisis de código de seguridad para verificar si se introdujeron nuevas vulnerabilidades. Además, analiza la funcionalidad general para detectar la expresión de vulnerabilidades nuevas.
- Revisar antes de publicar. Busca vulnerabilidades de seguridad en el código fuente y las apps de terceros antes de enviarlas a producción. Por ejemplo:
- Exige que las apps usen una comunicación segura.
- Sigue el principio de privilegio mínimo y otorga el conjunto mínimo de permisos necesarios para que la app funcione.
- Asegúrate de que los datos se almacenen y transfieran a través de canales seguros.
- Mantén las dependencias de los servicios actualizadas.
- Aplica parches de seguridad a los SDKs y las bibliotecas de código abierto.
Respuesta a incidentes
Android cree en el poder de una comunidad de seguridad sólida para ayudar a encontrar problemas. Debes crear y publicitar una forma para que las partes externas se comuniquen contigo sobre problemas de seguridad específicos del dispositivo.
- Establece contacto. Crea una dirección de correo electrónico, como seguridad@your-company.com, o un sitio web con instrucciones claras para informar posibles problemas de seguridad asociados con tu producto (ejemplo).
- Establece un programa de recompensas por vulnerabilidades (VRP). Ofrece recompensas monetarias por envíos válidos (ejemplo) para alentar a los investigadores de seguridad externos a enviar informes de vulnerabilidades de seguridad que afecten a tus productos. Recomendamos recompensar a los investigadores con recompensas competitivas de la industria, como USD 5,000 por vulnerabilidades de gravedad crítica y USD 2,500 por vulnerabilidades de gravedad alta.
- Envía los cambios a la fuente. Si te enteras de un problema de seguridad que afecta a la plataforma de Android o a dispositivos de varios fabricantes, envía un informe de errores de seguridad para comunicarte con el equipo de seguridad de Android.
- Promover buenas prácticas de seguridad Evalúa de forma proactiva las prácticas de seguridad de los proveedores de hardware y software que proporcionan servicios, componentes o código para tus dispositivos. Exigir a los proveedores que sean responsables de mantener una buena postura de seguridad