La sicurezza informatica non è solo un’attività di risoluzione di problemi. Lo sviluppo di software sicuro aumenta la garanzia di un blocco preventivo delle principali falle di sicurezza, riducendo i costi futuri e/o la necessità di interventi a posteriori. È indispensabile soprattutto per le software house e in generale per tutte le aziende che sviluppano internamente applicativi e soluzioni IT.
La sicurezza informatica deve necessariamente essere considerata già dalle prime fasi di progettazione e sviluppo Software. Questo permette di affrontare il problema direttamente alla fonte e contrastare le vulnerabilità (bug), spesso inconsapevolmente introdotte in un’applicazione durante il suo sviluppo. Una parte significativa delle vulnerabilità, infatti, può essere contrastata all’origine, attraverso la progettazione e lo sviluppo di software sicuro come premessa.
Software sicuro per la PA
L’Agenzia per l’Italia Digitale (Agid) è l’agenzia tecnica che coordina le amministrazioni nell’attuazione del Piano per l’informatica della Pubblica amministrazione.
Lo scorso 6 maggio AgID ha aggiornato le linee guida per lo sviluppo SW sottolineando l’attenzione che l’ente pone alla cybersecurity dando così alla PA la possibilità di agire sugli adeguamenti tecnici e normativi.
La digitalizzazione del settore pubblico deve obbligatoriamente transitare attraverso l’adozione di pratiche comuni, in questa prospettiva AgID ha emanato le linee guida fornendo “indicazioni tecnico-amministrative per garantire, all’interno delle procedure per l’approvvigionamento di beni e servizi informatici della PA, la rispondenza di questi ad adeguati livelli di sicurezza”.
Le linee guida, pur essendo pensate per il servizio pubblico, possono essere adoperate da qualsiasi azienda privata interessata alla messa in sicurezza dei propri processi di sviluppo software.
La sicurezza informatica riveste ruolo primario in termini di disponibilità, integrità e riservatezza delle informazioni (vedi rif. RID ISO 27001).
I concetti principali delle linee guida AgID
Attraverso le linee guida si evidenzia la necessità di meglio formalizzare e strutturare il rapporto con i fornitori e tutti gli attori coinvolti nel processo in termini di:
- stabilire un linguaggio comune;
- condividere obiettivi di sicurezza;
- rendere più efficienti le clausole dei contratti;
- evidenziare problematiche della sicurezza nel procurement ICT;
- fornire good practices o soluzioni già in essere o semplici misure da implementare.
Le linee guida promosse dall’Agenzia sono 4, si tratta di una serie di consigli che AgID ha messo insieme a partire dal 2017:
- Allegato 1- Linee Guida per l’adozione di un ciclo di sviluppo di software sicuro;
- Allegato 2 – Linee Guida per lo sviluppo sicuro di codice;
- Allegato 3 – Linee Guida per la configurazione per adeguare la sicurezza del software di base;
- Allegato 4 – Linee Guida per la modellazione delle minacce e individuazione delle azioni di mitigazione conformi ai principi del Secure/Privacy by Design.
- Ciclo di sviluppo software sicuro
Il primo allegato si pone lo scopo di fornire le linee guida per intraprendere un processo di sviluppo del software “sicuro”, nel corso di tutte le fasi del Software Development Life Cycle (SDLC) attraverso l’identificazione e l’implementazione di opportune azioni di sicurezza.
Particolarmente importante in questo allegato è il riferimento agli standard definiti dalla comunità OWASP (Open Web Application Security Project, progetto open-source che ha l’obiettivo di realizzare linee guida, strumenti e metodologie per migliorare la sicurezza delle applicazioni).
- Sviluppo sicuro di codice
Il secondo allegato si pone lo scopo di supportare, attraverso adeguate linee guida, lo sviluppo di applicazioni software sicure. Sono contenute un insieme di best practices da seguire fornendo alcune contromisure da adottare.
Inoltre, il documento elenca le principali vulnerabilità derivanti dagli errori di programmazione più comuni:
- input validation;
- file inclusion;
- insecure deserialization;
- cross-site scripting;
- directory traversal;
- SQL injection;
- session stealing/hijacking.
(fonte di riferimento della presente linea guida è data da OWASP).
- Configurazione di sicurezza del software di base
Il terzo allegato è dedicato all’individuazione e definizione di alcune best practices per la configurazione sicura del Sistema Operativo (OS), dei principali applicativi, protezioni perimetrali (fisiche e logiche), le architetture di rete, etc…
- Modellazione delle minacce e azioni di mitigazione
L’ultimo allegato si pone l’obiettivo di analizzare il contesto della progettazione di applicazioni sicure, con l’obiettivo di fornire linee guida per la modellazione delle minacce e la conseguente individuazione di azioni di mitigazione concentrandosi sugli aspetti di governance, project e process management.
Fonti:
ISO 27001 – Sistema di Gestione della Sicurezza delle Informazioni
Linee guida del Software Sicuro (AgID): https://www.agid.gov.it/it/linee-guida