Ejemplos de escenarios de ataque
Deserialización insegura
una aplicación React llama a un conjunto de microservicios Spring Boot. Al ser programadores funcionales, intentaron asegurarse de que su código sea inmutable. La solución que se les ocurrió es serializar el estado del usuario y pasarlo de un lado a otro con cada solicitud
Actualización maliciosa de SolarWinds
La empresa que desarrolla el software tenía procesos de integridad seguros de construcción y actualización. Aún así, estos pudieron ser subvertidos, y durante varios meses, la empresa distribuyó una actualización maliciosa altamente dirigida a más de 18,000 organizaciones, de las cuales alrededor de 100 se vieron afectadas.
Actualización sin firmar
Enrutadores domésticos, decodificadores, firmware de dispositivos y otros no verifican las actualizaciones a través del firmware firmado
Prevenciones
Asegúrese de que su canalización de CI / CD tenga la segregación, la configuración y el control de acceso adecuados para garantizar la integridad del código que fluye a través de los procesos de construcción e implementación.
Utilice firmas digitales o mecanismos similares para verificar que el software o los datos provengan de la fuente esperada y no hayan sido alterados
Asegúrese de que haya un proceso de revisión de los cambios en el código y la configuración para minimizar la posibilidad de que se introduzcan códigos o configuraciones maliciosos en su canal de software.
Asegúrese de que se utilice una herramienta de seguridad de la cadena de suministro de software, como OWASP Dependency Check o OWASP CycloneDX.
Asegúrese de que las bibliotecas y dependencias, como npm o Maven, consuman repositorios confiables.
Asegúrese de que los datos serializados sin firmar o no cifrados no se envíen a clientes que no sean de confianza sin algún tipo de verificación de integridad o firma digital
A08: 2021 - Fallos de integridad de datos y software
Descripción
Fallas en la integridad del software y los datos se relacionan con el código y la infraestructura que no protegen contra las violaciones de la integridad
Por ejemplo
Una canalización de CI / CD insegura puede presentar la posibilidad de acceso no autorizado, código malicioso o compromiso del sistema.
Se enfoca en hacer suposiciones relacionadas con actualizaciones de software, datos críticos y canalizaciones de CI / CD sin verificar la integridad.