Cos'è il test dinamico di sicurezza delle applicazioni (DAST)?

Autori

Annie Badman

Staff Writer

IBM Think

Amber Forrest

Staff Editor | Senior Inbound, Social & Digital Content Strategist

IBM Think

Cos'è il DAST?

Il test dinamico di sicurezza delle applicazioni (DAST) è un metodo di test della cybersecurity utilizzato per identificare vulnerabilità e configurazioni errate nelle applicazioni web, nelle API e, più recentemente, nelle app mobili.

Rispetto ad altri tipi di test sulla sicurezza delle applicazioni (AppSec), il DAST si distingue per il suo approccio outside-in. Mentre altri strumenti richiedono il codice sorgente e l'accesso interno all'applicazione per valutare le vulnerabilità della sicurezza, DAST testa le applicazioni nel loro ambiente di runtime dall'esterno, utilizzando attacchi simulati per imitare i soggetti malintenzionati. Per questo motivo, il DAST viene talvolta chiamato test outside-in o test black box, un metodo di test in cui i sistemi vengono esaminati senza che il tester debba accedere, analizzare o persino conoscere il funzionamento del sistema interno.

Le ultime notizie nel campo della tecnologia, supportate dalle analisi degli esperti

Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e altro con la newsletter Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Perché il DAST è importante

Gli sviluppatori moderni lavorano rapidamente, spesso aggiornando aree di codice specifiche più volte al giorno, senza una visione completa dell'intero codice. Si affidano molto a componenti di terze parti e open source e spesso faticano a collaborare in modo efficace con i team addetti alla sicurezza. La maggior parte lavora anche su applicazioni sempre più complesse, con numerose funzionalità, librerie e dipendenze, il tutto gestendo minacce di cybersecurity in continua evoluzione.

Il risultato è una superficie di vulnerabilità della sicurezza in costante aumento, che aumenta la difficoltà di scrivere codice sicuro e proteggere le informazioni sensibili dalle violazioni dei dati. Gli sviluppatori necessitano di modi per testare potenziali vulnerabilità mentre lavorano, senza compromettere la loro produttività.

DAST aiuta a rendere possibile tutto questo automatizzando il processo di test di sicurezza. Funziona imitando le azioni degli hacker reali, lavorando dall'esterno per scoprire potenziali vulnerabilità nelle applicazioni in esecuzione. Il DAST consente agli sviluppatori di testare il proprio codice e di vedere l'impatto sulla sicurezza complessiva dell'applicazione prima che venga messa in funzione ed eccelle nell'individuare i problemi di sicurezza, come gli errori di autenticazione e le vulnerabilità del codice, che spesso sfuggono ad altri metodi di test, come la Software Composition Analysis (SCA).

I moderni strumenti DAST (vedi sotto) si integrano perfettamente anche nelle pipeline DevOps e CI/CD per offrire interfacce per tutte le fasi dello sviluppo, anche nelle prime fasi del workflow di sviluppo delle applicazioni.

Le integrazioni di build e implementazione sono una delle ragioni per cui i team DevOps adottano comunemente il DAST negli ambienti DevOps/DevSecOps come parte di un approccio "shift left", in cui i test vengono eseguiti nelle prime fasi del ciclo di vita dello sviluppo del software (SDLC) per una correzione più economica e rapida. Altri principi DevOps rafforzati dagli strumenti DAST includono la priorità dell'automazione, della collaborazione e del feedback continuo in modo che gli sviluppatori e i team addetti alla sicurezza possano rimanere agili e produttivi senza compromettere la sicurezza.

Mixture of Experts | 28 agosto, episodio 70

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Come funziona il DAST?

Adottando un approccio black box, il DAST emula le azioni che un criminale informatico potrebbe intraprendere quando tenta di violare un'applicazione web.

In generale, il DAST prevede le seguenti cinque fasi:

Scansione

Come primo passo, gli scanner DAST simulano le interazioni degli utenti con l'applicazione in esecuzione inviando varie richieste HTTP. Questa mappatura identifica tutte le pagine, i collegamenti, le funzioni (per le applicazioni web a pagina singola) e i punti di ingresso, così come definiti nei test API tramite un documento di definizione API.

Analisi

Via via che le richieste vengono inviate, lo strumento DAST inizia ad analizzare le risposte dell'applicazione, cercando anomalie, messaggi di errore e comportamenti imprevisti che potrebbero indicare una vulnerabilità dell'applicazione web. Quando la scansione DAST rileva una potenziale vulnerabilità, ne registra la posizione e la risposta per riferimento futuro, consentendo di eseguire test manuali, se necessario.

Simulazione dell'attacco

Gli strumenti DAST iniziano anche a imitare attacchi comuni come SQL injection, Cross-Site Scripting (XSS) e Cross-Site Request Forgery (CSRF) per individuare vulnerabilità di sicurezza, come configurazioni errate, esposizioni di dati e problemi di autenticazione, che i criminali informatici potrebbero utilizzare.

Reportistica

Dopo l'analisi e gli attacchi simulati, gli strumenti DAST producono report che delineano le vulnerabilità identificate, la loro gravità e i potenziali scenari di attacco per guidare gli sviluppatori e i team di sicurezza. È importante considerare che le soluzioni DAST si concentrano esclusivamente sull'identificazione dei problemi di sicurezza e lasciano qualsiasi correzione ai team di sviluppo.

Risoluzione dei falsi positivi

Gli strumenti DAST possono occasionalmente produrre falsi positivi, segnalando erroneamente qualcosa come una vulnerabilità. Quando ciò accade, è spesso necessario che una persona si occupi della convalida e della definizione della priorità.

Tipi di strumenti DAST

Sebbene gli strumenti di test DAST non abbiano sottotipi ufficiali, gli esperti di sicurezza li classificano spesso in due gruppi informali: strumenti DAST moderni e strumenti DAST legacy, che si distinguono principalmente per l'automazione/integrazione e la convalida delle vulnerabilità.

DAST legacy

Gli strumenti DAST legacy spesso mancano di funzionalità di automazione, sebbene il loro processo di scansione sia automatizzato. In genere si concentrano sui test di base, ovvero l'invio di richieste, la ricezione di risposte e l'esecuzione di valutazioni preliminari, e non offrono una convalida completa delle vulnerabilità, bensì solo elenchi di potenziali problemi di sicurezza.

DAST moderno

I moderni strumenti DAST hanno un grado di automazione più elevato e offrono una revisione più approfondita della vulnerabilità delle applicazioni web.

Le soluzioni DAST moderne possono integrarsi perfettamente nell'SDLC e funzionare in modo trasparente in background. Inoltre, i server di automazione possono attivare gli strumenti DAST moderni e presentare i risultati della scansione come ticket nel tracker dei problemi degli sviluppatori. Alcuni strumenti DAST moderni forniscono persino la prova dello sfruttamento, eliminando la necessità di una verifica manuale da parte di penetration tester o esperti di sicurezza, che richiede molto tempo.

Pro e contro del DAST

Il DAST è spesso considerato una parte fondamentale dei test di sicurezza delle applicazioni web. Alcuni dei suoi vantaggi esclusivi includono:

  • Versatilità. Gli utenti possono implementare il DAST in varie fasi del ciclo di vita dello sviluppo software: il DAST può testare le applicazioni web in esecuzione e le applicazioni che sono già state distribuite senza modifiche, facilitando la valutazione dei sistemi legacy.
  • Automazione. Gli strumenti DAST si integrano facilmente nelle pipeline DevOps e CI/CD, rendendo possibile l'esecuzione di test di sicurezza automatizzati nelle prime fasi del processo di sviluppo e riducendo significativamente i costi di correzione.
  • Indipendenza dal linguaggio. Poiché il DAST funziona in modalità outside-in, non dipende dal linguaggio di programmazione utilizzato nell'applicazione e può funzionare su diversi framework. Il DAST testa efficacemente sia le interfacce web che le API, emulando il modo in cui gli aggressori individuano le vulnerabilità.
  • Meno falsi positivi. Il DAST in genere produce meno falsi positivi e negativi quando simula le azioni dell'utente rispetto ad altri metodi, come il SAST.
  • Test realistici e ripetibili. Poiché emula il comportamento degli hacker nel mondo reale, il DAST è una soluzione pratica per identificare le vulnerabilità che i soggetti malintenzionati possono sfruttare. Il DAST offre anche il vantaggio di test ripetibili, consentendo una valutazione continua delle vulnerabilità man mano che le applicazioni si evolvono.
  • Rilevamento completo delle vulnerabilità. Il DAST è in grado di rilevare un'ampia gamma di vulnerabilità, tra cui SQL injection, XSS e configurazioni errate.
  • Allineamento agli standard del settore. Le aziende utilizzano spesso il DAST per aderire agli standard di settore e fornire assistenza nella rendicontazione normativa, come la conformità PCI. Molte aziende utilizzano l'elenco OWASP Top 10 come benchmark per la conformità per i rischi di sicurezza delle applicazioni.

Nonostante questi numerosi benefici, il DAST può avere dei limiti. Sebbene il DAST sia in grado di identificare i difetti di sicurezza nell'esecuzione delle applicazioni, potrebbe non rilevare tutte le vulnerabilità, in particolare quelle che richiedono sequenze di azioni specifiche. La combinazione del DAST con altri metodi, come il test statico di sicurezza delle applicazioni (SAST, vedi sotto), il test interattivo di sicurezza delle applicazioni (IAST), l'analisi della composizione del software (SCA)e i test di penetrazione manuali, può aiutare a completare il DAST e offrire un programma di sicurezza più completo.

Altri limiti del DAST possono includere:

  • Focus sul codice eseguibile.  Poiché il DAST testa principalmente parti di applicazioni web che sono già state implementate (ovvero codice già eseguibile), può tralasciare sezioni ancora in fase di sviluppo.
  • Problemi di autenticazione. Il DAST può essere meno efficace con autenticazioni non standard e logiche aziendali complesse, tuttavia gli strumenti DAST professionali includono moduli guida per queste situazioni.
  • Impatto operativo. Senza un'adeguata messa a punto, il test DAST può influenzare il normale funzionamento dell'applicazione ed eventualmente introdurre dati campione o rallentare l'applicazione. Di conseguenza, molti eseguono DAST in ambienti di staging o cloni di produzione, piuttosto che in quelli di produzione reale.

DAST e SAST a confronto

Il DAST e il SAST, o test statico di sicurezza delle applicazioni, sono due metodi di test utilizzati per identificare le vulnerabilità di sicurezza nelle applicazioni web. Ma mentre il DAST valuta le applicazioni nel loro ambiente di produzione, imitando gli attacchi di utenti malintenzionati e identificando i problemi di sicurezza, il SAST esamina il loro codice sorgente, alla ricerca di vulnerabilità all'interno dell'applicazione web.

Gli esperti di cybersecurity generalmente suggeriscono di utilizzare sia il SAST che il DAST per affrontare i rischi per la sicurezza, per avere una visione completa delle potenziali vulnerabilità. Ad esempio, esaminando il codice sorgente di un programma, gli strumenti SAST possono rilevare un'ampia gamma di vulnerabilità di sicurezza che il DAST potrebbe non rilevare, tra cui SQL injection, buffer overflow, attacchi XXE e altri rischi dell'elenco OWASP Top 10.

L'utilizzo di una metodologia SAST incoraggia inoltre i test iniziali durante lo sviluppo, riducendo la probabilità di difetti di sicurezza nel codice sorgente dell'applicazione durante le fasi successive, portando a tempi di sviluppo più brevi e a una maggiore sicurezza generale.

Soluzioni correlate
Soluzioni di sicurezza aziendale

Trasforma il tuo programma di sicurezza con le soluzioni offerte dal più grande provider di sicurezza aziendale.

Esplora le soluzioni di cybersecurity
Servizi di cybersecurity

Trasforma il tuo business e gestisci i rischi con la consulenza sulla cybersecurity, il cloud e i servizi di sicurezza gestiti.

    Scopri i servizi di sicurezza informatica
    Cybersecurity dell'intelligenza artificiale (AI)

    Migliora la velocità, l'accuratezza e la produttività dei team di sicurezza con soluzioni di cybersecurity basate sull'AI.

    Esplora la cybersecurity dell'AI
    Fai il passo successivo

    Che tu abbia bisogno di soluzioni di sicurezza dei dati, di gestione degli endpoint, o di gestione delle identità e degli accessi (IAM), i nostri esperti sono pronti a collaborare con te per farti raggiungere un solido livello di sicurezza.Trasforma il tuo business e gestisci i rischi con un leader a livello globale nel campo della consulenza per la cybersecurity, del cloud e dei servizi di sicurezza gestiti.

    Esplora le soluzioni di cybersecurity Scopri i servizi di cybersecurity