| Undefined

La sicurezza delle applicazioni è diventata una priorità fondamentale per le organizzazioni di tutto il mondo. Con l’aumento delle minacce informatiche, è essenziale adottare approcci efficaci per garantire che le applicazioni siano sicure e resilienti. In questo articolo, esploreremo i principali metodi di verifica della sicurezza delle applicazioni e come la normativa DORA (Digital Operational Resilience Act) si inserisce in questo contesto.

La sicurezza informatica nel ciclo di sviluppo del software

La sicurezza informatica deve essere un punto cruciale nel processo di sviluppo del codice software. Prestare attenzione alla sicurezza informatica in fase di sviluppo è importante per ridurre al minimo le vulnerabilità, legate a possibili errori di programmazione, che possono essere sfruttate dai sempre più efficaci ed in costante aumento attacchi informatici, ma anche inficiare la qualità del prodotto finale. Proteggere il codice e i dati gestiti dall’applicativo in sviluppo nonché garantire i parametri di protezione della sicurezza informatica (integrità, riservatezza e autenticazione) devono rappresentare gli obiettivi principali della sicurezza software. Il costo per la correzione di una vulnerabilità o errore è tanto più alto quanto più tardi viene rilevato nel ciclo di vita. Per tale motivo i requisiti di sicurezza andrebbero acquisiti e verificati prima dello sviluppo e messa in produzione. Un test pianificato, verificando la completezza e la coerenza delle funzioni, la qualità, la sicurezza e la funzionalità del software, può aiutare infatti ad individuare eventuali anomalie quando il costo per la correzione non incide ancora in modo significativo.

Approcci alla verifica della sicurezza delle applicazioni

Esistono diversi approcci per la verifica della sicurezza delle applicazioni, ognuno con le proprie caratteristiche e vantaggi.

Static Application Security Testing (SAST): Questo metodo analizza il codice sorgente dell’applicazione senza eseguirlo. Identifica vulnerabilità come errori di programmazione e problemi di sicurezza. Uno dei principali vantaggi del SAST è che può essere eseguito presto nel ciclo di sviluppo del software, permettendo di individuare e correggere i problemi prima che l’applicazione venga distribuita. Tuttavia, il SAST non rileva problemi che emergono solo durante l’esecuzione dell’applicazione.

Dynamic Application Security Testing (DAST): A differenza del SAST, il DAST analizza l’applicazione mentre è in esecuzione. Simula attacchi esterni per identificare vulnerabilità che potrebbero essere sfruttate da un attaccante. Questo approccio è particolarmente utile per rilevare problemi che emergono solo durante l’esecuzione dell’applicazione. Tuttavia, può essere difficile individuare l’esatta linea di codice da correggere, rendendo la risoluzione dei problemi più complessa.

Interactive Application Security Testing (IAST): Gli strumenti Interactive Application Security Testing (IAST) sono sviluppati per risolvere i difetti degli strumenti SAST e DAST combinando i due approcci. Sono dinamici e identificano i problemi durante il funzionamento, come il DAST, ma vengono eseguiti dall’interno del server applicativo e valutano il codice come il SAST. Gli strumenti IAST vengono impiegati durante la fase di test e Quality Assurance del ciclo di vita dello sviluppo del software https://www.humanwareonline.com/wordpress/?p=7947. Gli strumenti IAST vengono utilizzati in modo più efficace in ambienti Quality Assurance con test funzionali automatizzati e come complemento ad altri strumenti. Sebbene la combinazione delle funzionalità SAST e DAST consenta risultati più accurati con l’identificazione di una più ampia gamma di vulnerabilità e fornisca risultati in tempo reale tali strumenti essendo proprietari, creano dipendenza dal fornitore per il supporto.

Runtime Application Self Protection (RASP): RASP è l’evoluzione degli strumenti SAST, DAST e IAST. Gli strumenti Runtime Application Self Protection si integrano con le applicazioni e analizzano il traffico e il comportamento dell’utente finale in fase di esecuzione per prevenire gli attacchi. Questi strumenti vengono utilizzati dopo il rilascio del prodotto, quindi sono più focalizzati sulla sicurezza che sui test. Anche se il RASP può essere utilizzato solo in produzione i vantaggi includono controlli di sicurezza continui, visibilità a livello di codice per una maggiore protezione, un registro delle attività per l’analisi e l’indipendenza dalla lingua o dalla piattaforma.

Software Composition Analysis (SCA): Questo metodo analizza le dipendenze del software per identificare vulnerabilità note nei componenti di terze parti. Con l’aumento dell’uso di librerie e framework open source, lo SCA è diventato essenziale per gestire i rischi associati a componenti di terze parti. Tuttavia, lo SCA non rileva vulnerabilità nel codice personalizzato sviluppato internamente.

Penetration Testing (Pen Test): Il Pen Test simula attacchi reali per identificare vulnerabilità nell’applicazione. Può essere eseguito manualmente da esperti di sicurezza o automaticamente utilizzando strumenti specializzati. Questo metodo fornisce una valutazione approfondita della sicurezza dell’applicazione, ma può essere costoso e richiedere tempo.

La normativa DORA e contesto

La normativa DORA (Digital Operational Resilience Act, https://www.eiopa.europa.eu/digital-operational-resilience-act-dora_en) è stata introdotta per stabilire un quadro normativo vincolante per la gestione del rischio ICT nel settore finanziario. L’obiettivo principale di DORA è garantire la resilienza operativa digitale delle organizzazioni finanziarie, prevenendo e mitigando le minacce informatiche.

DORA richiede alle organizzazioni finanziarie di adottare misure adeguate per proteggere i loro sistemi e dati da attacchi informatici. Questo include l’implementazione di controlli di sicurezza, la conduzione di test di resilienza e la gestione delle vulnerabilità. Inoltre, DORA promuove la collaborazione tra le autorità di regolamentazione e le organizzazioni finanziarie per migliorare la sicurezza complessiva del settore. Tra gli altri controlli, DORA richiede esplicitamente l’esecuzione di specifiche verifiche di controllo sul codice, nello specifico almeno delle componenti SAST e DAST, stimolando le aziende ad ulteriormente rafforzare la protezione delle proprie applicazioni critiche.

In conclusione, la verifica della sicurezza delle applicazioni è un processo cruciale per garantire la protezione delle informazioni e la resilienza operativa. L’adozione di approcci come SAST, DAST, SCA e Pen Test, insieme al rispetto della normativa DORA, può aiutare le organizzazioni a mantenere un elevato livello di sicurezza e a proteggere i propri sistemi dalle minacce informatiche.

Anche nella fase di post consegna i test periodici possono essere utili. Infatti possono prevenire gli esiti di eventuali nuove vulnerabilità e tecniche di attacco e monitorare la funzionalità applicativa in seguito a cambiamenti significativi del prodotto consegnato.

Hai qualche domanda?

Inviaci un messaggio