IL VADEMECUM

Sviluppo di software in house: tre principi base per la sicurezza del codice sorgente

Analisi di sicurezza del software, gestione del codice proveniente da parti terze e gestione dei segreti sono tra i maggiori pilastri della sicurezza del codice sorgente. Vediamo a che cosa servono questi principi e quali sono le linee guida per metterli in pratica al meglio

Pubblicato il 13 Set 2023

Giulia Traverso

PhD - Crittografa ed esperta di cyber sicurezza

Sicurezza sviluppo software in house

La trasformazione digitale, o digitalizzazione, del modo di fare business pone al centro dell’attenzione lo sviluppo di applicativi e, quindi, di software. Lo sviluppo di software è infatti uno dei maggiori fattori trainanti della digitalizzazione, dove i beni di consumo sono sempre meno prodotti materiali e sempre di più servizi usufruibili tramite applicazioni scaricabili su mobile (o comunque tramite Internet) e usufruibili da remoto.

Sviluppare, aggiornare e mantenere il software che sta dietro e che rende possibili tutti questi servizi diventa quindi cruciale. Diventa di conseguenza cruciale la sicurezza del software sviluppato. Se pensiamo, ad esempio, alla digitalizzazione della pubblica amministrazione o della sanità, per forza di cose i servizi erogati tramite applicativi dovranno anche avere accesso a dati personali e, molte volte, a dati sia personali che sensibili.

Salvaguardare dunque la sicurezza degli applicativi e del codice sviluppato vuol dire, in ultima battuta, salvaguardare i dati personali e sensibili su cui tali servizi digitali poggiano.

Come possiamo dunque proteggere il software? Che cosa devono considerare gli sviluppatori quando scrivono codice? Di seguito, vedremo tre fondamentali pilastri del così detto secure SDLC, ovvero del software development lifecycle sicuro.

L’evoluzione della minaccia informatica ci insegna come combatterla

Secure code analysis: strumenti di analisi della sicurezza del codice

Testare il codice è una delle pratiche base per lo sviluppo di software di qualità, dove qui il termine “qualità” viene usato in maniera volutamente generale.

Infatti, si può testare un codice per analizzarne diversi aspetti, come l’aderenza a parametri funzionali, l’operabilità, l’efficienza, la facilità con cui un utente ci interagisca e via dicendo. Per ognuno di questi aspetti, esiste un test o delle pratiche di test volte a misurare esattamente questi parametri.

La sicurezza del codice fa parte di uno di questi aspetti da testare e validare prima che il software venga messo in produzione. E le pratiche di test in questo senso vengono chiamate appunto secure code analysis, ovvero analisi della sicurezza del codice.

Due sono i tipi di secure code analysis: Static Application Security Testing (SAST) e Dynamic Application Security Testing (DAST). SAST è un tipo di analisi del codice che si effettua appunto quando questo è “statico”, ovvero non è in esecuzione.

Si tratta di un tipo di test da effettuare dunque quando si è ancora in fase di sviluppo perché richiede l’accesso al codice sorgente. SAST rientra in quelli che vengono definiti come “white box testing”, test a scatola bianca, perché il modello di attacco è quello di un hacker che ha accesso ad informazioni interne, come appunto l’intero codice sorgente di un applicativo.

Il tipo di vulnerabilità che SAST identifica sono dunque legate alle vulnerabilità introdotte durante la scrittura del codice sorgente, come SQL injections che potrebbero compromettere la disponibilità e l’integrità dell’applicativo.

Al contrario, DAST si concentra sui sistemi in esecuzione e dunque completa quanto apportato di sopra dal SAST.

In particolare, DAST è un tipo di testing che rientra nella metodologia del “black-box” ovvero a scatola nera: in questo caso il modello di attacco è di un hacker che vede l’applicativo dal di fuori, senza quindi accesso alle informazioni di uno sviluppatore.

Per questo motivo, DAST è un tipo di test da eseguire nella fase finale dello sviluppo di un applicativo, quando cioè l’ambiente in cui lo si fa eseguire è similare all’ambiente in produzione.

Le vulnerabilità che il DAST identifica sono ad esempio il cross-site scripting (XSS), che permette ad un attaccante di iniettare del codice che viene poi eseguito dalle vittime.

Esistono vari tipi di soluzioni in commercio che offrono SAST e DAST. Uno tra tutti ad esempio è Checkmarx, che ad esempio permette un’integrazione facile del secure code analysis nella CI/CD pipeline attraverso un servizio in Cloud.

Il Cross-Site Scripting non muore mai: il perché di un evergreen

Third party code tracking: gestire il codice sorgente prodotto da terzi

Una delle pratiche più comuni nel mondo dello sviluppo del software è quella di utilizzare librerie e, in generale, codice prodotti da terzi. Sono molti i motivi per cui un team di sviluppatori di applicativi ricorre a librerie terze, primo tra tutti la pressione di produrre codice il più velocemente possibile. Il risultato è che un’applicazione sviluppata in house, in case, finisce per essere molto spesso un mix di codice sviluppato internamente che integra parti sviluppate esternamente.

Una delle problematiche che l’utilizzo di codice di terzi pone è il fatto che queste librerie possono introdurre delle vulnerabilità che si ripercuotono e si ramificano poi in tutto il resto dell’applicazione. Non è detto infatti che il codice sviluppato da terzi sia stato scritto aderendo agli stessi criteri di sicurezza con cui si sviluppa del software in house. Dobbiamo quindi tenere traccia e gestire queste dipendenze in modo da poterne anche contenere le eventuali vulnerabilità.

Uno degli strumenti principali in questo senso è mantenere un Software Bill of Materials (SBOM), ovvero un inventario di tutte le dipendenze da software di terzi del nostro codice sorgente. Tale inventario contiene tutti i dati relativi alla componente di software non prodotta in house, tra cui nome della componente, nome del soggetto terzo, versione e, ovviamente, il tipo di dipendenza introdotta.

Inoltre, al fine di mitigare ulteriormente le vulnerabilità accidentalmente introdotte da software di terzi, è bene delineare dei requisiti di sicurezza minimi da imporre a possibili nuove librerie da aggiungere allo SBOM. Nel caso in cui tali requisiti non siano soddisfatti, la libreria o il codice in questione non possono pertanto essere integrati nel codice sorgente dell’applicativo.

Secret management: gestione dei segreti

Oltre ai dati personali e sensibili che potrebbero essere usati da un applicativo al fine di erogare un certo servizio all’utente, ci sono anche altri tipi di informazioni la cui diffusione potrebbe comprometterne la sicurezza.

Si tratta dei così detti segreti, come ad esempio password, chiavi e token. Sono sempre di più i “segreti” di questo tipo che vengono generati durante lo sviluppo di software, specialmente per progetti di larga scala.

Infatti, l’utilizzo di microservizi, tooling di sviluppo, container, orchestratori e connessioni API richiedono tutti la generazione e l’utilizzo di segreti, i quali quindi devono essere stoccati e trasmessi quando servono in maniera sicura.

Gli sviluppatori meno consci dei pericoli che il software da loro sviluppato possa introdurre tendono a tralasciare la gestione sicura di questi segreti, che quindi finiscono per rimanere in chiaro in script, configurazioni o addirittura nel codice sorgente.

Tali segreti, invece, dovrebbero essere salvati separatamente rispetto a dove si trova il codice sorgente, ad esempio utilizzando un così detto Vault, ed essere accessibili attraverso pratiche di gestione di accessi privilegiati.

La gestione dei segreti, inoltre, permette la così detta rotazione o refresh degli stessi. Ad esempio, le password possono essere regolarmente cambiate (nello stesso modo in cui si aggiorna la password di accesso alle proprie mail) senza bisogno di cambiare il codice sorgente in tutti i segmenti in cui la password era utilizzata.

Conclusione

I tre pilastri discussi in questo articolo vogliono servire da linee guida per lo sviluppo di software sicuro.

In alcun modo questo articolo si pone come esaustivo rispetto a tutti principi da tenere conto quando si sviluppa software.

In particolare, altri principi legati all’integrazione dell’applicativo nell’infrastruttura IT dell’organizzazione (e meno al codice sorgente in sé e per sé) sono anch’essi da considerare, come il logging and monitoring, la protezione del network e la gestione degli accessi.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Speciale PNRR

Tutti
Incentivi
Salute digitale
Formazione
Analisi
Sostenibilità
PA
Sostemibilità
Sicurezza
Digital Economy
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr
CODICE STARTUP
Imprenditoria femminile: come attingere ai fondi per le donne che fanno impresa
DECRETI
PNRR e Fascicolo Sanitario Elettronico: investimenti per oltre 600 milioni
IL DOCUMENTO
Competenze digitali, ecco il nuovo piano operativo nazionale
STRUMENTI
Da Istat e RGS gli indicatori per misurare la sostenibilità nel PNRR
STRATEGIE
PNRR – Piano nazionale di Ripresa e Resilienza: cos’è e novità
FONDI
Pnrr, ok della Ue alla seconda rata da 21 miliardi: focus su 5G e banda ultralarga
GREEN ENERGY
Energia pulita: Banca Sella finanzia i progetti green incentivati dal PNRR
TECNOLOGIA SOLIDALE
Due buone notizie digitali: 500 milioni per gli ITS e l’inizio dell’intranet veloce in scuole e ospedali
INNOVAZIONE
Competenze digitali e InPA cruciali per raggiungere gli obiettivi del Pnrr
STRATEGIE
PA digitale 2026, come gestire i fondi PNRR in 5 fasi: ecco la proposta
ANALISI
Value-based healthcare: le esperienze in Italia e il ruolo del PNRR
Strategie
Accordi per l’innovazione, per le imprese altri 250 milioni
Strategie
PNRR, opportunità e sfide per le smart city
Strategie
Brevetti, il Mise mette sul piatto 8,5 milioni
Strategie
PNRR e opere pubbliche, la grande sfida per i Comuni e perché bisogna pensare digitale
Formazione
Trasferimento tecnologico, il Mise mette sul piatto 7,5 milioni
Strategie
PSN e Strategia Cloud Italia: a che punto siamo e come supportare la PA in questo percorso
Dispersione idrica
Siccità: AI e analisi dei dati possono ridurre gli sprechi d’acqua. Ecco gli interventi necessari
PNRR
Cloud, firmato il contratto per l’avvio di lavori del Polo strategico
Formazione
Competenze digitali, stanziati 48 milioni per gli Istituti tecnologici superiori
Iniziative
Digitalizzazione delle reti idriche: oltre 600 milioni per 21 progetti
Competenze e competitività
PNRR, così i fondi UE possono rilanciare la ricerca e l’Università
Finanziamenti
PNRR, si sbloccano i fondi per l’agrisolare
Sanità post-pandemica
PNRR, Missione Salute: a che punto siamo e cosa resta da fare
Strategie
Sovranità e autonomia tecnologica nazionale: come avviare un processo virtuoso e sostenibile
La relazione
Pnrr e PA digitale, l’alert della Corte dei conti su execution e capacità di spesa
L'editoriale
Elezioni 2022, la sfida digitale ai margini del dibattito politico
Strategie
Digitale, il monito di I-Com: “Senza riforme Pnrr inefficace”
Transizione digitale
Pnrr: arrivano 321 milioni per cloud dei Comuni, spazio e mobilità innovativa
L'analisi I-COM
Il PNRR alla prova delle elezioni: come usare bene le risorse e centrare gli obiettivi digitali
Cineca
Quantum computing, una svolta per la ricerca: lo scenario europeo e i progetti in corso
L'indice europeo
Desi, l’Italia scala due posizioni grazie a fibra e 5G. Ma è (ancora) allarme competenze
L'approfondimento
PNRR 2, ecco tutte le misure per cittadini e imprese: portale sommerso, codice crisi d’impresa e sismabonus, cosa cambia
Servizi digitali
PNRR e trasformazione digitale: ecco gli investimenti e le riforme previste per la digitalizzazione della PA
Legal health
Lo spazio europeo dei dati sanitari: come circoleranno le informazioni sulla salute nell’Unione Europea
Servizi digitali
PNRR e PA digitale: non dimentichiamo la dematerializzazione
Digital Healthcare transformation
La trasformazione digitale degli ospedali
Governance digitale
PA digitale, è la volta buona? Così misure e risorse del PNRR possono fare la differenza
Servizi digitali
Comuni e digitale, come usare il PNRR senza sbagliare
La survey
Pnrr e digitale accoppiata vincente per il 70% delle pmi italiane
Missione salute
Fascicolo Sanitario Elettronico alla prova del PNRR: limiti, rischi e opportunità
Servizi pubblici
PNRR: come diventeranno i siti dei comuni italiani grazie alle nuove risorse
Skill gap
PNRR, la banda ultra larga crea 20.000 nuovi posti di lavoro
Il Piano
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUMPA2022
PNRR e trasformazione digitale: rivedi i Talk di FORUM PA 2022 in collaborazione con le aziende partner
I contratti
Avio, 340 milioni dal Pnrr per i nuovi propulsori a metano
Next Generation EU
PNRR, a che punto siamo e cosa possono aspettarsi le aziende private
Fondi
Operativo il nuovo portale del MISE con tutti i finanziamenti per le imprese
Servizi comunali
Il PNRR occasione unica per i Comuni digitali: strumenti e risorse per enti e cittadini
Healthcare data platform
PNRR dalla teoria alla pratica: tecnologie e soluzioni per l’innovazione in Sanità
Skill
Competenze digitali, partono le Reti di facilitazione
Gli obiettivi
Scuola 4.0, PNRR ultima chance: ecco come cambierà il sistema formativo
Sistema Paese
PNRR 2, è il turno della space economy
FORUM PA 2022
FORUM PA 2022: la maturità digitale dei comuni italiani rispetto al PNRR
Analisi
PNRR: dalla Ricerca all’impresa, una sfida da cogliere insieme
Innovazione
Pnrr, il Dipartimento per la Trasformazione digitale si riorganizza
FORUM PA 2022
PA verde e sostenibile: il ruolo di PNRR, PNIEC, energy management e green public procurement
Analisi
PNRR, Comuni e digitalizzazione: tutto su fondi e opportunità, in meno di 3 minuti. Guarda il video!
Rapporti
Competenze digitali e servizi automatizzati pilastri del piano Inps
Analisi
Attuazione del PNRR: il dialogo necessario tra istituzioni e società civile. Rivedi lo Scenario di FORUM PA 2022
Progetti
Pnrr, fondi per il Politecnico di Torino. Fra i progetti anche IS4Aerospace
Analisi
PNRR, Colao fa il punto sulla transizione digitale dell’Italia: «In linea con tutte le scadenze»
La Svolta
Ict, Istat “riclassifica” i professionisti. Via anche al catalogo dati sul Pnrr
Analisi
Spazio, Colao fa il punto sul Pnrr: i progetti verso la milestone 2023
FORUM PA 2022
Ecosistema territoriale sostenibile: l’Emilia Romagna tra FESR e PNRR
Il Piano
Innovazione, il Mise “centra” gli obiettivi Pnrr: attivati 17,5 miliardi
Analisi
PNRR: raggiunti gli obiettivi per il primo semestre 2022. Il punto e qualche riflessione
Analisi
PNRR: dal dialogo tra PA e società civile passa il corretto monitoraggio dei risultati, tra collaborazione e identità dei luoghi
Webinar
Comuni e PNRR: un focus sui bandi attivi o in pubblicazione
Analisi
Formazione 4.0: cos’è e come funziona il credito d’imposta
PA e Sicurezza
PA e sicurezza informatica: il ruolo dei territori di fronte alle sfide della digitalizzazione
PA e sicurezza
PNRR e servizi pubblici digitali: sfide e opportunità per Comuni e Città metropolitane
Water management
Water management in Italia: verso una transizione “smart” e “circular” 
LE RISORSE
Transizione digitale, Simest apre i fondi Pnrr alle medie imprese
Prospettive
Turismo, cultura e digital: come spendere bene le risorse del PNRR
Analisi
Smart City: quale contributo alla transizione ecologica
Decarbonizzazione
Idrogeno verde, 450 milioni € di investimenti PNRR, Cingolani firma
Unioncamere
PNRR, imprese in ritardo: ecco come le Camere di commercio possono aiutare
I fondi
Industria 4.0: solo un’impresa su tre pronta a salire sul treno Pnrr

Articoli correlati

Articolo 1 di 5