3.1.- 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 IASS, si será necesaria la integreación del software con ciertos microservicios corporativos destinados a garantizar la seguridad entre otros fines.
- 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.
3.2.- NORMATIVA Y PROCEDIMIENTOS
- Auditorías internas: Todo el software desarrollado para el IASS será susceptible de ser auditado por el equipo de Seguridad. Tras la evaluación se informará a la empresa desarrolladora de los resultados y de las correcciones que deberá realizar de forma obligatoria si fuese necesario, así como de otras mejoras recomendadas.
- Acciones correctivas: La empresa adjudicataria deberá atender con la urgencia que se le requiera en función de cada caso, las comunicaciones, solicitudes e indicaciones que la persona interlocutora por parte del IASS, del proyecto o del equipo de seguridad, les hagan llegar en relación a posibles vulnerabilidades del software. Todo ello dentro del marco establecido por la norma Procedimiento de gestión del mantenimiento y parches de seguridad (vulnerabilidades) .
3.3.- PROTECCIÓN DE DATOS
Se considera especialmente importante en materia de seguridad la protección de los datos personales y la seguridad de la información, por este motivo las empresas desarrolladoras deberán tener presente la siguiente normativa a la hora de desarrollar o proponer mejoras:
Reglamento General de Protección de Datos.
Ley Orgánica de Protección de Datos Personales y Garantía de los Derechos Digitales.
Esquema Nacional de Seguridad.