OWASP Top Ten 2017 (es)

Próximos pasos para los Administradores de Aplicaciones

Languages: en de [es]
Administrar el Ciclo de Vida Completo de la Aplicación
Las aplicaciones pertenecen a los sistemas más complejos que los humanos crean y mantienen. La administración TI (Tecnología de la Información) para una aplicación debería ser ejecutada por especialistas en TI que sean responsables por el ciclo de vida completo de la misma. Sugerimos la creación de un administrador para cada aplicación a los efectos de proveer una contraparte técnica al dueño de la aplicación. El administrador se encarga de todo el ciclo de vida de la aplicación desde el punto de vista de TI, desde la recopilación de los requisitos hasta el proceso de retiro de los sistemas, que a menudo se pasa por alto.

Administración de Requisitos y Recursos:

* Recolectar y negociar los requerimientos de negocios para la aplicación, incluyendo confidencialidad, autenticidad, integridad y disponibilidad de todos los activos de datos y la lógica del negocio
* Recopilar los requerimientos técnicos incluyendo requerimientos de seguridad funcionales y no funcionales.
* Planear y negociar el presupuesto que cubre todos los aspectos de diseño, construcción, pruebas y operación, incluyendo actividades de seguridad.

Solicitud de Propuestas (RFP) y Contrataciones:

* Negociar los requerimientos con los desarrolladores externos e internos, incluyendo lineamientos y requerimientos de seguridad con respecto a su programa de seguridad, e.g. SDLC, mejores prácticas.
* Evaluar el cumplimiento de todos los requerimientos técnicos, incluyendo las fases de planificación y diseño.
* Negociar todos los requerimientos técnicos incluyendo diseño, seguridad y acuerdos de nivel de servicio (SLA).
* Adoptar plantillas y listas de comprobación, como el Anexo de Contrato de Software Seguro.
Nota: este anexo toma en cuenta las leyes de los EE.UU. y por lo tanto se recomienda realizar las consultas legales correspondientes a cada país antes de utilizarlo.

Planificación y Diseño:

* Negociar la planificación y diseño con los desarrolladores e interesados internos, e.g. especialistas de seguridad.
* Definir la arquitectura de seguridad, controles y contramedidas adecuadas a las necesidades de protección y el nivel de amenazas esperado. Esto debería contar con el apoyo de especialistas en seguridad.
* Asegurar que el propietario de la aplicación acepta los riesgos remanentes o bien que provea recursos adicionales.
* En cada carrera (sprint), asegurar que se creen historias de seguridad que incluyan restricciones añadidas por los requerimientos no funcionales.

Despliegue, Pruebas y Puesta en Producción:

* Automatizar el despliegue seguro de la aplicación, interfaces y todo componente, incluyendo las autorizaciones requeridas.
* Probar las funciones técnicas, integración a la arquitectura de TI, y coordinar pruebas de funciones de negocio.
* Crear casos de “uso” y de “abuso” tanto desde el punto de vista técnico como del negocio.
* Administrar pruebas de seguridad de acuerdo a los procesos internos, las necesidades de protección y el nivel de amenazas asumido para la aplicación.
* Poner la aplicación en operación y migrar las aplicaciones usadas previamente en caso de ser necesario.
* Finalizar toda la documentación, incluyendo la base de datos de gestión de cambios (CMDB) y la arquitectura de seguridad.

Operación y gestión del cambio:

* Las operaciones debe incluir lineamientos para la administración de seguridad de la aplicación (e.g. administración de parches).
* Aumentar la conciencia de seguridad de los usuarios y administrar conflictos de usabilidad vs. seguridad.
* Panificar y gestionar cambios, por ejemplo la migración a nuevas versiones de la aplicación u otros componentes como sistema operativo, interfaces de software y bibliotecas.
* Actualizar toda la documentación, incluyendo la Base de Datos de Gestión de Cambios (CMDB) y la arquitectura de seguridad, controles y contramedidas, incluyendo libros de ejecución o documentación del proyecto.

Retiro de Sistemas:

* Cualquier dato requerido debe ser almacenado. Otros datos deben ser eliminados de forma segura.
* Retirar la aplicación en forma segura, incluyendo el borrado de cuentas, roles y permisos no usados.
* Establecer el estado de la aplicación a “retirada” en la CMDB.