0Pricing
Cyber Security Academy · Lezione

Diagrammi di flusso dei dati e confini di attendibilità

Mappare come si spostano i dati e dove attraversano i confini di attendibilità.

Diagrammi di flusso dei dati e confini di attendibilità è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.

Perché iniziare dal diagramma

Non può individuare le minacce in un sistema che non comprende. Un diagramma di flusso dei dati (DFD) è la base della modellazione delle minacce: mostra visivamente come si spostano i dati all'interno del sistema.

Il diagramma rende esplicite le assunzioni implicite. Quando può vedere dove vanno i dati e chi li gestisce, individuare le minacce diventa molto più semplice.

I quattro elementi di un DFD

Un DFD utilizza solo quattro elementi costitutivi. Li mantenga semplici:

  • Entità esterna — una persona o un sistema al di fuori del suo controllo (utente, API di terze parti)
  • Processo — qualcosa che trasforma i dati (un servizio, una funzione)
  • Archivio dati — il luogo in cui i dati risiedono (database, file, cache)
  • Flusso di dati — lo spostamento dei dati tra gli elementi (una freccia)

Quasi ogni sistema può essere rappresentato con queste quattro forme.

Notazione DFD standard

I DFD utilizzano forme convenzionali, così chiunque può leggerli:

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 semplice DFD di un'applicazione web

Consideri una semplice applicazione web. Il relativo DFD potrebbe avere questo aspetto in formato testuale:

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

Che cos'è un confine di attendibilità

Un confine di attendibilità è qualsiasi linea nel diagramma in corrispondenza della quale cambia il livello di fiducia. Da un lato, i dati o i chiamanti sono considerati attendibili; dall'altro, non lo sono.

I confini di attendibilità sono l'elemento più rilevante per la sicurezza di un DFD, perché indicano dove:

  • I dati devono essere convalidati
  • I chiamanti devono essere autenticati e autorizzati
  • Cambiano i livelli di privilegio

La maggior parte delle vulnerabilità si trova esattamente nei punti in cui i dati attraversano un confine di attendibilità.

Confini di attendibilità comuni

Non appena inizia a cercarli, si accorgerà che i confini di attendibilità sono ovunque. Ecco alcuni esempi comuni:

  • Da Internet all'applicazione (arrivano input non attendibili dagli utenti)
  • Dall'applicazione al database
  • Tra un processo con privilegi bassi e uno con privilegi elevati
  • Tra il sistema e un'API di terze parti
  • Tra un container e l'host
  • Attraverso i segmenti di rete (dalla DMZ alla rete interna)

Ogni confine merita un'analisi esplicita e approfondita.

Disegnare i confini nel DFD

Aggiunga i confini di attendibilità come linee tratteggiate che attraversano i flussi di dati interessati. Nella nostra applicazione web:

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

I confini indicano dove applicare STRIDE

I confini di attendibilità collegano questa lezione a STRIDE. I flussi di dati che attraversano un confine sono quelli su cui concentrare l'analisi STRIDE.

In corrispondenza del confine tra Internet e applicazione, si chieda:

  • Spoofing — il chiamante è autenticato?
  • Tampering — l'input è convalidato?
  • Divulgazione di informazioni — il canale è cifrato?
  • Denial of service — è presente una limitazione della frequenza?

I confini trasformano un framework astratto in domande concrete.

Scegliere il livello di dettaglio corretto

Un DFD può essere troppo vago o troppo dettagliato. In entrambi i casi non funziona.

  • Livello troppo alto — un'unica casella con l'etichetta "il sistema" nasconde tutti i confini interessanti
  • Troppo dettagliato — ogni funzione e variabile, fino a essere sommersi dal rumore

Punti al livello in cui siano visibili ogni componente principale e ogni confine di attendibilità. Utilizzi DFD stratificati: un diagramma di contesto per l'intero sistema, quindi analizzi separatamente i processi complessi a un livello più dettagliato.

Convalidare il diagramma con il team

Un DFD disegnato da una sola persona contiene in genere assunzioni errate. Lo esamini insieme alle persone che hanno realizzato il sistema.

Ponga domande mirate:

  • È davvero l'unico modo in cui i dati raggiungono il database?
  • Esistono percorsi amministrativi o batch non mostrati qui?
  • Qualcosa aggira questo passaggio di autenticazione?
  • Esistono copie memorizzate nella cache di questi dati altrove?

I flussi di dati nascosti sono una causa frequente di vulnerabilità non individuate.

Mantenga aggiornato il diagramma

I sistemi cambiano e un DFD obsoleto diventa fuorviante. Un diagramma non aggiornato è peggiore di nessun diagramma, perché crea una falsa sensazione di sicurezza.

Aggiorni il DFD quando:

  • Viene aggiunta una nuova integrazione o dipendenza esterna
  • Compare un nuovo archivio dati
  • Cambia il modello di fiducia (un servizio passa a una nuova zona di rete)

Consideri il DFD una documentazione che evolve insieme al sistema, non un artefatto creato una volta sola.

Verifica rapida

Verifichi la Sua comprensione dei DFD e dei confini di fiducia.

Riepilogo

Ha imparato a mappare i sistemi per la modellazione delle minacce:

  • Un DFD usa quattro elementi: entità esterne, processi, archivi dati e flussi di dati
  • I confini di fiducia indicano dove cambia il livello di fiducia e dove si trovano la maggior parte delle vulnerabilità
  • I flussi di dati che attraversano un confine sono il punto su cui concentrarsi nell'analisi STRIDE
  • Scelga il livello di granularità appropriato e usi diagrammi a più livelli
  • Convalidi il DFD con il team e lo mantenga aggiornato

Nella prossima lezione classificherà le minacce con gli alberi degli attacchi e darà priorità alle misure di mitigazione.

Domande Frequenti

La lezione «Diagrammi di flusso dei dati e confini di attendibilità» è gratuita?

Sì — il testo completo di «Diagrammi di flusso dei dati e confini di attendibilità» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.

Cosa imparerò in «Diagrammi di flusso dei dati e confini di attendibilità»?

Mappare come si spostano i dati e dove attraversano i confini di attendibilità. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cyber Security Academy?

Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Diagrammi di flusso dei dati e confini di attendibilità»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?

Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché il threat modeling è importante
  2. Il framework STRIDE
  3. Diagrammi di flusso dei dati e confini di attendibilità
  4. Alberi degli attacchi e definizione delle priorità dei rischi
← Torna a Cyber Security Academy