Che cos’è l’IAST (Interactive Application Security Testing)?
L’Interactive Application Security Testing (IAST) è un metodo che combina SAST (Static Application Security Testing) e DAST (Dynamic Application Security Testing) per trovare le vulnerabilità delle applicazioni in modo più efficace.
Le caratteristiche dell’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 all’IAST di controllare l’esecuzione del codice, gli input degli utenti e come l’app gestisce i dati in tempo reale.
- L’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à.
- L’IAST è tipicamente implementato in ambienti di QA o staging dove vengono eseguiti test funzionali automatici o manuali.
Perché l’IAST è importante nella cybersecurity
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 si manifestano solo durante il 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ù dettagliati sulle fonti e sui percorsi delle vulnerabilità.
- Miglioramento dell’accuratezza del rilevamento rispetto a SAST o DAST da soli.
- Riduzione dei falsi positivi correlando l’attività del 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 osservare il suo 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 ai sviluppatori risultati azionabili e indicazioni di rimedio 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 rapporto di vulnerabilità e passaggi azionabili per risolvere i problemi di sicurezza.
Termini Correlati
- SAST (Test di Sicurezza delle Applicazioni Statiche)
- DAST (Test di Sicurezza delle Applicazioni Dinamiche)
- SCA (Analisi della Composizione del Software)
- Test di Sicurezza delle Applicazioni
- ASPM (Gestione della Postura di Sicurezza delle Applicazioni)