10
ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI Relatore: prof. Pierluigi PLEBANI Elaborato di Laurea di: Gianfranco CONTI Matricola: 737296 V Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione Anno Accademico 2009-2010

Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Embed Size (px)

Citation preview

Page 1: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

ANALISI DI PATTERN DI SICUREZZA

PER APPLICAZIONI BASATE SU SERVIZI

Relatore: prof. Pierluigi PLEBANI

Elaborato di Laurea di: Gianfranco CONTI

Matricola: 737296

V Facoltà di Ingegneria

Corso di Laurea in Ingegneria Informatica Dipartimento di Elettronica e Informazione

Anno Accademico 2009-2010

Page 2: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

v  Obiettivi preposti:

①  Fornire una panoramica tra gli strumenti e i requisiti di sicurezza; ②  Osservare come questi strumenti e requisiti vengano gestiti ed utilizzati all’interno di una SOA; ③  Cogliere gli aspetti salienti e il valore aggiunto che portano all’architettura stessa della SOA; ④  Evidenziare le peculiarità ed i vantaggi nell’utilizzo di questi strumenti.

v Metodologia seguita:

ü  individuare alcune linee di sviluppo di maggiore interesse e approfondirle criticamente.

Obiettivi & Metodologia 2

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Page 3: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

Overview

①  Una panoramica tra gli strumenti e i requisiti di sicurezza

v  SOA, WS, BPEL, WS-SECURITY, SAML, XACML, Confidenzialità, Integrità e non ripudio, Autorizzazione ecc

②  Gestione ed utilizzo degli strumenti e dei requisiti di sicurezza in una SOA

v  A Pattern Language for Identity Management (Circle of Trust, Identity Provider, Identity Federation)

v  Patterns for the eXtensible Access Control Markup Language (XACML Authorization ., XACML Access Control Evaluation)

v  A Pattern-Driven Security Process for SOA Applications

v  BPEL Processes for Non-Repudiation Protocols in Web Services

v  The Credentials Pattern

ü  Patterns for Authentication and Authorization Infrastructures

v  Data provenance in SOA-security-reliability-and-integrity

ü  Authorization-Based Access Control for the SOA (Identity-based AC vs Authorization-Based AC)

ü Methodology and Tools for End-to-End SOA Security Configurations

③  Conclusioni

3

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Page 4: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

Patterns for Authentication and Authorization Infrastructures

Viene proposto un pattern system derivato in grado di esprimere completamente ed esaustivamente una generica “attributed-based Authentication and Authorization Infrastructure”.

v  Aspetti fondamentali:

①  apprendere da altre implementazione evitare falle di sicurezza e bug per software di business critici;

②  modularizzazione dei pattern assegnare uno specifico e accettato security pattern ad ogni singolo modulo.

v  La catena di processo e i relativi pattern associati:

4

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

1 of 2

Page 5: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

v  Le relazioni tra i pattern:

I risultati ottenuti sono una classificazione e una valutazione completa delle migliori pratiche, nonché degli insegnamenti appresi. SAML è stato utilizzato per la comunicazione, mentre XACML per l’attuazione dell’attribute-based Access Control (ABAC).

5

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Patterns for Authentication and Authorization Infrastructures 2 of 2

Page 6: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

Authorization-Based Access Control for the Services Oriented Architecture

6

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

1 of 2

v  Con l’Identity-based Access Control - IBAC avremo che:

ü  Il rapporto di fiducia tra due domini è l’unica cosa che può prevenire violazioni dal parte dei singoli domini è resterebbe comunque il problema della propagazione di tali informazioni tramite intermediari;

ü  In caso di cambio di compiti, il dominio di riferimento deve aggiornare tutte le sue ACL e informare tutti gli altri domini è i domini interessati dovranno dunque aggiornare i propri DB è alti costi se i cambiamenti sono frequenti;

ü  In caso di delega e/o revoca, il nuovo user delegato non sarà in grado di utilizzare il servizio finché non saranno aggiornati i DB

è viceversa potrà continuare ad utilizzare la propria autorità finché la revoca non sarà propagata su tutti i DB;

è la mancanza del requisiti di coerenza fra i DB limita fortemente la scalabilità;

ü  I certificati emessi da un certo dominio devono essere processati da altri domini

è in caso di aggiornamenti il sistema dovrà essere aggiornato in modo coordinato;

è ciò comporta un forte limite per chi volesse entrare a far parte del sistema;

ü  Ogni programma invoca i servizi presentando le asserzioni SAML dell’identità del principal

è le autorità assegnate sono prese dall’ambient del principal;

è sono consentiti attacchi informatici incorportati in link fasulli o script su pagine web

è è possibile effettuare qualsiasi azione che gli admin hanno concesso al principal nel policy DB;

è  Poca flessibilità e scalabilità;

è  Difficoltà nell’utilizzo, nell’aggiornamento, nella delegazione e nella gestione nei DB;

è  Sensibile ad errori, virus e perdita delle informazioni fra i domini.

Page 7: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

v  Con l’Authorization-based Access Control - ABAC avremo che:

ü  ogni dominio ha informazioni riguardanti il solo principal è risolve il problema delle identità distribuite;

ü  se si ha la necessità di cambiare dei compiti fra i vari utenti, si cambiano semplicemente le autorizzazioni dei rispettivi utenti è l’eventuale revoca è immediata; è nessun dominio ha la necessità di essere informato delle modifiche è nessuna perdita di informazioni ;

ü  il formato dell’autorizzazione è necessaria soltanto da parte del servizio a cui si fa riferimento è facilita l’unione di nuove aziende al sistema, con il minimo effetto sui loro processi interni

ü  Una richiesta deve portare solo le autorizzazioni del solo principal è se un programma ha un errore o contiene un virus, si potrà abusare delle sole autorità del principal e non di tutte come avviene con l’IBAC

è  Facilità di scalabilità, di evoluzione, di delega e di gestione;

è  Più privato e più sicuro;

…per attuare ciò è necessario apportare una “piccola” modifica al modello IBAC

7

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

2 of 2

Authorization-Based Access Control for the Services Oriented Architecture

Page 8: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

Methodology and Tools for End-to-End SOA Security Configurations

Il pattern in oggetto si pone il problema di come aiutare gli sviluppatori a concentrarsi sulle proprie responsabilità per la configurazione della sicurezza nelle applicazioni SOA-based durante l’intero processo di sviluppo, fornendo oltre al processo di configurazione della sicurezza anche il supporto della tecnologia per gli sviluppatori.

v  Criticità nel processo di sviluppo “attuale”:

ü  Nel processo di sviluppo non viene chiaramente definito come configurare la sicurezza;

ü  I requisiti di sicurezza e le rispettive configurazioni sono determinare e realizzate in downstream phase; ü  Le informazioni richieste per la configurazione della sicurezza non sono disponibili nella fase di downstream;

ü  In downstream phase lo sviluppatore non possiede sufficienti informazioni per creare corrette configurazioni di sicurezza;

ü  Non vi è modo di sapere quale sicurezza è richiesta dai requisiti di business e se vengano o meno soddisfatti.

Come definire i ruoli dello sviluppatore da un punto di vista delle informazioni disponibili durante le fasi di sviluppo?

v  Processo di sviluppo “futuro” proposto:

①  Il Business Analist definisce i business-level requirement è i requisiti di sicurezza devono essere chiariti come una business-level policy definita dai busines proces;

②  Il Software Architect crea un service model completo concreto per soddisfare il business è  i requisiti di sicurezza per la composizione devono essere specificati nel service model;

③  Il Developer (che nell’”attuale” processo di sviluppo, sviluppa e testa gli atomic service) NON ha nessun ruolo èsarà il Deployer attraverso WS-Security a specificare che il servizio verrà garantito dal deploy security configuration file;

④  Un Assembler crea il file di configurazione di sicurezza per ogni atomic service è i requisiti di sicurezza definiti al passo 2 vengono garantiti;

⑤  Il Deployer imposta la piattaforma che dovrà eseguire e gestire i servizi per una esecuzione sicura è  verrà eseguito il deploy della configurazione per la piattaforma.

8

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

1 of 2

Page 9: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

v  Per attuare ciò si propongono due tecnologie:

ü  Model-Driven Security – è una tecnologia per generare concretamente in modo semi-automatico, un file di configurazione della sicurezza della model transformation dei requisiti di sicurezza, specificati dal Software architect.

ü  Pattern-based Policy Application - supporta il Software architect nello specificare i requisiti (gli intent) di sicurezza della composizione dei servizi attraverso l’applicazione di un pattern che si occuperà di applicare gli intenti per i componenti (anche di basso livello). Nei pattern alcuni vincoli sono specificati, in modo tale che gli intenti non validi, siano individuati e corretti.

9

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

2 of 2

Methodology and Tools for End-to-End SOA Security Configurations

Si contribuirà dunque a generare configurazioni complesse in modo corretto, riducendo al contempo il carico di lavoro agli sviluppatori anche quando il dominio di sicurezza è di tipo federato.

Page 10: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI

Nome relatore

Conclusioni

Si è appreso come la scelta e l’utilizzo di appropriati strumenti (WS-Security; SAML, XACML; X.509, Kerberos, TLS; AES, ecc) e requisiti (Confidentialità; Integrità & non-ripudio; Autenticazione e Autorizzazione) all’interno di pattern di sicurezza per applicazioni basate sul web, siano di fondamentale importanza per il raggiungimento di quegli obiettivi che un SOA da sempre si prepone di raggiungere:

v  Scalabilità, Sicurezza e Gestione.

Abbiamo inoltre appreso come sia utile e necessario a tale fine:

ü  Centralizzare la gestione delle informazioni delle identità;

ü  Realizzare una policy unificata di accesso in tutta l’organizzazione;

ü  Utilizzare un approccio MDA che renda possibile considerare la sicurezza non più come un aspetto isolato;

ü  Utilizzare pattern system derivati;

ü  Considerare la provenienza dei dati;

ü  Utilizzare un approccio riguardante le decisioni del controllo di accesso basate sull’autorizzazione (ABAC);

ü  Utilizzare metodologie per configurazioni di sicurezza di tipo end-to-end per applicazioni SOA;

ü  Utilizzare strumenti standard e ben conosciuti;

10

ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI