Acciones preventivas y buenas prácticas
En este apartado se relacionan una serie de directrices en base a las medidas del Anexo II del Esquema Nacional de Seguridad mp.sw.1 Desarrollo de aplicaciones y mp.sw.2 Aceptación y puesta en servicio, que se consideran fundamentales, sin embargo la empresa desarrolladora podrá y deberá tener en cuenta otras buenas prácticas que considere apropiadas para optimizar la calidad del software desde el punto de vista de la seguridad.
- Seguir las normas, estándares y requisitos de seguridad en todas las fases del desarrollo. Adopción de conjuntos de buenas prácticas o recomendaciones reconocidas sobre desarrollo seguro como BP/28 Recomendaciones de seguridad sobre desarrollo seguro.
- Disponer de normas de programación segura, especialmente en lo relativo al control de asignación y liberación de la memoria y al desbordamiento de la memoria.
- Cumplir con el Marco de Trabajo dispuesto en esta guía en relacion a: los mecanismos de identificación y autenticación, los mecanismos de protección de la información tratada y la generación y tratamiento de logs.
- La capacitación y concienciación de los y las profesionales que intervienen en el proyecto.
- Realizar seguimiento diario a las publicaciones de nuevas vulnerabilidades. Como fuentes de información se aconseja la atención a las recomendaciones de los fabricantes y proveedores de las tecnologías utilizada, así como a las publicaciones de entidades públicas como por ejemplo INCIBE o CCN-CERT
- Utilización de herramientas y procedimientos para la evaluación de la seguridad del código.
- Realización de pruebas de seguridad automatizada con herramientas de análisis de código para asegurar la detección de vulnerabilidades u otros eventos que puedan impactar en la seguridad del software. Se deberían verificar las checklists asociadas a la normativa de desarrollo seguro de software basadas en guías de estándares y metodologías Open Source Security Testing Methodology Manual (OSSTMM), Open Web Application Security Project (OWASP), o equivalentes.
- Una vez confirmada una vulnerabilidad, estudiar, planificar y priorizar su resolución en función de su gravedad y potencial impacto.
- Revisión regular del código con el fin de mantener librerías, sistemas operativos, parches de seguridad, etc. lo más actualizados posible.
- Evaluación de la seguridad de las dependencias de terceros como librerías o APIs antes de su integración.
- Utilizar mecanismos robustos de autenticación, como LDAP y/o Certificado electrónico.
- Atender siempre al principio de menor privilegio.
- Cifrado adecuado para proteger los datos sensibles durante el almacenamiento, la transmisión o el procesamiento de acuerdo a la CCN STIC 807 Criptología de empleo en el Esquema Nacional de Seguridad y conforme al refuerzo 3 que el Esquema Nacional de Seguridad nos propone como parte de su medida mp.sw.1.
- Como medida fundamental de salvaguarda ante potenciales vulnerabilidades se establece la reducción del software a instalar al mínimo imprescindible, por lo que las personas desarrolladoras del software deberán tener en cuenta esta premisa, especialmente a la hora de crear las imágenes de los contenedores Docker.
- La empresa acordará con la persona responsable por parte de Cabildo, si será necesaria la integreación del software con ciertos microservicios corporativos destinados a garantizar la seguridad entre otros fines, por ejemplo el denominado BDO-Connector.
- En relación al tratamiento de datos sensibles en los entornos de preproducción o desarrollo, la empresa deberá recurrir a la anonimización o a la seudonimización de los mismos, minimizando la utilización de datos personales no disociados y priorizando el empleo de datos sintéticos o creados artificialmente. La utilización en los referidos entornos de los datos de producción, quedará restringida a los casos en los que no sea posible trabajar de otra forma y deberá justificarse debidamente.