Cyber Security Academy · Lección

Diagramas de flujo de datos y límites de confianza

Mapee cómo se mueven los datos y dónde atraviesan límites de confianza.

Lección 3 de 413 pasos

Diagramas de flujo de datos y límites de confianza es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

Por qué empezar con un diagrama

No puede encontrar amenazas en un sistema que no comprende. Un diagrama de flujo de datos (DFD) es la base del modelado de amenazas: muestra visualmente cómo se desplazan los datos por el sistema.

El diagrama hace explícitas las suposiciones implícitas. Cuando puede ver adónde van los datos y quién interactúa con ellos, resulta mucho más fácil detectar las amenazas.

Los cuatro elementos de un DFD

Un DFD utiliza solo cuatro componentes básicos. Manténgalos sencillos:

  • Entidad externa — una persona o un sistema que está fuera de su control (un usuario, una API de terceros)
  • Proceso — algo que transforma datos (un servicio, una función)
  • Almacén de datos — el lugar donde se almacenan los datos (una base de datos, un archivo, una caché)
  • Flujo de datos — el movimiento de datos entre elementos (una flecha)

Casi cualquier sistema puede representarse con estas cuatro formas.

Notación estándar de DFD

Los DFD utilizan formas convencionales para que cualquiera pueda interpretarlos:

External entity   ->  rectangle / square
Process           ->  circle (or rounded rectangle)
Data store        ->  two parallel lines (open rectangle)
Data flow         ->  labeled arrow
Trust boundary    ->  dashed line crossing flows

Un DFD sencillo de una aplicación web

Considere una aplicación web básica. Su DFD podría verse así en formato de texto:

User (external) --HTTPS request--> Web App (process)
Web App --SQL query--> Database (data store)
Web App --API call--> Payment Provider (external)
Database --results--> Web App
Web App --HTTPS response--> User

Qué es un límite de confianza

Un límite de confianza es cualquier línea del diagrama donde cambia el nivel de confianza. En un lado, los datos o los autores de las llamadas son de confianza; en el otro, no lo son.

Los límites de confianza son el elemento más relevante para la seguridad de un DFD, porque indican dónde:

  • Se deben validar los datos
  • Se debe autenticar y autorizar a los autores de las llamadas
  • Cambian los niveles de privilegio

La mayoría de las vulnerabilidades se encuentran exactamente donde los datos atraviesan un límite de confianza.

Límites de confianza comunes

Cuando empieza a buscarlos, descubre que los límites de confianza están por todas partes. Algunos ejemplos habituales:

  • De Internet a su aplicación (llegan entradas de usuario que no son de confianza)
  • De la aplicación a la base de datos
  • Entre un proceso de bajo privilegio y uno de alto privilegio
  • Entre su sistema y una API de terceros
  • Entre un contenedor y el host
  • A través de segmentos de red (de la DMZ a la red interna)

Cada límite merece un análisis explícito.

Dibujar límites en el DFD

Añada los límites de confianza como líneas discontinuas que atraviesen los flujos de datos a los que afectan. En nuestra aplicación web:

User (external)
  | HTTPS
- - - - - - - - - - - -  <- Trust boundary: internet / app
  v
Web App (process)
  | SQL
- - - - - - - - - - - -  <- Trust boundary: app / database
  v
Database (data store)

Los límites indican dónde aplicar STRIDE

Los límites de confianza conectan esta lección con STRIDE. Los flujos de datos que atraviesan un límite son el foco de su análisis de STRIDE.

En el límite entre Internet y la aplicación, pregunte:

  • Spoofing — ¿está autenticado el autor de la llamada?
  • Tampering — ¿se han validado los datos de entrada?
  • Information disclosure — ¿está cifrado el canal?
  • Denial of service — ¿existe una limitación de velocidad?

Los límites convierten un marco abstracto en preguntas concretas.

Elegir el nivel de detalle adecuado

Un DFD puede ser demasiado vago o demasiado detallado. Ambos enfoques fracasan.

  • Demasiado general — un único cuadro con la etiqueta «el sistema» oculta todos los límites relevantes
  • Demasiado detallado — incluir cada función y variable, lo que le inunda de ruido

Apunte al nivel en el que sean visibles cada componente principal y cada límite de confianza. Utilice DFD por capas: un diagrama de contexto para todo el sistema y, después, desglose por separado los procesos complejos.

Validar el diagrama con el equipo

Un DFD dibujado por una sola persona suele contener suposiciones incorrectas. Revíselo con las personas que desarrollaron el sistema.

Haga preguntas concretas:

  • ¿Es esta realmente la única forma en que los datos llegan a la base de datos?
  • ¿Hay rutas administrativas o por lotes que no se muestren aquí?
  • ¿Hay algo que omita este paso de autenticación?
  • ¿Existen copias en caché de estos datos en algún otro lugar?

Los flujos de datos ocultos son una fuente frecuente de vulnerabilidades que no se detectan.

Mantenga actualizado el diagrama

Los sistemas cambian y un DFD desactualizado puede inducir a error. Un diagrama obsoleto es peor que no tener ninguno, porque crea una falsa sensación de seguridad.

Actualice el DFD cuando:

  • Se añada una nueva integración o dependencia externa
  • Aparezca un nuevo almacén de datos
  • Cambie el modelo de confianza (un servicio se traslade a una nueva zona de red)

Trate el DFD como documentación viva que evoluciona junto con el sistema, no como un artefacto que se crea una sola vez.

Comprobación rápida

Compruebe su comprensión de los DFD y los límites de confianza.

Resumen

Aprendió a representar sistemas para el modelado de amenazas:

  • Un DFD utiliza cuatro elementos: entidades externas, procesos, almacenes de datos y flujos de datos
  • Los límites de confianza indican dónde cambia la confianza y dónde se encuentran la mayoría de las vulnerabilidades
  • Los flujos de datos que atraviesan un límite son el foco del análisis STRIDE
  • Elija el nivel de detalle adecuado y utilice diagramas por capas
  • Valide el DFD con el equipo y manténgalo actualizado

A continuación, clasificará las amenazas con árboles de ataque y priorizará las medidas de mitigación.

Gratis para empezar

Aprende Cyber Security Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
76
Lecciones
303

Preguntas frecuentes

¿La lección «Diagramas de flujo de datos y límites de confianza» es gratis?

Sí — el texto completo de «Diagramas de flujo de datos y límites de confianza» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Diagramas de flujo de datos y límites de confianza»?

Mapee cómo se mueven los datos y dónde atraviesan límites de confianza. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Diagramas de flujo de datos y límites de confianza»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Por qué importa el modelado de amenazas
  2. El framework STRIDE
  3. Diagramas de flujo de datos y límites de confianza
  4. Árboles de ataque y priorización de riesgos
← Volver a Cyber Security Academy