Che cos’è IAST (Interactive Application Security Testing)?
Interactive Application Security Testing (IAST) è un metodo che combina Static Application Security Testing (SAST) e Dynamic Application Security Testing (DAST) per trovare le vulnerabilità delle applicazioni in modo più efficace.
Le caratteristiche di IAST includono:
- Gli strumenti IAST funzionano aggiungendo sensori o componenti di monitoraggio all’interno dell’applicazione mentre è in esecuzione. Questi strumenti osservano come si comporta l’app durante i test, siano essi automatizzati o eseguiti da persone. Questo approccio consente a IAST di controllare l’esecuzione del codice, gli input degli utenti e come l’app gestisce i dati in tempo reale.
- IAST non esegue automaticamente la scansione dell’intero codice sorgente; la sua copertura è determinata dall’ampiezza dell’applicazione esercitata durante i test. Più estesa è l’attività di test, più profonda è la copertura delle vulnerabilità.
- IAST è tipicamente implementato in ambienti di QA o staging dove vengono eseguiti test funzionali automatizzati o manuali.
Perché IAST è importante nella sicurezza informatica
SAST analizza il codice sorgente, il bytecode o i binari senza eseguire l’applicazione ed è altamente efficace nel rilevare errori di codifica, ma può produrre falsi positivi e mancare problemi specifici del runtime.
DAST testa le applicazioni dall’esterno mentre sono in esecuzione e può esporre problemi che appaiono solo a runtime, ma manca di una visibilità profonda nella logica interna o nella struttura del codice. IAST colma il divario combinando i punti di forza di queste tecniche, fornendo:
- Approfondimenti più profondi sulle fonti e sui percorsi delle vulnerabilità.
- Migliorata accuratezza di rilevamento rispetto a SAST o DAST da soli.
- Riduzione dei falsi positivi correlando l’attività runtime con l’analisi del codice.
Come Funziona IAST
- Strumentazione: IAST utilizza la strumentazione, il che significa che sensori o codice di monitoraggio sono incorporati nell’applicazione (spesso in un ambiente di QA o staging) per osservarne il comportamento durante i test.
- Monitoraggio: Osserva il flusso dei dati, l’input dell’utente e il comportamento del codice in tempo reale mentre l’applicazione viene esercitata da test o azioni manuali.
- Rilevamento: segnala vulnerabilità come configurazioni insicure, flussi di dati non sanitizzati o rischi di iniezione.
- Reportistica: Vengono forniti risultati attuabili e linee guida di rimedio agli sviluppatori per affrontare i problemi rilevati.
Esempio
Durante i test funzionali, il team di QA interagisce con il modulo di login. Lo strumento IAST rileva che l’input dell’utente fluisce in una query del database senza sanitizzazione, indicando un potenziale rischio di iniezione SQL. Il team riceve un report di vulnerabilità e passaggi attuabili per risolvere i problemi di sicurezza.

