Guía del Desarrollador OWASP

Lista de Verificación para Proteger Datos en Todas Partes

4.2.8 Lista de Verificación: Proteger Datos en Todas Partes

Los datos sensibles como contraseñas, números de tarjetas de crédito, registros médicos, información personal y secretos comerciales requieren protección adicional, particularmente si esos datos están sujetos a leyes de privacidad (Reglamento General de Protección de Datos de la UE, GDPR), reglas de protección de datos financieros como el Estándar de Seguridad de Datos para la Industria de Tarjetas de Pago (PCI DSS) u otras regulaciones.

Consulte el control proactivo C2: Usar la Criptografía de manera adecuada y sus hojas de referencia para obtener más contexto del proyecto OWASP Top 10 Controles Proactivos, y utilice la lista a continuación como sugerencias para una lista de verificación adaptada para el proyecto individual.

1. Protección de datos

  1. Clasificar los datos según el nivel de sensibilidad
  2. Implementar controles de acceso apropiados para datos sensibles
  3. Cifrar datos en tránsito
  4. Asegurar que los canales de comunicación seguros estén configurados correctamente
  5. Evitar almacenar datos sensibles cuando sea posible
  6. Asegurar que los datos sensibles en reposo estén protegidos criptográficamente para evitar divulgación y modificación no autorizada
  7. Eliminar datos sensibles cuando ya no sean necesarios
  8. Almacenar secretos a nivel de aplicación en una bóveda de secretos
  9. Verificar que los secretos no estén almacenados en código, archivos de configuración o variables de entorno
  10. Implementar el privilegio mínimo, restringiendo el acceso a funcionalidades, datos e información del sistema
  11. Proteger todas las copias en caché o temporales de datos sensibles contra acceso no autorizado
  12. Eliminar esas copias temporales de datos sensibles tan pronto como ya no sean necesarias

2. Gestión de memoria

  1. Inicializar explícitamente todas las variables y almacenes de datos
  2. Verificar que los búferes sean tan grandes como se especifica
  3. Comprobar los límites del búfer si se llama a la función en un bucle y proteger contra desbordamientos
  4. Cerrar específicamente los recursos, no depender del recolector de basura
  5. Usar pilas no ejecutables cuando estén disponibles
  6. Liberar correctamente la memoria asignada al completar las funciones y en todos los puntos de salida
  7. Sobrescribir cualquier información sensible almacenada en la memoria asignada en todos los puntos de salida de la función
  8. Proteger las variables y recursos compartidos contra el acceso concurrente inapropiado

Referencias


Traducción de versión original en inglés.

La Guía para Desarrolladores OWASP es un esfuerzo comunitario; si hay algo que necesita cambiarse, cree un issue o edítelo en GitHub.

\newpage