Quanto è sicuro il ciclo di sviluppo del software aziendale? Attorno a questa fondamentale domanda ruota il Webinar cui hanno preso parte Alessio Pennasilico, Information & Cyber Security Advisor Partners4Innovation, Michele Slocovich, Solution Design Director CAST Italia e Marco Bessi, Solution Design Manager CAST Italia.
“I cyber attack continuano ad aumentare – ha esordito Pennasilico indicando alcuni dati del recente rapporto Clusit – nel primo semestre del 2018 si è verificato un quantitativo di incidenti che è pari al 10% di tutti quelli accaduti tra il 2011 e il 2018 [nel rapporto Clusit si legge che gli attacchi noti relativi ai primi sei mesi del 2018 sono stati 730, nell’intero 2015 sono stati 1.012, nel 2016 1.1050 e nel 2017 1.127, ndr]. Ciò significa che va aumentando l’efficacia delle azioni degli attaccanti. Del resto, ormai è noto che la criminalità organizzata si è impegnata anche in quest’ambito sapendo che è una maniera facile di fare denaro. Ancora troppo spesso, tra l’altro, gli incidenti sono frutto di errori grossolani e l’84% degli attacchi ha come obiettivo il livello applicativo”.
Questo problema è riconducibile al fatto che si spende molto di meno nella sicurezza applicativa rispetto a ciò che si investe per la sicurezza perimetrale (l’ordine di grandezza ricordato da Pennasilico è pari a 23 ossia, si spende 23 volte di più sulla protezione del perimetro rispetto a quanto si fa per la application security).
L’importanza dello sviluppo di software sicuro
“Credo sia fondamentale diffondere la cultura in merito alla creazione di codice sicuro – ha sottolineato Pennasilico – bastano pochi investimenti mirati per evitare potenziali problemi. Tra l’altro, l’importanza di tale attenzione non serve che sia trasmessa solo al singolo sviluppatore, l’obiettivo sicurezza deve essere ben presente nell’intero ciclo di sviluppo, le librerie devono essere certificate così come l’intera filiera di fornitura garantita e protetta”.
Il concetto stesso di privacy-by-design, introdotto per legge con l’entrata in vigore del GDPR, sottolinea l’importanza di una prassi che avrebbe dovuto già essere interiorizzata: la prevenzione adottata come comportamento fondamentale contro la materializzazione dei rischi.
“I problemi principali di sicurezza a livello di software sono tre – ha sottolineato – oltre alla lacuna culturale, vi sono quelli relativi al design architetturale anche dal punto di vista dell’orchestrazione di diverse componenti e, infine, quelli di implementazione e configurazione. A questo proposito, CAST è pioniere nella Software Intelligence, ossia nella disciplina dell’analisi del codice che consente l’estrazione di indicatori che permettono di indirizzare e orchestrare il ciclo di vita del software”.
Più nello specifico, la società è focalizzata sulla sicurezza del codice sorgente.
“Proprio nella logica della prevenzione di cui si è detto, è fondamentale – ha spiegato Slocovich – riuscire a vedere l’applicazione prima di entrare in produzione. Questo vale naturalmente anche per valutare il software che viene dato da un fornitore, così come per capire cosa stanno facendo gli sviluppatori in house o di terze parti. Tra l’altro, la proposta CAST si è rilevata essere particolarmente accurata nell’individuare elementi rischiosi isolandoli dai ‘rumori di fondo’ (spesso infatti si trovano configurazioni che potrebbero sembrare dannose, ma invece alla prova dei fatti non lo sono)”.
Il problema dei falsi positivi è importante tanto quanto quello dei falsi negativi, perché paralizzano la gestione, segnalano troppe cose da controllare… CAST, in quest’ambito, si serve di meccanismi di prioritizzazione che permettono di identificare, e poi focalizzarsi, sugli snodi soggetti alla maggiore esposizione a rischi.
“Più nello specifico – ha aggiunto Bessi – CAST è in grado di identificare le vulnerabilità che riguardano le parti di codice che sono effettivamente utilizzate e questo, naturalmente, concorre a evitare i falsi positivi”.
“Adottare una soluzione di questo tipo – è intervenuto Pennasilico, tornando a puntare l’attenzione sul GDPR e, in particolare, sul principio di accountability (capacità di mostrare come ci si è occupati della sicurezza) da questo regolamento chiaramente identificato – consente di dimostrare che ci si è impegnati sulle applicazioni e sulla sicurezza dei dati che esse adoperano. Usare questa tipologia di soluzioni prima di mandare un servizio in produzione significa poter dimostrare che sono stati impostati certi livelli di tolleranza con metodi scientifici”.
Gli ambiti di utilizzo della tecnologia CAST
La tecnologia CAST permette di effettuare un’analisi strutturale del software; ciò significa che prima di vedere cosa c’è nel codice nuovo, appena scritto, essa compie un monitoraggio delle relazioni tra i componenti del software stesso. Lo scan del codice a livello di sistema offre proprio la possibilità di ricostruire l’architettura, di mappare tutta la filiera di interazione tra il front-end e i dati e lungo ciascuno di questi percorsi viene fatta l’analisi di sicurezza.
Altro ambito di utilizzo della tecnologia dell’azienda è quello del governo delle architetture complesse, basti pensare ai micro servizi e alle componenti riutilizzabili: paradossalmente su un singolo componente è facile fare sicurezza, quando sono diversi è più difficile capire chi parla con cosa.
La baseline di sicurezza permette di capire dove ci si trova, dove si sta andando, di non implementare determinati servizi perché risulta evidente che son potenzialmente dannosi, ma soprattutto dà i parametri da inserire nei contratti di fornitura. A questo proposito, sfruttare indicazioni condivise, che fanno riferimento a standard noti e conosciuti (CISQ, OWASP e così via) significa poterle scrivere nei contratti di Service Level Agreement ed utilizzarle, ad esempio, per il monitoraggio nel tempo del funzionamento delle applicazion.
“Non dimentichiamo – ha proseguito Slocovich – che CAST è partita dalla sicurezza del dato, credo sia importante parlare di database security, perché proprio nei database c’è molto codice e, soprattutto, una sovrapposizione di pratiche spesso non moderne”.
“Mediante la software intelligence CAST – ha concluso Bessi – è immediato recuperare le transazioni complete (che attraversano anche strati applicativi diversi), anche quelle di cui non si era tenuta traccia nelle documentazioni conservate, per poi capire come fare attività di remediation,. In pratica, tutti i dati raccolti sono riportati nella Security Dashboard da cui partire per capire quali azioni sono necessarie”.
CAST supporta tutti i principali linguaggi e framework il che garantisce di tenere traccia, come si diceva, di tutti i collegamenti perché ciascun servizio sia fruibile in maniera sicura in diversi ambienti. La tecnologia CAST può essere introdotta in qualsiasi tipologia di ciclo di sviluppo (Agile, Waterfall, DevOps, DevSecOps).