Security Testing: l’approccio Risk Driven di CAST

By on
 

Le modalità e le tecniche da mettere in campo per eseguire il Security Test, nonché il livello di profondità ed estensione dei test, dipendono dal livello di rischio associato sia alle informazioni gestite dal sistema, sia al Business Process (BP) che l’applicazione concorre ad erogare.

Obiettivo principale del test di sicurezza è di verificare e assicurare che:

  • Verificare che i rischi di sicurezza e privacy siano stati identificati, valutati ed indirizzati appropriatamente secondo le normative di riferimento, in appositi “Requisiti di Sicurezza e Privacy” secondo il paradigma security by design/security by default ;
  • Le infrastrutture di sicurezza applicate per la salvaguardia dell’erogazione del servizio e delle informazioni alle quali esso accede non siano eluse, alterate o modificate;
  • Le applicazioni software non contengano vulnerabilità intrinseche sfruttabili da hacker e/o da attacchi esterni;
  • I rischi per l’applicazione, i dati ad essa relativi e il BP, siano rispondenti a quanto previsto nei Requisiti di Sicurezza.

Riapplicando il Security Test ad un generico modello di Ciclo di Vita del Software vediamo quali sono le attività da eseguirsi per le verifiche di cui ai punti precedenti:

Schematizzazione di un tipico Secure-SDLC

                                                                                                                 Schematizzazione di un tipico Secure-SDLC

La OWASP Testing Guide da sempre, indica le seguenti attività come i cardini del Testing Framework proposto:

  • Manual Inspections & Reviews
  • Threat Modeling
  • Code Review
  • Penetration Testing

OWASP Testing Guide

Owasp Testing Guida:SDLC Testing Framework

Le Manual Inspections & Reviews o Audit, seppur influenzate dalla conoscenza e dall’esperienza degli auditor hanno una loro rilevanza, non tanto nella capacità di individuare più o meno vulnerabilità, ma nella loro capacità di verificare quale Secure SDLC sia applicabile e di come questo si adatti ad eventuali compliance richieste.

Le funzionalità di CAST MRI, durante le fasi di onboarding e analisi del codice, svolgono puntualmente queste attività rilasciando, tra le altre cose, lo schema architetturale dell’applicazione consentendo sia l’individuazione degli skill necessari ad un corretto security test, sia ridocumentando effettivamente il software analizzato.

Il Threat Modeling è un approccio sistematico per identificare e quantificare le minacce per un’applicazione con l’obiettivo di gestire e minimizzarne i rischi: anticipare detta attività all’interno di qualunque Secure SDLC consente l’abbattimento dei costi di gestione dei rischi applicativi.

Tale approccio, che va rivisto periodicamente, è contenuto in tutti gli standard di sicurezza, ed include:

  • scomposizione dell’applicazione per comprenderne le funzionalità, i suoi asset tecnologici, le sue connessioni, anche tramite un’ispezione del codice;
  • definizione e classificazione degli asset al fine di ordinarli per importanza rispetto al business che concorrono ad erogare;
  • individuazione delle potenziali vulnerabilità che siano tecniche, operative o gestionali;
  • individuazione delle potenziali minacce tramite lo sviluppo di uno scenario realistico di attacco e di minacce, ad esempio utilizzando tecniche di attack tree;
  • definizione di strategie per mitigare l’impatto di ciascuna minaccia che si stimi possibile tramite controlli specifici

L’analisi dell’applicazione effettuata da CAST MRI di fatto veicola il Threat Modeling individuando i confini effettivi dell’applicazione, le componenti software che la compongono, le vulnerabilità esistenti e, grazie alla knowledge base disponibile le relative modalità di risoluzione, mitigando così il rischio complessivo. 

La Source Code Review è il processo di ricerca, all’interno di una applicazione di problemi di sicurezza. Molte delle vulnerabilità di sicurezza, anche serie, non possono essere individuate se non con questo tipo di attività.

La stragrande maggioranza dei problemi di sicurezza sono correlati a cattive practices di programmazione, o all’infrastruttura applicativa, incluse le componenti open source, o all’uso involontario di paradigmi di codifica sono, de facto, estremamente difficili da rilevare con altre tecniche di analisi o con un penetration testing.

Il risultato della Source Code Review è “de facto” un assessment statico delle vulnerabilità dell’applicazione con considerazione sia di tipo quantitativo (indicatori di rischiosità, metriche, ecc.) sia di tipo puntuale con l’individuazione di tutte i punti del codice in cui è presente una vulnerabilità potenziale.

Questa tecnica che ha un approccio di tipo Risk Driven, deve essere effettuata tramite strumenti automatici che abbiano una estrema efficienza e consentano di determinare gli esatti punti di impatto delle vulnerabilità all’interno del codice.

Tali strumenti sono supporto fondamentale nelle attività di sviluppo e remediation riducendo al massimo tempi e costi di risoluzione.

Gli analizzatori CAST MRI grazie anche alle oltre 350 estensioni sono in grado di coprire la stragrande maggioranza delle tecnologie esistenti: questo consente a CAST MRI di essere una tra le migliori tecnologie a supporto delle attività di Source Code Review.

Questi analizzatori così dedicati sono fondamentali, in quanto consentono l’abbattimento dei falsi positivi rilevati e la capacità di analisi delle vulnerabilità intrinseche di framework e librerie utilizzate.

È inoltre possibile sviluppare estensioni out of the box per eventuali tecnologie proprietarie non coperte.