P@norama' sulle tecnologie innovative: la sicurezza applicativa
1. DigitPA - “P@norama” sulle
tecnologie innovative
La Sicurezza Applicativa
Stato dell’arte ed iniziative in corso in SOGEI
RELATORE: Francesco GERBINO
17 gennaio 2011
2. Agenda
• Presentazione della Società
• La sicurezza applicativa
stato dell’arte
strategia di approccio
• Individuazione di una metodologia
• Definizione di un percorso formativo
• Individuazione ed acquisizione di strumenti tecnologici
• Definizione ed attuazione di processi aziendali
• Conclusioni
2
3. Presentazione della Società: Innovazione tecnologica dal 1976
La Sogei S.p.A. è dal 1976 una realtà imprenditoriale dedicata allo sviluppo delle soluzioni IT per il Sistema
fiscale nazionale, realizzato e gestito al livello dei migliori standard europei in termini di tecnologia, capacità
di servizio, efficienza operativa
1976 1981 1997 luglio 2002 luglio 2008 settembre 2009
Il MEF acquista Sogei L’Atto di Indirizzo del
Si avvia il processo di Ministro
modernizzazione Cambia il ruolo dell’Economia e delle
della dell’azienda che Finanze conferma il
Amministrazione diventa: ruolo istituzionale di
Finanziaria • parte integrante del Sogei e le assegna
“Sistema Fisco” con una nuovi compiti in
nuova responsabilità ambito nazionale ed
Nasce Sogei per istituzionale internazionale
progettare, realizzare e
gestire una moderna e • unica proprietaria
funzionale Anagrafe dell’infrastruttura IT
Tributaria
Si implementa la La proprietà di Sogei
tecnologia WEB al passa al Dip.Tesoro
servizio della PA, del
cittadino e delle
imprese
Sogei è un fattore di integrazione al servizio della società italiana ed
europea. Con le più innovative tecnologie IT permette una maggiore
offerta di servizi integrati e l'interscambio di informazioni, in un
quadro coordinato di "Data Governance”
3
4. Presentazione della Società: Il contesto operativo e i dati principali
100% Azionista
BILANCIO 2009
Rapporti MEF
MEF
extra MEF
DF
DFContratto di Servizi SOGEI
SOGEI VALORE DELLA PRODUZIONE: €€ 319 MIO
VALORE DELLA PRODUZIONE: 319 MIO
Quadro
UTILE: €€39 MIO
UTILE: 39 MIO
Contratti operativi
pluriennali contenenti i DIPENDENTI: 1784
DIPENDENTI: 1784
piani tecnici di Contratti Esecutivi
automazione
Agenzie Fiscali e Altri Centri
Agenzie Fiscali e Altri Centri
4
5. Presentazione della Società: Le strutture tecnologiche del SIF
• Ambiente Centrale:
3 sistemi Mainframe / oltre 28.000 Mips
Oltre 2.500 sistemi server di cui oltre 1200 di tipo virtuale
Oltre 1 PB di memoria in infrastruttura SAN
Archivio di backup con oltre 3 PetaByte di dati
2.000 uffici locali e altre pubbliche amministrazioni collegate
• Sistema periferico:
2.700 sistemi server
60.000 sistemi client
2.000 reti locali
• Continuità operativa:
1 sistema Mainframe / 900 MIPS
Archivio di 350 TB
Circa 100 sistemi server
4 link da 1 GigaBit in alta affidabilità
5
6. Presentazione della Società: I volumi trattati nel SIF
Contribuenti Dogane
40 milioni di persone fisiche Patrimonio immobiliare
9 milioni di bollette
63 milioni di unità immobiliari urbane, 82 (importazioni ed
1,9 milioni di società (di milioni esportazioni)
persone e di capitali) di particelle dei terreni
2,7 milioni di dichiarazioni
39 milioni di possessori di fabbricati, 26 milioni
5,5 milioni di contribuenti IVA 60mila analisi di
di possessori di terreni
laboratorio
85 milioni di note di cui 40 in formato digitale
riferite al periodo preautomazione
340mila mappe in formato vettoriale
Giochi 28mila beni demaniali
Dichiarazioni e versamenti
132mila apparecchi da intrattenimento senza vincita in denaro e 348mila 34 milioni di dichiarazioni dei
apparecchi con vincita in denaro (newslot) redditi, 3,7 milioni di comunicazioni
dati IVA
680 milioni di biglietti venduti per scommesse ippiche, sportive e non
sportive 7 milioni di atti del Registro
27 milioni di schedine Totocalcio 120 milioni di pagamenti telematici
2,5 miliardi di biglietti per le Lotterie istantanee
341 milioni di “diritti di partecipazione” per i giochi di abilità a distanza
2,1 miliardi di schedine del lotto e 4,8 miliardi di colonne del superenalotto
8,6 milioni di partite di Bingo 6
7. La Sicurezza Applicativa: Stato dell’arte …
• La maggior parte dei servizi informativi è realizzato mediante
tecnologie web:
per il cittadino (internet)
per gli operatori della PA (intranet)
• Dematerializzazione, servizi telematici, e-government hanno portato
alla realizzazione di servizi in cui sono scambiati e trattati dati
personali, riservati, sensibili (giudiziari, sanitari, …)
• La sicurezza dei servizi web ha molti aspetti:
Sistemi di identificazione ed autenticazione forte
Gestione delle identità
Crittografia e firma digitale
Analisi dei dati di tracciamento ed individuazione di possibili frodi
…
• La sicurezza dell’applicazione, intesa come possibile presenza di
vulnerabilità nel codice, ha recentemente assunto una importanza
particolare in ambito sicurezza IT
7
8. … La Sicurezza Applicativa: Stato dell’arte …
• Inizialmente i vettori di attacco più semplici da sfruttare per le
applicazioni web erano le vulnerabilità o le errate configurazioni
presenti a livello di rete e di sistemi di base, in quanto:
Sistemi operativi e protocolli di rete erano di conoscenza diffusa, ma non
espressamente progettati o configurati per sostenere attacchi informatici
Una stessa vulnerabilità di un sistema operativo poteva essere presente
su migliaia di sistemi informativi contemporaneamente
Erano disponibili sistemi di scansione automatica per l’individuazione di
tali vulnerabilità, utilizzati sia da esperti di sicurezza, sia da attaccanti
Lo sfruttamento di tali vulnerabilità era relativamente semplice, anche
grazie ai tool liberamente disponibili
APPLICAZIONE
SISTEMA
RETE
8
9. … La Sicurezza Applicativa: Stato dell’arte …
• La sicurezza delle applicazioni web pubblicate su Internet è stata
quindi inizialmente basata su soluzioni infrastrutturali di sicurezza
perimetrale, come:
Firewall
Intrusion Prevention System (integrati successivamente)
• Tali soluzioni infrastrutturali consentivano infatti di proteggere
efficacemente dai più comuni e diffusi vettori di attacco, costituiti
dalle vulnerabilità presenti a livello infrastrutturale (rete e sistemi
operativi)
APPLICAZIONE
SISTEMA
RETE
9
10. … La Sicurezza Applicativa: Stato dell’arte …
• Rilevanti investimenti da parte di produttori di sistemi operativi e di
apparati di sicurezza perimetrale hanno contribuito ad un
significativo innalzamento del livello di sicurezza dei prodotti:
Requisiti di sicurezza presenti by design nei sistemi di base
Team R&D specializzati in sicurezza IT
Migliaia / milioni di utenti nel mondo che segnalano bug o possibili
vulnerabilità di prodotti
• Le vulnerabilità presenti a livello di rete e di software di base sono
diventate quindi più rare e difficilmente sfruttabili: l’attenzione si è
quindi spostata al livello dell’applicazione
APPLICAZIONE
SISTEMA
RETE
10
11. … La Sicurezza Applicativa: Stato dell’arte
• Le applicazioni sono realizzate spesso con l’obiettivo di ridurre i costi
ed il time-to-market, migliorando usabilità ed accessibilità da parte
degli utenti finali
• Per ogni singola applicazione web pubblicata non c’è lo stesso effort
di studio, ricerca, analisi e test che produttori di apparati di sicurezza
e di software di base hanno profuso nel corso di questi ultimi anni sui
propri prodotti
• Le applicazioni rischiano quindi di diventare l’anello debole della
catena…
APPLICAZIONE
SISTEMA
RETE
11
12. La Sicurezza Applicativa: Strategia di approccio
• Obiettivo
Aumentare il livello di sicurezza delle applicazioni web
• Criticità
Non esistono soluzioni semplici o tool automatici che offrano piene
garanzie di individuare e correggere tutte le vulnerabilità presenti in una
applicazione
• Quindi come raggiungere l’obiettivo?
Individuazione di una metodologia
Definizione di un percorso formativo per team di sviluppo e team di
sicurezza
Individuazione ed acquisizione di strumenti tecnologici
Definizione ed attuazione di processi standard aziendali inseriti nel ciclo
di sviluppo del software
12
13. Individuazione di una metodologia …
• Una vulnerabilità di una applicazione è da considerarsi come un bug
funzionale è necessaria una modifica del codice
• Le modifiche alle applicazioni, come noto, hanno un costo maggiore
per i progetti, tanto più tardi ne è individuata la necessità nel corso
del ciclo di vita del software
• La metodologia da adottare deve quindi supportare tutte le fasi del
ciclo di vita del software, consentendo di poter intervenire fin dalle
prime fasi
costo
change
analisi sviluppo test collaudo
13
14. … Individuazione di una metodologia …
• A seguito dello studio di best practice e standard più diffusi abbiamo
selezionato una metodologia open source:
OWASP (Open Web Application Security Project )
• Perché OWASP?
Specifica per applicazioni web
Completa copertura del ciclo di sviluppo del sw:
- Development Guide
- Code Review Guide
- Testing Guide
- Software Assurance Maturity Model (SAMM)
Ampiamente diffusa a livello nazionale e internazionale
Open Source
Supportata dal mercato dei prodotti per assessment di applicazioni web
Specifiche competenze presenti in Italia: il capitolo italiano dell’OWASP
è autore della Testing Guide
14
15. … Individuazione di una metodologia
• La metodologia OWASP è applicata per tutto il ciclo di vita del sw
• L’obiettivo di aumentare il livello di sicurezza delle applicazioni è
affrontato mediante tre tipi di interventi:
FORMAZIONE dei team di sviluppo (Development Guide): in particolare
si investe fin dalle prime fasi per portare la sicurezza by design nelle
applicazioni
ANALISI STATICA del codice (Code Review Guide): fin dalle prime fasi
dello sviluppo sono rese disponibili agli sviluppatori linee guida, tool di
supporto integrati nell’ambiente di sviluppo, assessment svolti da esperti
di sicurezza
ANALISI DINAMICA dell’applicazione (Testing Guide): fin dalle prime
fasi di test sono resi disponibili linee guida, tool ed esperti di sicurezza
per analizzare il livello di sicurezza del servizio nel suo complesso
(applicazione ed infrastruttura)
ANALISI DINAMICA
ANALISI STATICA
FORMAZIONE
analisi sviluppo test collaudo
15
16. Definizione di un percorso formativo
• E’ stato definito un percorso formativo personalizzato e progressivo
per:
Team di sviluppo, focalizzato sui principi di programmazione sicura,
dando priorità alle OWASP Top 10 Web Application Security Risks
applicabili al contesto delle applicazioni SOGEI; a tal fine sono state
redatte linee guida interne di programmazione, specifiche per gli
ambienti applicativi adottati, derivate dalle guide OWASP
Responsabili di progetto, finalizzato a sensibilizzazione e
consapevolezza in ambito sicurezza applicativa allo scopo di fornire gli
elementi per una corretta gestione del rischio, anche mediante la
diffusione di un linguaggio ed una conoscenza di base comune, relativa
ai principali tipi di vulnerabilità ed ai relativi rischi conseguenti (SQL
injection, cross site scripting, …)
Team di sicurezza, finalizzato a specializzare le competenze tecniche
necessarie per condurre assessment sulle applicazioni, per analizzarne
gli esiti e per valutare gli eventuali rischi derivanti dalle possibili
vulnerabilità emerse
16
17. Individuazione ed acquisizione di strumenti tecnologici …
• Come anticipato, allo stato dell’arte dei prodotti e delle tecnologie
disponibili, non è possibile automatizzare completamente il processo
di analisi statica del codice e di analisi dinamica delle applicazioni, a
meno di:
Individuare solo parzialmente le vulnerabilità presenti
Ottenere un significativo numero di falsi positivi
• L’esperienza del Team di Sicurezza è ancora un fattore essenziale
per ottenere migliori risultati e quindi un miglior livello di sicurezza
dell’applicazione
• Peraltro la complessità e la numerosità dei controlli necessari e la
numerosità di applicazioni e di linee di codice da analizzare richiede
il supporto di strumenti tecnologici che automatizzino alcune fasi
dell’assessment condotto dal Team di sicurezza
17
18. … Individuazione ed acquisizione di strumenti tecnologici …
• Il mercato attualmente offre tool specifici distinti per:
Analisi statica del codice (code review, white box analysis, …)
Analisi dinamica delle applicazioni (WAPT, web application penetration
test, black box analysis)
• Tali strumenti svolgono analisi e controlli complementari, per cui
integrando e correlando gli esiti delle analisi è possibile individuare
un maggior numero di vulnerabilità ed escludere un maggior numero
di falsi positivi
• I maggiori player del mercato IT hanno in corso acquisizioni ed
integrazioni di tali soluzioni, al fine di ottenere migliori risultati per i
loro prodotti di assessment
18
19. … Individuazione ed acquisizione di strumenti tecnologici …
• I tool per Analisi statica del codice (code review, white box analysis):
possono essere configurati per supportare specifiche policy aziendali di sicurezza
sono integrabili con l’ambiente di sviluppo e/o con l’ambiente di sw configuration
management
• La migliore strategia d’uso di tali tool consiste nell’utilizzarli in
entrambi i modi:
mediante plug-in disponibili per l’ambiente di sviluppo, per fornire al
programmatore già in fase di compilazione o di deploy dell’applicazione
indicazioni su possibili vulnerabilità; in tale modalità è possibile anticipare i
problemi più comuni, ma la capacità di analisi è limitata
mediante analisi batch, in fase di build dell’applicazione completa, per fornire al
Team di Sicurezza indicazioni su possibili vulnerabilità; in tale modalità la verifica
e la risoluzione delle vulnerabilità riscontrate richiede una stretta integrazione fra
Team di sicurezza e Team di sviluppo
ANALISI DINAMICA
ANALISI STATICA
FORMAZIONE
analisi sviluppo test collaudo
19
20. … Individuazione ed acquisizione di strumenti tecnologici …
• I tool per Analisi dinamica delle applicazioni (WAPT, web application
penetration test, black box analysis) :
emulano il comportamento di un attaccante sul servizio web in
esecuzione
sono utilizzati dal Team di sicurezza
possono quindi essere utilizzati solo in fase di test e collaudo
consentono di individuare caratteristiche di alcuni vettori di attacco
specifici e difficilmente individuabili mediante code review
consentono l’associazione della vulnerabilità con la funzionalità web, ma
non con la relativa porzione di codice
ANALISI DINAMICA
ANALISI STATICA
FORMAZIONE
analisi sviluppo test collaudo
20
21. … Individuazione ed acquisizione di strumenti tecnologici
• SOGEI si è quindi dotata di entrambe le tipologie di tool al fine di
migliorare i risultati dell’analisi di sicurezza condotte
• I risultati ottenuti dai tool automatici sono validati ed integrati con gli
esiti delle attività di assessment manuale condotte dal Team di
Sicurezza
• L’adozione di tali tool e le attività del Team di Sicurezza sono definiti
ed attuati nell’ambito di processi aziendali inseriti nel ciclo di sviluppo
del software
ANALISI DINAMICA
ANALISI STATICA
FORMAZIONE
analisi sviluppo test collaudo
21
22. Definizione ed attuazione di processi aziendali …
• Il livello di sicurezza di una applicazione deve essere considerato
come un aspetto della Qualità globale di una applicazione
• I controlli di sicurezza devono essere quindi integrati nel ciclo dei
controlli previsti insieme a:
Test funzionali
Efficienza del codice
Usabilità ed accessibilità
Test di carico
…
22
23. … Definizione ed attuazione di processi aziendali …
• SOGEI ha sviluppato una propria metodologia di certificazione del
software che integra tali controlli in tutto il ciclo di vita del software
stesso:
La Certificazione C3 (Control Creation Compliance)
analisi sviluppo test collaudo
23
24. … Definizione ed attuazione di processi aziendali …
• A inizio 2009 si sono avviati interventi per rivedere il completo
governo del processo di realizzazione di servizi applicativi secondo
un approccio “industriale”:
integrare controlli sistematici su qualità e sicurezza della produzione
software
predisporre una pianificazione condivisa per la disponibilità delle
infrastrutture
strutturare il processo per la definizione delle priorità di intervento nella
gestione dei servizi
24
25. … Definizione ed attuazione di processi aziendali …
• Principi della Certificazione C3 sviluppata da SOGEI:
maggiore standardizzazione in termini di workflow organizzativo-tecnologico
definizione di uno schema di classificazione con identificazione di classi di
servizio e - per ciascuna classe - individuazione dei necessari controlli funzionali
a garantire il rispetto dei livelli di qualità attesi per la classe
attribuzione della classe di servizio alle applicazioni in esercizio
introduzione di fasi di controllo (differenziati per classe di servizio) e verifica su
software e infrastruttura per i diversi aspetti del processo produttivo (qualità,
sicurezza, documentazione architetturale, piani di implementazione
dell’infrastruttura, progettazione del monitoraggio …. )
realizzazione di un workflow integrato per il controllo di tutte le fasi antecedenti la
messa in esercizio (automatizzando ove possibile quelle di verifica)
25
26. … Definizione ed attuazione di processi aziendali
La Certificazione C 3 - Control Creation Compliance
Individuazione della Classe di servizio
Progettazione dei controlli previsti per la classe
Esecuzione dei controlli
Verifica dei controlli effettuati
Rilascio dell’applicazione
Monitoraggio in esercizio
Analisi dei dati
26
27. Conclusioni
• SOGEI ha avviato un importante percorso di evoluzione dei propri
processi di governo e di produzione, con il duplice scopo di
migliorare:
Qualità
Efficienza
• La sicurezza delle applicazioni è considerata un elemento fondante
del processo di sviluppo, pienamente integrata in una visione di
qualità globale
• Saranno ancora necessari investimenti soprattutto in processi e
organizzazione
27