Diventa Autore per CoreTech | Scopri di più
10/03/22 CoreTech Blog
Il termine sicurezza continua nel contesto della sicurezza delle applicazioni Web è meglio compreso se abbinato a termini ben noti integrazione continua e distribuzione continua (CI/CD). Sicurezza continua significa che la sicurezza è parte di un processo continuo: DevSecOps o, ancora meglio, SecDevOps .
Ciò che rende leggermente confuso il termine sicurezza continua è il fatto che la parola continua può avere diversi significati nel contesto della sicurezza informatica. La definizione del dizionario di continuo sta formando un tutto ininterrotto; senza interruzioni. Pertanto, nello spazio della sicurezza delle applicazioni Web, il termine sicurezza continua è spesso associato a soluzioni di sicurezza in tempo reale e sistemi di monitoraggio continuo come i firewall delle applicazioni Web (WAF) e l'autoprotezione delle applicazioni runtime (RASP), progettati per la mitigazione dei rischi esistenti per la sicurezza delle informazioni.
Tuttavia, per proteggere le tue app Web da hacker malintenzionati, non puoi fare affidamento solo su attività in tempo reale. Per evitare attacchi informatici e violazioni dei dati, devi conoscere la tua superficie di attacco ed eliminare i problemi che creano rischi per la sicurezza delle informazioni in primo luogo, non solo mitigandoli. Ciò comporta l'utilizzo di uno scanner di sicurezza per scoprire vulnerabilità note come SQL injection e cross-site scripting (XSS) , nonché configurazioni errate . I test devono quindi essere seguiti da un'efficiente gestione delle vulnerabilità, correzione e convalida.
Ovviamente non ha senso eseguire la scansione delle applicazioni web 24 ore al giorno. Pertanto, la parola continuo nel senso di test di sicurezza delle applicazioni Web, proprio come nel caso di integrazione continua e distribuzione continua, significa che la sicurezza è intrecciata all'interno dell'intero ciclo di vita dello sviluppo del software (SDLC) e non solo una scansione di vulnerabilità una tantum per problemi di sicurezza appena prima del rilascio.
Per comprendere la sicurezza continua, è meglio confrontare le pratiche di sviluppo odierne con le metodologie di progetto legacy e guardare l'evoluzione della garanzia della qualità e dei test del software in generale.
Nelle metodologie legacy come la cascata, c'è una fase dedicata al test del software. In questa fase, vengono progettati i test, quindi eseguiti manualmente. Eventuali errori rilevati vengono quindi corretti dagli sviluppatori. I test di sicurezza nelle metodologie legacy fanno spesso parte della fase di test manuale e implicano solo test di penetrazione manuale.
Con il passaggio a metodologie agili, il test del software diventa parte del ciclo di vita dello sviluppo del software. Qualsiasi funzionalità nuova o aggiornata viene sviluppata e quindi testata immediatamente dopo. Tuttavia, affinché ciò sia possibile, i test non possono più essere manuali. Le aziende devono automatizzare i processi di garanzia della qualità del software con l'uso di strumenti come Selenium.
Sfortunatamente, i controlli di sicurezza vengono spesso lasciati indietro e trattati come nelle metodologie precedenti. I test di sicurezza vengono spesso eseguiti manualmente dai tester della penna prima della fase di rilascio invece di diventare parte dell'automazione, anche se le moderne applicazioni di scansione della sicurezza di oggi sono adatte per l'integrazione. In tali configurazioni non propriamente agili, i team di sicurezza sono tenuti in silos lontani dai team di sviluppo.
È solo con l'introduzione di soluzioni che supportano la sicurezza continua che lo sviluppo del software può diventare veramente agile. Tuttavia, a causa di un gran numero di falsi positivi, che richiedono la gestione manuale e il nuovo test delle vulnerabilità di sicurezza, la maggior parte delle soluzioni presumibilmente progettate per la sicurezza continua (come gli strumenti SAST) rendono difficile ottenere una vera automazione.
Per beneficiare di una sicurezza continua, è necessaria una moderna soluzione per la sicurezza delle applicazioni Web, non solo un semplice scanner di vulnerabilità.