Integrazione e sviluppo di una piattaforma per la gestione delle
conformità allo standard PCI-DSS
Laureando
Alessandro Umek
Relatore
Prof. Alberto Bartoli
Correlatore
Enrico Milanese
Anno accademico
2014-2015
Lo standard PCI-DSS
PCI– Consorzio emittenti carte di credito
PCI-DSS– Standard per sviluppo soluzioni per trasmissione, la
memorizzazione o l'utilizzo di carte di credito
Requisito fondamentale – Analisi vulnerabilità infrastruttura pubblica
Approved scanning vendor – Società certificata eseguire analisi
Vulnerability Assesment
Software per scansioni automatiche
– Input: indirizzi ip pubblici del cliente
– Output: report xml
● Ip scansionati– Porte aperte, vulnerabilità, avvisi– Valutazione di vulnerabilità
● Valutazione complessiva vulnerabilità
Risultato
– Documenti pdf generati dai dati dell'output xml
Problema
Risultati scansioni non sempre esatti
– Falsi positivi
– Falsi negativi
Modifica manuale estramamente onerosa
– Tanti dati da aggiungere
– Troppi dati da ricalcolare
Situazione preesistente
ipLegion
– scansione infrastruttura pubblica
➢ Database delle vulnerabilità (emvdb)
PciGen
– modifica dei report
PciWebApp
– gestione clienti, contratti, scansioni
● Database delle analisi
EmvDB
Database Delle
Analisi
IpLegion
PciWebApp
PciGen
Situazione preesistente: problema
Modifica report ancora troppo onerosa
➔ applicativi non comunicano
Esempio aggiunta vulnerabilità➢ Individuazione id vulnerabilità
(ipLegion)
➢ Aggiunta vulnerabilità e generazione report (PciGen)
➢ Salvataggio documentazione aggiornata (PciWebApp)
EmvDB
Database Delle
Analisi
IpLegion
PciWebApp
PciGen
Soluzione
Integrare nuove funzionalità nella piattaforma PciWebApp
– centralizzare tutte lo operazioni su un unico applicativo
– modificare i report di vulnerability assessment tramite GUI
– facilitare la creazione di report aggiornati
EmvDB
Database Delle
Analisi
PciWebApp
PciGen
Analisi e progettazione
Attività per implentare le funzionalità:
– Parsing xml
– Visualizzazione e modifica delle analisi
– Integrazione Emvdb
– Integrazione PciGen
Struttura report (molto semplificata)
➢ Host (indirizzo ip)
➢ Porte➢ Protocollo tcp/udp
➢ Numero porta➢ Nome servizio
➢ Vulnerabilità➢ Confermata, potenziale, avviso
➢ Id➢ Nome ➢ Livello di rischio➢ ...➢ Standard (nome e valore)➢ Istanza (servizio)
Entità
Individuate sulla base di:
– Operazioni da svolgere
– Dati valutazione del sistema
– Dati non ridondanti
Progettazione grafica
➢ Single page
➢ Panello degli host
➢ Elenco host
➢ Selezione host ➢ Caricamento
dati relativi
Progettazione grafica
➢ Single page
➢ Panello degli host
➢ Pannello delle porte
➢ Visualizzazione porte aperte
➢ Aggiunta, rimozione
Progettazione grafica
➢ Single page
➢ Panello degli host
➢ Pannello delle porte
➢ Pannello delle vulnerabilità
➢ Elenco vulnerabilità
➢ Aggiunta e rimozione
➢ Dettaglio
➢ Aggiunta e rimozione istanze
Progettazione grafica
➢ Single page
➢ Panello degli host
➢ Pannello delle porte
➢ Pannello delle vulnerabilità
➢ Pannello delle modifiche
➢ Elenco modifiche
➢ Rimozione di una modifica
Progettazione grafica
➢ Single page
➢ Panello degli host
➢ Pannello delle porte
➢ Pannello delle vulnerabilità
➢ Pannello delle modifiche
➢ Finestre modali
➢ Finestra di ricerca➢ Emvdb
➢ Finestra di riepilogo➢ Conferma prima del
salvataggio
L'applicazione esistente
Linguaggi
– Java
– Javascript
Framework
– Spring Framework
– ExtJs
Design pattern
– MVC
– Facade
– Package core● Accesso ai dati
– Package mail● Invio di notifiche email
– Package web● Elaborazione richieste
web
– Interfaccia grafica
– File di configurazione ● Dependency Injection● Security● ...
Implementazione: Interfaccia grafica
➢ Finestra di riepilogo
Modifiche suddivise per:
➢ Ip
➢ Entità
➢ Operazione
Implementazione: nuovi package
Package xml
● Model
– POJO a partire delle entità
● Repository
– Lettura dei dati dall'xml
● PciGen
– Integrazione PciGen
● Facade
Package emvdb
● Repository
– Lettura dati da emvb
● Facade
Implementazione: controller e configurazione
● Package web– XmlController
● Richieste lettura xml ● Ricezione delle modifiche
– EmvdbController● Richieste lettura database vulnerabilità
● Configurazione– Istanziati service, repository e datasource emvdb
– Nuovi file di properties
Conclusioni
● Gli obiettivi previsti sono stati raggiunti
● Piattaforma in produzione
● Sviluppi futuri
– Integrazione con il software ipLegion● Programmare le analisi● Recuperare i risultati
– Possibilità marcare vulnerabilità come PciPass