Diventa Autore per CoreTech | Scopri di più
14/07/21 CoreTech Blog
La sicurezza della tua attività non dipende solo dal tuo codice, ma dall'intera catena di approvvigionamento, che include componenti di terze parti. Più componenti di terze parti utilizzi, più è probabile che una vulnerabilità nella tua applicazione web sia il risultato di codice di terze parti, non della tua programmazione.
I giorni di software come qmail di Daniel J. Bernstein sono finiti da tempo. Quando Bernstein, un brillante matematico, ha costruito il suo popolare server di posta elettronica nel 1995, ha scritto tutto da zero, ogni singola funzione. Non ha utilizzato alcun codice di terze parti. Questo è stato l'ingegnoso approccio alla sicurezza di Bernstein, che ha funzionato molto bene: è stato riscontrato che qmail non presentava alcuna vulnerabilità di sicurezza per molto tempo.
Un approccio del genere sarebbe impossibile oggi perché impiegheresti cento volte di più per scrivere la tua applicazione web da zero. Immagina solo che i tuoi sviluppatori front-end siano bloccati senza che Angular o jQuery e gli sviluppatori back-end debbano scrivere manualmente tutte le funzioni per accedere ai database.
Da un lato, non hai alcuna garanzia che il codice di terze parti che decidi di utilizzare sia sicuro. Ogni giorno compaiono nuove vulnerabilità nei componenti open source, il che significa che devi controllare costantemente ogni componente. D'altra parte, è necessario molto tempo e fatica per tenere traccia manualmente degli aggiornamenti di sicurezza disponibili per ogni componente e sapere quando è necessario un aggiornamento del componente.
Questo è il motivo per cui è necessaria l'analisi della composizione del software (SCA).
Il concetto di analisi della composizione del software non è nuovo e il software creato appositamente per questo scopo esiste da molto tempo. Tuttavia, tale software è sempre stato statico, proprio come gli strumenti SAST.
Il modo in cui funzionano gli strumenti SCA è molto semplice. Di solito si interfacciano con i gestori di pacchetti software, che sono gli attuali ambienti di sviluppo utilizzati per importare i componenti. Controllano tutti i pacchetti software importati e confrontano tali informazioni con i database di vulnerabilità esistenti. Ad esempio, possono identificare che il tuo gestore di pacchetti importa jQuery 2.2.4 e quindi trovare CVE-2015-9251, che afferma che le versioni di jQuery precedenti alla 3.0.0 sono vulnerabili allo scripting cross-site (XSS).
Analisi dinamica della composizione del software
Un approccio dinamico a SCA è un nuovo concetto che prevede la combinazione delle capacità di IAST e SCA insieme e può identificare immediatamente tutti i componenti che utilizzi per la tua applicazione web.
SCA non ti aiuterà a trovare più vulnerabilità esistenti, ma ti proteggerà da esse in futuro. Con SCA, puoi scoprire i componenti vulnerabili anche se non utilizzi ancora le loro funzioni vulnerabili. In questo modo, puoi evitare il problema prima che si verifichi e aggiornare il componente vulnerabile a una versione sicura prima ancora di introdurre una vulnerabilità. Ciò consente di risparmiare tempo ed elimina il rischio di esporre una funzione vulnerabile nell'ambiente di produzione.
Il più grande vantaggio dell'utilizzo di SCA è che non hai bisogno di alcun software aggiuntivo, alcuna integrazione aggiuntiva, il tuo team di sicurezza non deve eseguire scansioni extra o ottenere rapporti extra: le informazioni SCA sono incluse nel tuo normale documento di scansione. Questo ti fa risparmiare tempo e denaro. Ottieni uno strumento SCA all'avanguardia come parte del tuo DAST+IAST.