Curso de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC
Aprende con el curso de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC para empresas hasta 100% bonificado, a medida para tu organización.
Totalmente práctico y aplicable
Formación en Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC a medida
100% bonificable a través de FUNDAE
Curso TUTORIZADO por expertos
Modalidad Aula Virtual Personalizada
Curso de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC en Aula Virtual Personalizada
Nuestra modalidad AVP es una formación en directo, práctica y 100% adaptada a vuestro equipo. No trabajamos con contenidos genéricos: diseñamos la formación en función de vuestro nivel, objetivos, procesos internos y necesidades reales de aplicación.
Solicitar informaciónTemario 100% a medida
Creamos el temario desde cero a partir de vuestras necesidades, nivel del equipo y objetivos concretos, priorizando aquellos contenidos que realmente aporten valor en el día a día.
Proyectos personalizados
Durante la formación trabajaremos con archivos, ejemplos, informes o procesos similares a los que utiliza vuestro equipo, para que el aprendizaje sea directamente aplicable al puesto de trabajo.
Sesiones en directo con consultor experto
Un formador especialista imparte las clases en tiempo real, resolviendo dudas, revisando casos concretos y adaptando el ritmo de la formación a la evolución del grupo.
Calendario adaptado a vuestra disponibilidad
Definimos conjuntamente fechas, horarios y duración de las sesiones para facilitar la asistencia del equipo y minimizar el impacto en la operativa diaria de la empresa.
Curso de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC hasta 100% Bonificable a través de FUNDAE
Tu bonificación paso a paso
Forma a tu equipo sin costes mediante la bonificación estatal.
Este programa de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC para empresas es subvencionable hasta el 100%.
- Potencia las habilidades de edición y automatización de tus profesionales.
- Accede a una formación avanzada en Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC práctica y orientada a resultados.
- Prepara a tu equipo para los retos documentales del entorno laboral actual.
- Gestionamos gratis tu bonificación de este curso corporativo de Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC ante FUNDAE.
Calcula tu bonificación
Revisamos tu caso
Preparamos la gestión
Tu equipo realiza el curso
Aplicas la bonificación
La formación que decides
te devuelve dinero
Todos nuestros cursos son bonificables a través de FUNDAE.
Gestionamos toda la documentación por ti.
Calcula tu crédito aproximado
Crédito bonificable estimado
420€*
*Cálculo orientativo
Alineado con cumplimiento y práctica técnica
Orientado a SSDLC auditable Permite definir una metodología de desarrollo seguro con controles, responsables, gates, evidencias, métricas y hoja de ruta de adopción.
Integra DevSecOps real Incluye SAST, SCA, sanitizers, fuzzing, SBOM, revisión de código, pipelines, gates, vulnerabilidades, excepciones y remediación.
Útil para Defensa y sistemas regulados El enfoque contempla trazabilidad, gestión de riesgos, documentación, evidencias, controles verificables, auditoría técnica y preparación ante revisiones.
Reduce vulnerabilidades tempranamente Incorpora requisitos de seguridad, casos de abuso, modelado de amenazas y revisión de arquitectura antes de llegar a código o auditoría final.
Genera entregables aplicables El Proyecto Final produce diagnóstico, matriz de controles, threat model, pipeline seguro, registro de riesgos y roadmap de implantación.
Personaliza el temario al 100% para tu equipo
Diseñamos una formación a medida utilizando los documentos y flujos de trabajo reales de tu empresa.
Nueva Plataforma
de E-learningFormación en directo con plataforma de apoyo para reforzar el aprendizaje
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Ejercicios prácticos
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Ejercicios prácticos
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Practica y mejora con nuestra plataforma
Una plataforma practica, con IA integrada y pensada para que mejores desarrollando. Se adapta a tu ritmo, te corrige al instante y te muestra tu progreso real.
Correccion magica
Feedback inteligente
Aprende de cada acierto y fallo con explicaciones claras
Temario del curso
Encuentra todo el temario del curso aquí.
Explicar qué significa desarrollo seguro en C++ dentro de sistemas regulados, Defensa y software crítico.
Diferenciar desarrollo seguro, SSDLC, DevSecOps, cumplimiento CCN-STIC, auditoría técnica y hardening de producto.
Aclarar que cumplir no es solo pasar una herramienta, sino demostrar proceso, controles, evidencias y remediación.
Revisar el papel de CCN-STIC como referencia nacional de seguridad y buenas prácticas en entornos públicos y sensibles.
Situar NIST SSDF, OWASP SAMM, OWASP ASVS, CERT C/C++ y políticas internas como referencias complementarias.
Identificar por qué C/C++ exige controles específicos por gestión manual de memoria, rendimiento y bajo nivel.
Presentar el ciclo del curso: contexto, diagnóstico, requisitos, amenazas, arquitectura, código, herramientas y evidencias.
Preparar laboratorio con código vulnerable, repositorio Git, pipeline, herramientas de análisis y documentación base.
Revisar errores habituales: seguridad al final, evidencias improvisadas, excepciones sin caducidad y riesgos no trazados.
Crear checklist inicial para saber si el equipo dispone de metodología segura o solo de prácticas aisladas.
Entender por qué los entornos de Defensa requieren trazabilidad, control, evidencias y gestión formal del riesgo.
Analizar la relación entre seguridad del software, seguridad del sistema, acreditación, auditoría y operación segura.
Identificar obligaciones derivadas de políticas internas, contratos, cliente público, ENS, CCN-STIC y requisitos sectoriales.
Diferenciar requisito normativo, requisito contractual, requisito técnico, control de seguridad y evidencia de cumplimiento.
Revisar cómo una vulnerabilidad de código puede convertirse en riesgo operacional, reputacional, contractual o de misión.
Integrar desarrollo seguro con gestión de riesgos, calidad, arquitectura, pruebas, configuración y control de cambios.
Definir qué controles deben aplicarse a software nuevo, software heredado, librerías internas y componentes de terceros.
Evitar interpretar cumplimiento como documentación desconectada del repositorio y del pipeline.
Preparar matriz inicial de referencias aplicables al contexto de la organización.
Taller: mapear objetivos de cumplimiento con controles técnicos y evidencias esperadas.
Entender el papel de la serie CCN-STIC como marco de referencia para seguridad en entornos regulados.
Revisar cómo usar recomendaciones CCN sobre desarrollo seguro como base para controles del ciclo de vida.
Relacionar arquitectura segura, autenticación, autorización, validación de entradas, criptografía y gestión de errores.
Traducir recomendaciones generales en actividades verificables para un equipo C/C++.
Identificar qué evidencias pueden generarse en requisitos, diseño, código, pruebas, análisis y remediación.
Evitar copiar controles sin adaptarlos al tipo de software, criticidad, amenazas y contexto operativo.
Crear trazabilidad entre guía, control, responsable, herramienta, evidencia y estado.
Definir controles mínimos para proyectos nuevos y controles progresivos para software heredado.
Relacionar CCN-STIC con NIST SSDF, SAMM, ASVS y CERT C/C++ para completar el marco técnico.
Taller: construir una tabla de alineamiento CCN-STIC → control SSDLC → evidencia.
Explicar NIST SSDF como conjunto de prácticas de desarrollo seguro integrables en cualquier SDLC.
Revisar los bloques principales: preparar la organización, proteger software, producir software seguro y responder a vulnerabilidades.
Traducir prácticas SSDF a actividades concretas en proyectos C/C++.
Definir roles, responsabilidades, políticas, formación, herramientas y criterios de aceptación.
Incorporar seguridad en requisitos, diseño, implementación, revisión, pruebas, release y mantenimiento.
Gestionar vulnerabilidades descubiertas durante desarrollo y después de la entrega.
Crear evidencias de prácticas SSDF: revisiones, análisis, aprobaciones, resultados y planes de remediación.
Evitar usar SSDF como checklist decorativo sin integración en repositorios y pipelines.
Relacionar SSDF con DevSecOps, control de versiones, SBOM, SCA, SAST, fuzzing y respuesta a vulnerabilidades.
Taller: adaptar prácticas SSDF a un proceso C++ existente.
Entender OWASP SAMM como modelo para analizar y mejorar la madurez de seguridad del software.
Revisar dominios de gobierno, diseño, implementación, verificación y operación.
Usar SAMM para evaluar situación inicial del equipo y detectar brechas frente a un SSDLC.
Identificar prácticas existentes, prácticas informales, prácticas ausentes y prácticas no evidenciables.
Definir niveles de madurez realistas según criticidad del software y capacidad del equipo.
Crear entrevistas, cuestionarios y revisión documental para diagnóstico inicial.
Priorizar mejoras por riesgo, impacto, esfuerzo, urgencia y dependencia organizativa.
Evitar querer alcanzar máxima madurez en todos los dominios desde el primer ciclo.
Conectar diagnóstico SAMM con hoja de ruta, métricas y plan de adopción.
Taller: realizar evaluación SAMM simplificada para un equipo C/C++.
Explicar OWASP ASVS como referencia para requisitos técnicos verificables de seguridad.
Identificar qué partes de ASVS aplican directamente a aplicaciones, APIs, servicios o interfaces del sistema.
Adaptar ASVS cuando el software C++ no es una aplicación web clásica.
Traducir controles ASVS a historias de seguridad, criterios de aceptación y pruebas.
Usar ASVS para definir requisitos de autenticación, autorización, validación, criptografía, errores y configuración.
Relacionar ASVS con pruebas manuales, automáticas, SAST, revisión de código y pentesting.
Crear trazabilidad entre requisito ASVS, implementación, prueba, evidencia y resultado.
Evitar aplicar ASVS de forma literal a componentes no web sin adaptar contexto.
Completar ASVS con CERT C/C++ para riesgos específicos de memoria y bajo nivel.
Taller: convertir controles ASVS en requisitos de seguridad para un servicio C++.
Presentar CERT C y CERT C++ como referencias para evitar patrones de codificación inseguros.
Clasificar reglas por memoria, enteros, punteros, arrays, strings, concurrencia, excepciones y recursos.
Diferenciar regla obligatoria, recomendación, guideline interna y desviación justificada.
Crear estándar interno de codificación segura basado en riesgos reales del proyecto.
Relacionar reglas CERT con avisos de compilador, SAST, revisión manual y pruebas dinámicas.
Evitar adoptar un estándar completo sin priorización ni capacidad de verificación.
Definir subset inicial para proyectos críticos en C/C++.
Documentar excepciones cuando una regla no puede aplicarse.
Integrar estándar de codificación con revisión de código y CI/CD.
Taller: crear guía interna de codificación segura C++ priorizada.
Levantar cómo se desarrolla actualmente: requisitos, diseño, código, revisión, pruebas, release y mantenimiento.
Identificar prácticas de seguridad existentes aunque no estén formalizadas.
Revisar repositorios, pipelines, herramientas, criterios de revisión, documentación y gestión de vulnerabilidades.
Detectar brechas frente a CCN-STIC, SSDF, SAMM, ASVS, CERT C/C++ y políticas internas.
Evaluar madurez por fases del ciclo de vida y por evidencias disponibles.
Identificar dependencias organizativas: seguridad, calidad, arquitectura, IT, proveedores y cliente.
Priorizar brechas críticas: ausencia de requisitos, falta de análisis, herramientas sin gates o vulnerabilidades sin SLA.
Evitar diagnósticos demasiado genéricos que no aterrizan en acciones ejecutables.
Crear informe inicial con hallazgos, impacto, prioridad, owner y recomendación.
Taller: elaborar diagnóstico SSDLC de un equipo C++ ficticio.
Diseñar una metodología de desarrollo seguro integrada en el ciclo de vida real del equipo.
Definir fases: planificación, requisitos, diseño, amenazas, implementación, verificación, release y mantenimiento.
Establecer controles mínimos por fase con responsable, entrada, salida y evidencia.
Adaptar SSDLC a proyectos ágiles, waterfall, V-model, defensa, producto o mantenimiento evolutivo.
Incorporar seguridad sin convertir el proceso en burocracia inasumible.
Definir gates de seguridad para cambios críticos, releases y entregas reguladas.
Crear criterios de escalado a seguridad, arquitectura o comité de riesgos.
Gestionar controles diferenciales para software nuevo, legacy, librerías y componentes de terceros.
Medir cumplimiento del proceso con métricas y evidencias.
Taller: diseñar SSDLC operativo para un proyecto C++ regulado.
Definir responsabilidades de desarrollo, arquitectura, seguridad, calidad, DevSecOps, producto y cumplimiento.
Crear RACI para requisitos, amenazas, revisión, herramientas, vulnerabilidades, excepciones y evidencias.
Designar security champions o referentes de seguridad dentro del equipo C++.
Establecer proceso de revisión de arquitectura y código crítico.
Definir quién aprueba riesgos aceptados, excepciones y liberaciones con hallazgos abiertos.
Crear canales de coordinación entre desarrollo, seguridad, auditoría y dirección técnica.
Evitar que seguridad dependa de una única persona externa al equipo.
Documentar roles dentro del plan SSDLC.
Medir participación y cumplimiento de responsabilidades.
Taller: construir matriz RACI para metodología de desarrollo seguro.
Incorporar requisitos de seguridad desde el backlog, especificación o fase de análisis.
Diferenciar requisitos funcionales, no funcionales, regulatorios, técnicos y de abuso.
Crear historias de seguridad con criterios de aceptación verificables.
Definir requisitos de autenticación, autorización, validación, logging, cifrado, integridad y disponibilidad.
Incluir requisitos de memoria segura, límites, concurrencia, rendimiento seguro y gestión de errores en C++.
Relacionar requisitos con amenazas, activos, controles y pruebas.
Evitar requisitos genéricos como “el sistema será seguro” sin verificación.
Mantener trazabilidad entre requisito, código, prueba, hallazgo y evidencia.
Revisar requisitos cuando cambia arquitectura, amenaza, dependencia o entorno operativo.
Taller: redactar requisitos de seguridad verificables para un módulo C++.
Crear casos de abuso para describir cómo un atacante o usuario malicioso podría explotar el sistema.
Identificar entradas no confiables, límites de confianza y operaciones peligrosas.
Definir escenarios de abuso para ficheros manipulados, red, IPC, memoria, privilegios y dependencias.
Relacionar casos de abuso con requisitos de mitigación.
Incorporar misuse cases en backlog, diseño, pruebas y revisión.
Priorizar casos por impacto, facilidad de explotación y exposición.
Evitar centrarse solo en casos funcionales positivos.
Usar casos de abuso para guiar fuzzing, pruebas negativas y revisión de código.
Documentar decisiones de mitigación y riesgos residuales.
Taller: crear misuse cases para parser, servicio nativo o librería C++.
Explicar modelado de amenazas como técnica para identificar activos, actores, flujos y superficies de ataque.
Definir activos críticos: datos, claves, memoria, procesos, interfaces, ficheros, red y componentes externos.
Identificar actores: usuario legítimo, atacante remoto, insider, proveedor, proceso comprometido o dispositivo no confiable.
Mapear límites de confianza, entradas, salidas, dependencias, privilegios y flujos de datos.
Aplicar STRIDE, attack trees o enfoques equivalentes según el tipo de sistema.
Relacionar amenazas con controles, requisitos, pruebas y evidencias.
Priorizar amenazas por impacto, probabilidad, exposición y facilidad de explotación.
Evitar modelados de amenazas extensos que no generan acciones.
Revisar amenazas cuando cambia arquitectura, protocolo, dependencia o entorno.
Taller: construir modelo de amenazas de un componente C++ expuesto a entradas externas.
Aplicar mínimo privilegio, defensa en profundidad, seguridad por defecto y separación de responsabilidades.
Diseñar límites de confianza entre procesos, librerías, servicios, ficheros, redes y usuarios.
Reducir superficie de ataque eliminando interfaces, permisos, puertos, formatos y dependencias innecesarias.
Diseñar validación centralizada de entradas y salidas.
Gestionar errores de forma segura sin revelar información sensible.
Separar componentes críticos de componentes de menor confianza.
Diseñar uso seguro de criptografía, secretos, claves y almacenamiento sensible.
Preparar arquitectura para logging, auditoría, actualización y revocación.
Evitar arquitecturas donde un fallo de memoria implica compromiso total del sistema.
Taller: revisar arquitectura C++ e identificar cambios para reducir riesgo.
Definir valores por defecto seguros para instalación, ejecución, permisos, rutas y comunicación.
Evitar configuraciones inseguras que requieren intervención manual posterior.
Gestionar ficheros de configuración, parámetros, flags, permisos y secretos.
Validar configuración al arranque y fallar de forma segura cuando sea incorrecta.
Proteger logs, dumps, ficheros temporales, sockets, memoria compartida y directorios de trabajo.
Diseñar modo debug separado de modo producción.
Evitar exponer información sensible por flags, errores, trazas o volcados.
Crear checklist de hardening para release C++.
Generar evidencias de configuración segura para auditoría.
Taller: endurecer configuración de una aplicación nativa C++.
Aplicar prácticas de C++ moderno para reducir errores de memoria y ownership confuso.
Preferir RAII, smart pointers, containers estándar y abstracciones seguras frente a gestión manual innecesaria.
Evitar undefined behavior, conversiones peligrosas y operaciones sin comprobación.
Usar inicialización segura, const-correctness, límites explícitos y errores controlados.
Gestionar recursos con ownership claro y liberación determinista.
Evitar APIs inseguras heredadas cuando existen alternativas más seguras.
Diseñar interfaces que hagan difícil usar el código de forma incorrecta.
Revisar código pensando en entradas hostiles, no solo en uso esperado.
Documentar invariantes, precondiciones y postcondiciones relevantes.
Taller: refactorizar código C++ inseguro hacia patrones más seguros.
Identificar stack overflow, heap overflow, use-after-free, double free, memory leak y punteros colgantes.
Entender riesgos de arrays, buffers, strings C, memcpy, strcpy, sprintf y aritmética de punteros.
Usar std::string, std::vector, std::array, std::span y containers adecuados.
Aplicar smart pointers con ownership claro: unique_ptr, shared_ptr y weak_ptr.
Evitar referencias a objetos destruidos, iteradores invalidados y aliasing peligroso.
Validar tamaños, límites, offsets y longitudes antes de copiar o acceder.
Usar sanitizers para detectar errores de memoria durante pruebas.
Revisar impacto de memoria en seguridad, estabilidad y explotación.
Documentar patrones permitidos y prohibidos en la guía de codificación.
Taller: localizar y corregir vulnerabilidades de memoria en código C++.
Identificar integer overflow, underflow, truncamiento, signed/unsigned mismatch y conversiones implícitas peligrosas.
Revisar operaciones aritméticas usadas para tamaños, índices, offsets, longitudes y reservas de memoria.
Aplicar comprobaciones antes de multiplicar, sumar, convertir o reservar.
Usar tipos adecuados para tamaños, contadores, estados, flags y valores externos.
Evitar casts innecesarios o reinterpretaciones inseguras.
Gestionar entrada externa que puede forzar cálculos extremos.
Detectar errores con compilador, análisis estático y pruebas negativas.
Documentar reglas internas de tipos y conversiones.
Relacionar errores de enteros con corrupción de memoria y bypass de controles.
Taller: corregir vulnerabilidades por integer overflow en parser C++.
Establecer reglas claras para ownership, préstamo, vida útil y transferencia de recursos.
Diferenciar puntero propietario, puntero no propietario, referencia y handle externo.
Evitar raw pointers cuando representan ownership.
Usar smart pointers y referencias según intención real.
Documentar contratos de vida útil en APIs internas.
Detectar dangling references, null dereference, double ownership y ciclos con shared_ptr.
Diseñar APIs que reduzcan ambigüedad de ownership.
Revisar código heredado con punteros manuales y liberar gradualmente riesgos.
Usar análisis estático y sanitizers para detectar errores de vida útil.
Taller: rediseñar interfaz C++ con ownership explícito y seguro.
Tratar toda entrada externa como no confiable: red, fichero, CLI, IPC, hardware, usuario o dependencia.
Validar longitud, formato, rango, encoding, estructura, secuencia y coherencia.
Diseñar parsers robustos frente a datos truncados, malformados, anidados o excesivamente grandes.
Evitar confiar en extensiones, cabeceras, tamaños declarados o metadatos no verificados.
Limitar recursos consumidos por parsing para evitar DoS.
Crear pruebas negativas y corpus de entradas hostiles.
Aplicar fuzzing a parsers y superficies de entrada.
Registrar errores de validación sin filtrar datos sensibles.
Documentar contrato de entrada y comportamiento ante error.
Taller: endurecer parser C++ frente a entradas maliciosas.
Identificar riesgos de threads, mutexes, locks, atomics, deadlocks, data races y condiciones de carrera.
Diseñar sincronización con ownership y responsabilidades claras.
Evitar compartir estado mutable cuando no es necesario.
Usar primitivas estándar de C++ de forma segura.
Revisar secciones críticas, orden de bloqueo y tiempos de espera.
Detectar errores con ThreadSanitizer y pruebas de estrés.
Gestionar cancelación, parada, errores y destrucción de objetos concurrentes.
Documentar invariantes y reglas de acceso concurrente.
Relacionar condiciones de carrera con corrupción, bypass de seguridad o denegación de servicio.
Taller: localizar y corregir data race en componente C++ multihilo.
Definir cuándo se necesita criptografía y qué problema de seguridad resuelve.
Evitar algoritmos obsoletos, implementaciones propias y modos inseguros.
Usar librerías aprobadas y patrones revisados por seguridad.
Gestionar claves, certificados, tokens, seeds y material sensible con protección adecuada.
Evitar almacenar secretos en código, repositorios, logs, dumps o ficheros temporales.
Validar certificados, identidades, cadenas de confianza y errores TLS.
Usar generación aleatoria segura cuando se requiere entropía.
Documentar decisiones criptográficas y dependencias usadas.
Crear evidencias de revisión criptográfica para cumplimiento.
Taller: revisar uso de criptografía en código C++ y corregir patrones inseguros.
Diseñar gestión de errores que permita diagnosticar sin revelar información sensible.
Diferenciar errores recuperables, errores fatales, errores de validación y errores de seguridad.
Evitar excepciones no controladas que dejan estado inconsistente.
Registrar eventos relevantes con contexto suficiente y sin datos secretos.
Proteger logs, rutas, permisos, rotación y retención.
Evitar dumps productivos con memoria sensible sin control.
Crear códigos de error y mensajes adecuados para usuario, operador y auditoría.
Relacionar logs con trazabilidad de vulnerabilidades, incidentes y pruebas.
Validar que los logs no son manipulables mediante entradas externas.
Taller: rediseñar logging y errores de un servicio C++.
Inventariar librerías, paquetes, componentes internos, binarios, toolchains y dependencias transitivas.
Evaluar origen, licencia, mantenimiento, vulnerabilidades y criticidad de cada dependencia.
Usar SCA para detectar CVEs, versiones obsoletas y componentes no autorizados.
Generar SBOM cuando el entorno lo requiera.
Definir proceso de aprobación de nuevas dependencias.
Gestionar actualización, bloqueo de versión, parcheo y retirada de librerías vulnerables.
Evitar copiar código externo sin trazabilidad, licencia ni revisión de seguridad.
Integrar SCA y SBOM en CI/CD.
Crear evidencias de revisión de dependencias para cumplimiento.
Taller: analizar dependencias C++ y crear plan de remediación.
Entender qué detecta SAST y qué no puede detectar por sí solo.
Configurar herramientas de análisis estático para C/C++ según build real.
Priorizar hallazgos por severidad, confianza, explotabilidad y contexto.
Reducir falsos positivos mediante configuración, perfiles y supresiones justificadas.
Integrar SAST en pull requests y pipelines.
Relacionar reglas SAST con CERT C/C++, estándares internos y requisitos de cumplimiento.
Documentar hallazgos, decisiones, correcciones y excepciones.
Evitar convertir SAST en una lista infinita que nadie atiende.
Medir evolución de deuda de seguridad y defectos recurrentes.
Taller: ejecutar SAST sobre código C++ vulnerable y gestionar resultados.
Usar AddressSanitizer para detectar errores de memoria.
Usar UndefinedBehaviorSanitizer para detectar comportamiento indefinido.
Usar ThreadSanitizer para detectar data races.
Usar LeakSanitizer o herramientas equivalentes para fugas de memoria.
Configurar builds instrumentados separados de builds productivos.
Integrar sanitizers en pruebas unitarias, integración y ejecución de escenarios.
Analizar trazas, stack traces y falsos positivos.
Crear evidencias de ejecución de pruebas dinámicas.
Evitar confiar solo en sanitizers sin corpus ni pruebas suficientes.
Taller: detectar y corregir fallos con sanitizers en proyecto C++.
Explicar fuzzing como técnica para descubrir fallos con entradas generadas automáticamente.
Identificar superficies candidatas: parsers, protocolos, formatos de fichero, APIs y serialización.
Crear harness de fuzzing para función o componente C++.
Usar libFuzzer, AFL++, honggfuzz u otra herramienta según entorno.
Preparar corpus inicial, diccionarios, límites y sanitizers combinados.
Gestionar crashes, reproducibilidad, minimización y priorización.
Integrar fuzzing continuo o programado en CI/CD cuando sea viable.
Documentar resultados, cobertura, crashes corregidos y riesgos residuales.
Evitar fuzzing sin límites de recursos o sin owner de corrección.
Taller: crear harness de fuzzing para parser C++ vulnerable.
Definir checklist de revisión C++ con foco en memoria, entradas, errores, concurrencia y dependencias.
Revisar cambios pequeños y comprensibles para mejorar calidad de revisión.
Usar pull requests con evidencias de tests, análisis, justificación y riesgos.
Identificar patrones inseguros no detectados por herramientas.
Revisar código crítico con doble aprobación o perfil experto.
Evitar revisiones centradas solo en estilo y no en seguridad.
Documentar hallazgos, correcciones y decisiones.
Crear cultura de revisión sin culpabilización.
Medir defectos recurrentes para mejorar formación y estándares.
Taller: realizar revisión de código segura sobre pull request C++.
Diseñar pruebas unitarias, integración y sistema con enfoque de seguridad.
Añadir pruebas negativas para entradas inválidas, límites, errores y estados anómalos.
Probar autenticación, autorización, validación, errores, logs y límites de recursos.
Crear pruebas de regresión para vulnerabilidades corregidas.
Integrar pruebas de seguridad en pipeline y criterios de release.
Evitar cubrir solo caminos felices.
Usar mocks y fixtures para simular entradas hostiles.
Relacionar pruebas con requisitos, amenazas y controles.
Generar evidencias de ejecución y resultado.
Taller: crear suite de pruebas de seguridad para componente C++.
Integrar controles de seguridad en pipelines sin bloquear innecesariamente el desarrollo.
Definir stages: build, test, SAST, SCA, sanitizers, fuzzing, empaquetado, SBOM y evidencia.
Crear gates por criticidad, rama, release, severidad y tipo de proyecto.
Separar warnings informativos de bloqueos obligatorios.
Proteger runners, credenciales, artefactos, logs y variables del pipeline.
Crear trazabilidad entre commit, análisis, vulnerabilidad, excepción y release.
Generar evidencias automáticas para cumplimiento.
Evitar pipelines que se pueden saltar para entregar más rápido.
Medir tiempos, fallos, hallazgos, deuda y cumplimiento de controles.
Taller: diseñar pipeline DevSecOps para proyecto C++ regulado.
Registrar vulnerabilidades de código, dependencias, configuración, build y diseño.
Clasificar hallazgos por severidad, explotabilidad, impacto, exposición y criticidad del sistema.
Definir SLAs de remediación por nivel de riesgo.
Crear tickets con evidencia, reproducción, componente afectado, owner y acción esperada.
Gestionar falsos positivos, duplicados y hallazgos no explotables con criterio.
Validar correcciones mediante prueba, revisión y análisis posterior.
Medir backlog, recurrencia, tiempo de cierre y vulnerabilidades por release.
Relacionar vulnerabilidades con riesgos, requisitos y auditorías.
Evitar cerrar hallazgos sin evidencia de corrección.
Taller: priorizar y remediar vulnerabilidades detectadas en código C++.
Diferenciar excepción técnica, falso positivo, riesgo aceptado, deuda de seguridad y remediación aplazada.
Definir proceso formal para aceptar riesgos con justificación, impacto, owner y caducidad.
Documentar controles compensatorios cuando una vulnerabilidad no puede corregirse inmediatamente.
Establecer quién puede aprobar excepciones según criticidad.
Evitar excepciones permanentes sin revisión.
Relacionar excepciones con release, auditoría, cliente y plan de remediación.
Crear registro de riesgos aceptados y seguimiento periódico.
Medir deuda de seguridad acumulada por componente o equipo.
Preparar evidencias para justificar decisiones ante auditoría.
Taller: redactar excepción aceptable y plan de remediación asociado.
Definir qué evidencias demuestran que existe una metodología de desarrollo seguro.
Crear evidencias de requisitos, threat model, revisión de arquitectura, SAST, SCA, fuzzing, sanitizers y code review.
Relacionar cada evidencia con control, fase, responsable, fecha, herramienta y resultado.
Preparar evidencias reutilizables para auditoría, cliente, seguridad y dirección técnica.
Evitar evidencias manuales sin trazabilidad, fecha o relación con el repositorio.
Generar evidencias automáticas desde CI/CD y herramientas.
Crear paquete de release seguro con informes, SBOM, resultados y excepciones.
Mantener evidencias bajo control de versiones o repositorio documental.
Definir retención y acceso a evidencias según sensibilidad.
Taller: construir dossier de evidencias SSDLC para un release C++.
Definir métricas útiles: cobertura de controles, hallazgos críticos, tiempo de remediación y análisis por release.
Medir adopción de SAST, SCA, sanitizers, fuzzing, revisión y threat modeling.
Crear indicadores de brechas frente a SSDLC y progreso de la hoja de ruta.
Evitar métricas vanidosas que no mejoran decisiones.
Medir deuda de seguridad por equipo, componente, release y severidad.
Crear dashboards para desarrollo, seguridad, calidad, dirección y auditoría.
Relacionar métricas con riesgo real y criticidad del sistema.
Revisar tendencias y causas recurrentes.
Usar métricas para priorizar formación, refactorización y automatización.
Taller: diseñar cuadro de mando SSDLC para desarrollo seguro C++.
Evaluar proyectos legacy sin paralizar entregas ni reescribir todo el sistema.
Identificar módulos críticos, superficies expuestas, dependencias antiguas y deuda de memoria.
Priorizar controles por riesgo: SCA, SAST, sanitizers, revisión y tests de regresión.
Crear estrategia de refactorización segura por zonas.
Añadir wrappers, validaciones y límites sin romper compatibilidad.
Gestionar compiladores antiguos, dependencias no mantenidas y toolchains cerradas.
Crear excepciones controladas para deuda que no puede resolverse de inmediato.
Mejorar evidencia y trazabilidad aunque el código sea antiguo.
Evitar aplicar estándares modernos de golpe sin plan de transición.
Taller: diseñar plan SSDLC para proyecto C++ heredado.
Definir criterios mínimos de release seguro para sistemas regulados.
Revisar resultados de herramientas, pruebas, amenazas, requisitos y excepciones antes de liberar.
Crear checklist de release con controles bloqueantes y controles informativos.
Preparar paquete de evidencias de release.
Validar configuración, dependencias, compilación, artefactos, firmas y SBOM.
Gestionar autorización de release con riesgos abiertos.
Evitar liberar versiones con hallazgos críticos sin aprobación formal.
Trazar release con commit, build, artefacto, informes y evidencias.
Documentar limitaciones conocidas y acciones pendientes.
Taller: preparar aprobación de release seguro para componente C++.
Planificar adopción de SSDLC sin bloquear productividad del equipo.
Definir quick wins: checklist, SAST básico, revisión de código, SCA y evidencias de pipeline.
Formar a desarrolladores en riesgos C++ y uso práctico de herramientas.
Crear security champions y rutinas ligeras de seguimiento.
Ajustar controles según criticidad, tamaño del equipo y madurez.
Evitar imponer procesos complejos sin soporte, formación ni automatización.
Comunicar beneficios: menos vulnerabilidades tardías, menos retrabajo y mejores evidencias.
Integrar seguridad en definición de done, pull requests y planificación.
Revisar adopción con métricas y feedback.
Taller: diseñar plan de cambio para implantar desarrollo seguro en equipo C++.
Evaluar brechas iniciales frente a CCN-STIC, SSDF, SAMM, ASVS, CERT C/C++ y políticas internas.
Priorizar acciones por riesgo, esfuerzo, impacto, urgencia contractual y capacidad del equipo.
Definir fases de implantación: diagnóstico, controles mínimos, automatización, evidencias y mejora continua.
Crear plan a 30, 60, 90 y 180 días.
Asignar owners, herramientas, entregables, métricas y dependencias.
Establecer hitos: guía de codificación, threat modeling, pipeline seguro, SBOM, fuzzing y dossier de evidencias.
Definir qué queda fuera del primer ciclo y cómo se gestionan riesgos residuales.
Preparar reporting ejecutivo para seguimiento.
Evitar roadmaps irreales que requieren madurez inexistente.
Taller: construir hoja de ruta inicial de adaptación SSDLC para el equipo.
Definir un proyecto C++ regulado con contexto de Defensa, criticidad, activos, amenazas y requisitos de cumplimiento.
Realizar diagnóstico inicial del proceso actual y detectar brechas frente a SSDLC, SSDF, SAMM, ASVS y CERT C/C++.
Crear matriz de controles por fase: requisitos, diseño, implementación, verificación, release y mantenimiento.
Redactar requisitos de seguridad y casos de abuso verificables para el componente seleccionado.
Elaborar modelo de amenazas con activos, actores, límites de confianza, flujos y mitigaciones.
Revisar arquitectura segura aplicando mínimo privilegio, defensa en profundidad y seguridad por defecto.
Analizar código C++ vulnerable y proponer correcciones sobre memoria, punteros, enteros, concurrencia y entradas.
Diseñar pipeline DevSecOps con SAST, SCA, sanitizers, fuzzing, code review, SBOM, gates y evidencias.
Preparar registro de vulnerabilidades, excepciones, riesgos aceptados y plan de remediación.
Presentar hoja de ruta SSDLC auditable con controles, owners, métricas, evidencias, prioridades y próximos pasos.
Pensado para quienes deben dominar Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC en su día a día
Desarrolladores C/C++ en entornos críticos
Profesionales que escriben, mantienen o revisan código C/C++ y necesitan reducir vulnerabilidades relacionadas con memoria, punteros, concurrencia, entradas no confiables, dependencias, compilación y errores de implementación.
Arquitectos de software y responsables técnicos
Perfiles encargados de definir arquitectura, patrones, componentes, límites de confianza, superficies de ataque, dependencias, seguridad por defecto y criterios de aceptación técnica en proyectos regulados.
Equipos DevSecOps, CI/CD y plataforma
Profesionales que integran análisis estático, análisis de dependencias, sanitizers, fuzzing, gates de seguridad, SBOM, evidencias y remediación dentro de pipelines de desarrollo.
Equipos de seguridad, compliance y auditoría técnica
Perfiles que necesitan traducir requisitos CCN-STIC, NIST SSDF, OWASP SAMM, OWASP ASVS y políticas internas en controles verificables, evidencias técnicas y planes de mejora.
Responsables de calidad, testing y validación
Equipos que diseñan pruebas, revisiones, validaciones, criterios de aceptación, gestión de defectos, trazabilidad y pruebas de seguridad en software C/C++.
Jefes de proyecto, responsables de Defensa y sistemas regulados
Personas que deben coordinar entregables, riesgos, excepciones, evidencias, auditorías, hojas de ruta y adopción de una metodología de desarrollo seguro en equipos técnicos.
Empresas que ya han formado a sus equipos
Experiencias reales de equipos que ya han trabajado con nosotros.
+16
años de liderazgo
+3.500
empresas formadas
Nuestra empresa decidió contratar formación con Imagina aprovechando los créditos de FUNDAE, y fue una gran decisión. La modalidad online nos permitió adaptar los horarios a nuestro equipo. La formación ha sido práctica, clara y útil para el día a día. Es sencillo de gestionar y los resultados son excepcionales.
Hugo Gutiérrez
Analista Financiero
Gracias a Imagina, la eficiencia de nuestras sesiones de capacitación ha mejorado drásticamente. Es sencillo de usar y los resultados son excepcionales.
Luis Martínez
Administrativo
Gracias al aula virtual de Imagina siempre son capaces de adaptar los cursos a nuestras necesidades. El contenido fue muy completo y práctico.
Elena Pérez
Responsable de Recursos Humanos
Mejor de lo esperado, la modalidad online se adapta a nuestros horarios. La ayuda con la bonificación FUNDAE hizo todo más fácil. Práctico y necesario.
Alejandro Sánchez
Director de Operaciones
Nuestra empresa decidió contratar formación con Imagina aprovechando los créditos de FUNDAE, y fue una gran decisión. La modalidad online nos permitió adaptar los horarios a nuestro equipo. La formación ha sido práctica, clara y útil para el día a día. Es sencillo de gestionar y los resultados son excepcionales.
Hugo Gutiérrez
Analista Financiero
Gracias a Imagina, la eficiencia de nuestras sesiones de capacitación ha mejorado drásticamente. Es sencillo de usar y los resultados son excepcionales.
Luis Martínez
Administrativo
Gracias al aula virtual de Imagina siempre son capaces de adaptar los cursos a nuestras necesidades. El contenido fue muy completo y práctico.
Elena Pérez
Responsable de Recursos Humanos
Mejor de lo esperado, la modalidad online se adapta a nuestros horarios. La ayuda con la bonificación FUNDAE hizo todo más fácil. Práctico y necesario.
Alejandro Sánchez
Director de Operaciones
480.000 alumnos formados en Imagina
Resolvemos todas tus dudas sobre nuestra formación en Desarrollo Seguro en C++ para Cumplimiento de CCN-STIC
Explora las respuestas a las preguntas que guian a nuestra comunidad. Aqui encontraras claridad sobre como funciona todo, desde el acceso hasta los detalles de los cursos. Si buscas respuestas, este es el lugar para comenzar.
No. Es una formación de apoyo para implantar desarrollo seguro, controles, evidencias y metodología auditable. La certificación o conformidad formal depende del proceso correspondiente.
Sí. Aunque se cubren marcos generales de SSDLC, el curso profundiza en riesgos propios de C/C++: memoria, punteros, enteros, concurrencia y dependencias.
Sí. NIST SSDF se usa como referencia para estructurar prácticas de desarrollo seguro integrables en el ciclo de vida.
Sí. OWASP SAMM se utiliza para diagnosticar madurez inicial, detectar brechas y construir una hoja de ruta de mejora.
Sí. ASVS se usa como referencia para convertir controles técnicos en requisitos verificables, adaptándolo cuando el software no sea web clásico.
Sí. Hay un bloque específico de threat modeling con activos, actores, límites de confianza, flujos, superficies de ataque y mitigaciones.
Sí. Se trabajan SAST, SCA, sanitizers, fuzzing, revisión de código, SBOM, CI/CD y gestión de vulnerabilidades, adaptando herramientas al entorno del cliente.
Sí. Se aborda fuzzing con enfoque práctico para parsers, protocolos, entradas externas, APIs y componentes C++ expuestos.
Sí. Incluye adopción gradual para legacy C++, priorización por riesgo, excepciones, refactorización segura y mejora incremental de evidencias.
Sí. El curso trabaja evidencias documentales y técnicas: requisitos, amenazas, análisis, pruebas, informes, excepciones, riesgos y releases.
Sí. Puede adaptarse a GitLab, GitHub, Azure DevOps, Jenkins, SonarQube, Coverity, Fortify, Snyk, Black Duck, clang-tidy u otras herramientas autorizadas.
Sí, puede plantearse como formación bonificable hasta el 100% por FUNDAE para empresas, siempre que se cumplan los requisitos administrativos, comunicación, asistencia y documentación.
¿Tienes dudas?
Estamos aqui para ayudarte
No. Es una formación de apoyo para implantar desarrollo seguro, controles, evidencias y metodología auditable. La certificación o conformidad formal depende del proceso correspondiente.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Aunque se cubren marcos generales de SSDLC, el curso profundiza en riesgos propios de C/C++: memoria, punteros, enteros, concurrencia y dependencias.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. NIST SSDF se usa como referencia para estructurar prácticas de desarrollo seguro integrables en el ciclo de vida.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. OWASP SAMM se utiliza para diagnosticar madurez inicial, detectar brechas y construir una hoja de ruta de mejora.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. ASVS se usa como referencia para convertir controles técnicos en requisitos verificables, adaptándolo cuando el software no sea web clásico.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Hay un bloque específico de threat modeling con activos, actores, límites de confianza, flujos, superficies de ataque y mitigaciones.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Se trabajan SAST, SCA, sanitizers, fuzzing, revisión de código, SBOM, CI/CD y gestión de vulnerabilidades, adaptando herramientas al entorno del cliente.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Se aborda fuzzing con enfoque práctico para parsers, protocolos, entradas externas, APIs y componentes C++ expuestos.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Incluye adopción gradual para legacy C++, priorización por riesgo, excepciones, refactorización segura y mejora incremental de evidencias.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. El curso trabaja evidencias documentales y técnicas: requisitos, amenazas, análisis, pruebas, informes, excepciones, riesgos y releases.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Puede adaptarse a GitLab, GitHub, Azure DevOps, Jenkins, SonarQube, Coverity, Fortify, Snyk, Black Duck, clang-tidy u otras herramientas autorizadas.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí, puede plantearse como formación bonificable hasta el 100% por FUNDAE para empresas, siempre que se cumplan los requisitos administrativos, comunicación, asistencia y documentación.
¿Tienes dudas?
Estamos aqui para ayudarte
Descubre nuestros tutoriales
Qué es Microsoft Power Automate y para qué sirve
November 05, 2025Descubre Que es Microsoft Power Automate o Microsoft Flow: Guía Completa de la Herramienta de Automatización de Tareas de Microsoft
¿Qué es Kali Linux y para qué se utiliza?
June 17, 2025Descubre cómo instalar Kali Linux fácilmente y empieza a usar esta herramienta esencial para pruebas de penetración y análisis forense digital.
Top 5 Cursos Bonificados para Trabajadores en 2025
June 09, 2025Conoce los cursos bonificados para trabajadores 2025 más demandados y cómo puedes inscribir a tus empleados para aprovechar los créditos formativos de FUNDAE.
5 Cursos Obligatorios para cualquier Empresa en 2025
May 26, 2025Conoce los cursos obligatorios para empresas 2025 y cómo asegurar que tu organización cumpla con las normativas actuales sin riesgos de sanciones.
Cursos Bonificados por Fundación Tripartita en 2025
May 05, 2025Descubre los mejores cursos bonificados para empresas en 2025 por la Fundación Tripartita. Aumenta la productividad de tu equipo sin costes adicionales.
Diseñemos hoy el curso que tu empresa necesita
Cuéntanos tus objetivos de negocio y prepararemos una propuesta formativa bonificable totalmente ad hoc