presentazione - analisi di pattern di sicurezza per applicazioni basate su servizi
TRANSCRIPT
![Page 1: Presentazione - ANALISI DI PATTERN DI SICUREZZA PER APPLICAZIONI BASATE SU SERVIZI](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052523/555e4cc0d8b42a8e4c8b48ab/html5/thumbnails/10.jpg)
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