Ciclo di vita per lo sviluppo di software sicuro

Documenti analoghi
Domenico Ercolani Come gestire la sicurezza delle applicazioni web

Strumenti per l automazione del testing di applicazioni web Javascript-based

APPENDICE 4 AL CAPITOLATO TECNICO

Application Security Governance

Approccio Meccatronico alla progettazione. Ing. Roberto Loce Solution Architect Motion Control Rockwell Automation

ALLEGATO 2A MODELLO DI OFFERTA TECNICA LOTTO 1

ITIL e PMBOK Service management and project management a confronto

Ministero dell Istruzione, dell Università e della Ricerca. Servizio di collaudo


Nell ambito quindi di un ulteriore potenziamento della propria struttura, Klopotek Software & Technology Services S.r.l.

Fondamenti VBA. Che cos è VBA

Materiale didattico. Sommario

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Mettere il database sotto source control. Alessandro Alpi

Corso Programmazione Java Standard

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza. Roberto Ugolini roberto.ugolini@postecom.it

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

BitDefender Business Security

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

Obiettivi, sviluppo e risultati principali del progetto STEEL

Analisi e specifica dei requisiti

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Come affrontare le minacce alla sicurezza IT. Roma, 16 Giugno 2010

Corso di Ingegneria del Software. Modelli di produzione del software

Procedura per la progettazione di interventi formativi

Il progetto U-GOV Contabilità al Politecnico di Torino. Approccio e pianificazione, fattori di complessità e punti di attenzione

Stay on top of things

L'ottimizzazione dello Sviluppo Software - Partire dal Passato per costruire il Futuro. Pierdomenico Iannarelli, Country Manager

SPIKE APPLICATION SECURITY: SICUREZZA DIRETTAMENTE ALL INTERNO DEL CICLO DI VITA DEL SOFTWARE

Progettazione di un cruscotto di analisi dei difetti dei componenti in sistemi software large-scale

CONTI CHE TORNANO RISULTATI CHE CONTANO

CATALOGO DI HEVA MANAGEMENT ACCREDITATO DA FONDAZIONE IDI

Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI DI LAVORO INTEGRATO IN OUTLOOK 2010

Kick Off Gruppo di Lavoro AIIC. Cyber Insurance

Obblighi di controllo dei Fornitori esterni. Rischio tecnologico

Simone Riccetti. Applicazioni web:security by design

Lo sviluppo del progetto informatico

PROGRAMMA OPERATIVO REGIONE CALABRIA

Una metodologia di valutazione dei rischi per la sicurezza delle informazioni

SOLUTION PROFILE JULIA LA VERIFICA DEL SOFTWARE DIVENTA SEMPLICE

Corso di formazione ambientale Introduzione all utilizzo dei modelli previsionali per la valutazione dei livelli di campo elettromagnetico

LEAN CONCEPT MODELLO PER LE AZIENDE DEL SETTORE HEALTHCARE PER INNOVARE E COMPETERE

SICUREZZA IT CON IL PILOTA AUTOMATICO Policy Manager

Application Risks Assessment. Analisi dei rischi e pianificazione delle contromisure

INTERNAL AUDIT. Giorgio Ventura CETIF, 22 giugno 2004

Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1

MONTERENZIO PATRIMONIO SRL. Mappa dei rischi elaborata sulla base dell analisi del contesto e della valutazione dell ambiente di controllo

UX-PM level 1: Adopting UX

L orientamento della cultura aziendale verso gli obiettivi di compliance.

DI GESTIONE E CONSERVAZIONE DEI DOCUMENTI

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti

Massimo Caprinali. Rational Client Technical Professional La soluzione IBM Rational per la Sicurezza

AURORA WebDOC Document Management System

cont Trasp ro or ll ata to a FREEZER temperatu

Concetti generali e introduzione alla norma UNI EN ISO 9001/2008

The approach to the application security in the cloud space

.lo standard ISO I PROCESSI SOFTWARE. ..l organizzazione gerarchica dei processi. articolazione del modello. Ingegneria del Software

Prefazione...IX. Ringraziamenti...XIII. Gli autori...xv. Capitolo 1 - Le tecnologie mobili: la nuova generazione di tecnologie dell informazione...

INDICE INTRODUZIONE E SCOPO DEL DOCUMENTO ORGANIZZAZIONE DEL DOCUMENTO. Introduzione e scopo del documento SICUREZZA... 8

Comune Fabriano. Protocollo Generale, Servizio Progettazione, Servizio Edilizia Privata. Progetto di Certificazione secondo le norme ISO 9000

Anno Accademico 2007/2008

Aiutiamo i nostri clienti ad incorporare connettività, servizi web, embedded computing e automazione nei loro prodotti e soluzioni.

Pro/INTRALINK Guida al curriculum

ELETTRONICA ED ELETTROTECNICA

Servizi inclusi. WLOD / Office 365 Technical Update Briefing. FastStart for Azure / Premier Architectural Services. Risk Assessment/ Workshop PLUS

Le metodologie utilizzate saranno interattive e affiancate dalla realizzazione di project work utili a rendere concrete le lezioni teoriche.

Soluzioni per le Flotte

Waste Electric and Electronic Equipment New MODEls for Logistic Solutions a cura del Comune di Genova Direzione Area Servizi

ELENCO DELLE AREE DI INSEGNAMENTO PER DIPLOMATI DI MATERIE NON MILITARI INCLUSE NEI CORSI IN PROGRAMMAZIONE PRESSO LA SCUOLA TLC FFAA DI CHIAVARI

Imagicle Hotel. Guida alla configurazione delle centrali Siemens Hipath 2000/3000

Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele. Qualità del Software

La Scuola Digitale: prospettive e proposte

MBM Italia S.r.l. Via Pellizzo 14/a Padova Tel. Fax

Allegato Tecnico ACI

Automatic Deployment Tool For Networked Objects (ADEPTO)

Imagicle Hotel. Guida alla configurazione delle centrali Alcatel OXO fino alla Rel. 5.x 6.x

Dall intuizione alla conoscenza

Configurazione di riferimento di IP Office Server Edition IP Office 8.1

DRUPAL CONTINUOUS INTEGRATION. Parte I - Introduzione

Risultati attività piano di rientro BHW Bausparkasse AG. Consulente: Daniele De Felice

Il calcolatore. Architettura di un calcolatore (Hardware)

Gestione del ciclo di vita del software

I criteri di valutazione qualitativa della KA 1 per il settore dell Istruzione sono indicati nella Guida al Programma (p.

CX-One: l'integrazione di tutti i dispositivi indipendentemente dalla rete di comunicazione. Tecnologia FDT/DTM

Modulo di richiesta aziendale di valutazione di tecnologia sanitaria (Allegato 1)

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven

Utilizzo di CMDBuild in un contesto multi-societario internazionale

Ministero dell Istruzione dell Università e della Ricerca

PMI come fattore critico di successo dei progetti ITSM

Capitolo I1: Laboratorio con DevC++

MARCHEGIANI MARIA ANTONIETTA la gestione dei sistemi informativi aziendali

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Guida al Programma. Politica del Web Signage Partner Program

CALENDARIO DIDATTICO MODALITÀ ONLINE

Guida rapida. Self Service Housing

Il processo di sviluppo sicuro. Kimera Via Bistolfi, Milano

INTRODUZIONE ALLA PRODUZIONE SNELLA NELLE PICCOLE E MEDIE AZIENDE PER ACCRESCERNE LA COMPETITIVITA

Scheda tecnica online FLOWSIC30 CONTATORE DEL GAS

Transcript:

Ciclo di vita per lo sviluppo di software sicuro (a cura di Roberto Ugolini Postecom Spa) Security Service Unit Documento pubblico

Le motivazioni del cambiamento 1/3 2 Aumentare il livello di sicurezza del software prodotto, riducendo la possibilità di danni di immagine/economici

Le motivazioni del cambiamento 2/3 3 Facilitare l aderenza allo Standard aziendale per lo sviluppo di applicativi sicuri.

Le motivazioni del cambiamento 3/3 4 Ridurre l effort ed i costi necessari per la correzione delle vulnerabilità

Processo di vita del software (fonte IEEE) 5 La sicurezza nel processo di Software Development Life Cycle (SDLC) non può essere pensata come una semplice aggiunta alla fine del ciclo di vita, magari già in erogazione Lungo tutto il ciclo di vita del software occorre considerare differenti azioni specificamente pensate per indirizzare i problemi di sicurezza Il processo di sviluppo sicuro del codice deve seguire procedure organizzative dedicate, pur integrandosi con quelle esistenti, si deve adattare agli strumenti di configurazione e sviluppo esistenti, viene supportato da appositi strumenti tecnologici

Il processo sicuro si adatta al contesto 6 Il S(ecure)DLC richiede una introduzione graduale e basata su obiettivi realistici Si può intervenire su un parco software esistente oppure su applicazioni da sviluppare ex-novo Il software può essere sviluppato da personale interno o può essere commissionato all esterno A seconda dei casi, alcune delle azioni suggerite di seguito potrebbero non essere applicabili In primo luogo dovrà essere definito, a seguito di un SDLC Assessment, un piano di intervento adeguato all ambito in analisi

Piano di intervento: esempio con individuazione attività 7 Lo scenario completo di azione è l intervento sulle applicazioni sviluppate internamente: Abuse cases Security requirement s Risk analysis External review Risk-based security tests Static analysis Penetration testing Security breaks X X X X X X X X

Fasi Requirements and use cases e Design 8 Abuse cases: definizione delle Linee Guida alla programmazione sicura, dettagliate anche per linguaggio di programmazione e per ambiti di utilizzo, da fornire agli sviluppatori interni ed ai fornitori esterni Risk analysis: definizione della metodologia, coerente con il ciclo di vita dei progetti e che tenga conto della classificazione dei dati (pubblici, riservati, personali, sensibili, segreti...) Security requirements: definizione dei requisiti di sicurezza, in base ai risultati della risk analysis ed alla classificazione dei dati. Possono contenere, nel caso di fornitori esterni, requisiti legati alla esperienza, alla metodologie, alle competenze del fornitore

Fase Code 9 Static analysis: identificazione dei tool di analisi statica in grado di: o controllare il codice sorgente in base a delle regole built-in, ovviamente aggiornabili, e configurabili secondo la realtà del SDLC in cui sono inseriti o lavorare su più linguaggi di programmazione e su più moduli dell'applicazione contemporaneamente o creare una mappa dei componenti dell architettura di un software per controllare i collegamenti e il flusso di controllo, consentendo di capire dove impattano dei dati non validati o creare dei report destinati ai diversi soggetti coinvolti (sviluppatori, sw architect, security manager, ) o essere integrati nell ambiente di sviluppo (plug in per IDE) utilizzato dai programmatori in modo da segnalare la presenza di porzioni di codice non corrette, dal punto di vista della sicurezza, nello stesso istante in cui il codice sorgente stesso viene scritto.

Fasi Test plans, Test results e Field feedback 10 Risk-based security tests: o definizione delle metriche - misurazione di una serie di parametri che vengono poi pesati per produrre degli indici che sintetizzino la situazione dei propri progetti e team di sviluppo o identificazione dei tool di Penetration testing integrabili con gli strumenti di Q&A esistenti Penetration testing: esecuzione di analisi di vulnerabilità (dall interno, dall esterno, white-box, black-box) Security breaks: valutazione (e risoluzione Gestione degli Incidenti) delle eventuali vulnerabilità segnalate in fase di erogazione, così da effettuare il tuning degli abuse case e degli strumenti impiegati

Static analysis: automazione centralizzata (per.net) 11 Gestore Eventi Sorgenti Scan Configuration Management Server Scan Core Dati Assessment Codice Sorgente Sviluppo Dev / Build

Static analysis: automazione distribuita (per Java/Maven) 12 Gestore Eventi Sorgenti Scan Core Configuration Management Server Automation Server Scan Dati Assessment Build Codice Sorgente Sviluppo

Static analysis: integrazione con il ciclo di vita dei progetti 13 Impatto a Livello sistemistico o Nullo per i progetti.net: Gli scan avvengono sul Core: Tutti gli ambienti di build sono riprodotti sul Core o Basso per i progetti Java: Gli scan avvengono sul sistema di build locale: Installazione del Core sul sistema di build Integrazione del Core con Maven

Static analysis: ruoli e competenze 14 I Security Analyst Cosa fanno (console): o Periodicamente, gestiscono i risultati degli assessment dei singoli progetti ( Triage ). o Possono effettuare assessment di tipo provvisorio per verificare l effettivo buon fine del triage (non molto comune) Cosa NON fanno: o Non possono autonomamente modificare le policy di sicurezza: severity delle anomalie segnalate, classificazioni, ecc; o Non possono pianificare assessment utili ai fini delle metriche di sicurezza.

Static analysis: ruoli e competenze 15 Gli Sviluppatori Cosa fanno (plug-in per IDE): o Importano le liste di Bug/Exceptions a loro assegnate e applicano le correzioni indicate dal Security Analyst sul progetto di riferimento seguendo il normale processo SDLC (CM,Test,Deploy,ecc) o Possono effettuare assessment di tipo provvisorio per verificare l effettivo buon fine delle correzioni o Eventualmente supportano il Security Analyst nell analisi dei risultati Cosa NON fanno: o Non effettuano autonomamente l analisi dei risultati dell assessment o Non possono consolidare assessment utili per le metriche di sicurezza

Static analysis: integrazione con il ciclo di vita dei progetti 16 Impatto sui processi o Realizzazione di scan automatici con cadenza settimanale Es.: il venerdì sera o Assessment a disposizione dei Security Analyst Es.: il lunedì mattina o Triage da parte dei Security Analyst o Al successivo scan su un certo progetto Se esiste un assessment recente, lo si pubblica altrimenti si pubblica l assessment realizzato con lo scan

Static analysis: il triage 17 Il Triage o È l analisi dei risultati prodotti dall assessment e messa in opera delle azioni necessarie al fine di eliminare tutte le anomalie registrate. o Si sintetizza in pochi passi: Accurata indagine per l effettivo riscontro delle anomalie Confronto con i referenti tecnici di riferimento Raggruppamento delle anomalie confermate e non Congiuntamente, individuazione della contromisura e assegnazione al programmatore per la risoluzione Esclusione dei falsi positivi (quelle anomalie che dopo un accurata analisi non sono state confermate come vulnerabilità) dalle metriche degli assessment.

Static analysis: la situazione 18

Static analysis: l andamento per l applicazione 19

Static analysis: il primo assessment 20

Static analysis: assessment senza vulnerabilità 21

Static analysis: il penultimo assessment 22

Static analysis: la vulnerabilità high 23

Static analysis: la console 24

Static analysis: la console 25

Static analysis: errori per KLOC 26

Risk-based security tests: integrazione con Q&A 27 File Binari Q&A tool Application Server Tester Testing Host Vulnerability Test Vulnerability Test Test control

Domande? roberto.ugolini@postecom.it 9 ottobre 2008 Security Service Unit Documento pubblico