Uno dei massimi esperti europei di informatica illustra le questioni tecniche essenziali riguardanti la sicurezza on line. E lancia un allarme. Pki, Dac, Mac, Rbac e Tbac (acronimi di misure per garantire la sicurezza dell'informazione on line) sono strumenti efficaci. Ma forse non riusciranno a neutralizzare gli attacchi autoreplicanti realizzati con robotica, nanotecnologie e meccanismi genetici.
Il problema della sicurezza sta diventando uno dei nodi cruciali per lo
sviluppo delle tecnologie della informazione e della comunicazione: quanti più
sistemi di calcolo e dispositivi di ogni tipo sono collegati tra loro a formare
quella rete planetaria che costituisce il mondo di Internet e del web, tanto più
la sicurezza delle interazioni che avvengono in essa e dei sistemi e dispositivi
che a essa sono collegati diventa importante e fonte di preoccupazione per gli
interessati1.
Quali sono i
rischi cui va incontro chi si collega alla rete? La risposta sembra a prima
vista assai semplice: da una parte, nel momento in cui un sistema viene
collegato alla rete, esso si espone a intrusioni (con lo scopo di distruggerne o
manometterne in tutto o in parte il contenuto di dati e programmi, oppure di
sottrarre da esso informazioni rilevanti); dall'altra, ogni oggetto che viene
trasmesso sulla rete è esposto a essere letto o copiato abusivamente oppure
alterato o, infine, distrutto. Ma, come nel mondo fisico, si possono subire
anche attacchi più sofisticati e complessi: possiamo ricevere messaggi
l'identità della cui sorgente è contraffatta per attribuire a essi un senso
oppure un valore che non hanno (e quindi la nostra stessa identità può essere
contraffatta, per attribuirci la responsabilità di atti criminosi o comunque per
coprire la reale identità di chi li compie); le nostre azioni e interazioni
nella rete possono essere osservate senza che noi lo sappiamo, per spiarci e
controllarci abusivamente; possiamo ricevere messaggi i cui contenuti ci
offendono, o ci disturbano o, addirittura, inibiscono nostre azioni future; e la
lista potrebbe continuare.
A ben pensarci, tutti i casi che abbiamo riportato
possono essere considerati come riproduzioni nella rete dei comportamenti
illegali o scorretti in cui possiamo imbatterci nel mondo fisico. Ed è naturale
che sia così, perché in prima istanza la natura offensiva o criminosa di un atto
dipende dalle relazioni sociali che esso incrina e non dalla tecnologia. La
natura delle tecnologie dell'informazione e della comunicazione, però, crea
condizioni che rimettono in discussione quello che intendiamo per atto scorretto
o criminoso e quello che riconosciamo come azione difensiva accettabile. Su
questo punto ritorneremo alla fine di questo testo, che inizia invece con una
rassegna sommaria dei problemi tecnici della sicurezza.
La sicurezza come problema tecnico.
Concentriamoci quindi sulla
sicurezza come problema tecnico: essa può essere considerata come la qualità che
ha un sistema in cui nessuno (persona o altro sistema) può compiere azioni per
cui non è autorizzato. Questa definizione che sembra chiara e precisa ha invece
un grado di ambiguità, dovuta al fatto che la distinzione tra azioni autorizzate
e non autorizzate può essere fatta solo relativamente alle azioni di cui si
conosce l'esistenza, ma ogni nuova tecnologia, per il suo creare nuove
possibilità di azione e interazione che si definiscono nei processi di
apprendimento che i suoi utenti sviluppano usandola, rende possibili anche
azioni che non erano state previste e prese in considerazione al momento della
sua progettazione. Si potrebbe sfuggire a questa indeterminazione adottando una
di queste due scelte radicali: una volta definite le azioni autorizzate, tutte
le altre non lo sono, oppure una volta definite le azioni non autorizzate tutte
le altre lo sono; ma in entrambi i casi gli effetti non sono accettabili.
Nel
primo caso, infatti, si definirebbe una politica troppo restrittiva, per cui
tutte le azioni impreviste sono proibite, anche quelle che non hanno alcuna
pericolosità e, magari, sono molto utili; nel secondo, una politica troppo poco
restrittiva, per cui tutte le azioni impreviste sono autorizzate, anche quelle
che sono pericolose e dannose. Non resta quindi che accettare la parziale
indeterminatezza del concetto di sicurezza tecnica e considerare quest'ultima
come un processo in cui gli obiettivi vengono continuamente riformulati e
affinati.
Per limitare il campo del nostro discorso, ci limiteremo qui a
parlare dei sistemi basati su Internet e sul web, che rappresentano oggi la
sfida più significativa che la sicurezza pone in campo tecnologico, poiché essi
sono in massimo grado pubblici e universali. E' utile per questo articolare la
sicurezza attraverso le categorie con cui essa può essere realizzata e
caratterizzata. E' questo il senso che ha l'Internet security glossary2 di
cui riportiamo le categorie più significative qui sotto:
- Autenticazione: il processo di verifica dell'identità preteso da o per una entità.
- Confidenzialità: la proprietà per cui un'informazione non è resa disponibile o svelata a individui, entità o processi non autorizzati.
- Controllo degli accessi: la protezione delle risorse di sistema contro gli accessi non autorizzati; il processo per mezzo del quale l'uso delle risorse di un sistema è regolato in accordo con una politica di sicurezza ed è permesso solo alle entità autorizzate (utenti, programmi, processi oppure altri sistemi).
- Disponibilità: la proprietà per cui un sistema o una risorsa di sistema sono accessibili e usabili su domanda da parte di una entità autorizzata, in accordo alle specifiche di prestazione del sistema.
- Integrità: la proprietà per cui un'informazione non è stata modificata o distrutta senza autorizzazione.
- Informazione sensibile o critica (Sensitive information): un'informazione è sensibile o critica se la sua divulgazione, alterazione o distruzione causa danni al suo possessore o utente.
- Non disconoscimento (non repudiation): un servizio di sicurezza che protegge da una falsa negazione di partecipazione in una comunicazione. Essa può riguardare sia le false negazioni di avere inviato una informazione sia quelle di averla ricevuta.
- Traccia di controllo (Audit trail): una registrazione cronologica delle diverse attività del sistema che è sufficiente per rendere possibili la ricostruzione e l'esame della sequenza di ambienti e attività che circonda o conduce a un'operazione, procedura o evento in una transazione rilevante dal punto di vista della sicurezza dal suo inizio alla fine.
Queste categorie caratterizzano le principali componenti e proprietà di un sistema di sicurezza per il web, che infatti può essere descritto scegliendo tra di esse quelle che hanno massima priorità e combinandole in un'architettura coerente.
Le difese tecniche per la sicurezza.
Vediamo ora quali sono le
componenti principali dei sistemi di sicurezza, e quali approcci si sono
affermati per la loro realizzazione.
Oggi abbiamo tre tipologie principali di
sistemi che da soli o integrandosi a vicenda creano difese contro gli attacchi
che nodi e canali della rete possono subire.
In primo luogo, vi sono le
difese basate su sistemi per la certificazione dell'identità dell'attore3.
Le difese di questo genere sono costituite da infrastrutture per la gestione
delle chiavi pubbliche (Public key infrastructure - Pki) che abilitano, ad
esempio, la firma digitale su documenti elettronici che viaggiano in rete4.
Una Pki è contraddistinta dall'utilizzazione di un certificato rilasciato da una
autorità di certificazione (Certification authority - Ca) per confermare
l'identità e altre rilevanti informazioni relative a chi lo detiene.
In
termini tecnologici una Pki si caratterizza per i sistemi crittografici e i
protocolli attraverso cui abilita e garantisce firma digitale, autenticazione,
integrità dei dati, non disconoscimento e confidenzialità. In termini più
generali una Pki è anche caratterizzata dalle politiche che essa adotta per
creare condizioni di fiducia e di accettazione del rischio tra le parti
coinvolte (oltre alla Ca che rilascia il certificato, il soggetto identificato
da esso e l'entità che fa affidamento su di esso).
Le Pki limitano quindi il
loro intervento alla certificazione dell'identità di chi agisce nella rete e,
per quanto molto importanti, non esauriscono le protezioni necessarie a un'ampia
sicurezza nella rete, perché sono molte le interazioni in rete che non possono
essere soggette a controlli di identità. Va sottolineato che, a evitare che i
detentori di un sistema di comunicazione in rete possano acquisire sui loro
utenti informazioni che attaccano la loro privacy è bene che anche la raccolta
di tracce di controllo per la verifica dell'identità degli attori e del non
disconoscimento sia attuata in un Pki.
In secondo luogo vi sono i cosiddetti firewalls, sistemi che realizzano una
separazione netta e protetta tra una sotto-rete (ad esempio aziendale) o un
sistema e la rete generale. Le interazioni all'interno del dominio protetto dal
firewall non hanno vincoli mentre vi sono filtri molto selettivi per accedere
alla sotto-rete o al sistema protetto dal firewall. La tecnologia del firewall è
oggi molto evoluta, ma essa per garantire livelli di sicurezza ad alta
affidabilità deve essere implementata con vincoli restrittivi che spesso
limitano in modo drastico i rapporti della sotto-rete protetta con l'esterno.
Quando questi vincoli restrittivi non sono messi in opera, la protezione del
firewall diventa meno stretta, per cui quest'ultimo deve essere rafforzato da
altri meccanismi più specifici e selettivi che andranno applicati ai dati e ai
sistemi sensibili che si vogliono proteggere.
E' per questo che la classe più
significativa di meccanismi per la sicurezza è costituita, questa è la terza
tipologia, da quelli che sono in grado di realizzare politiche differenziate di
controllo degli accessi a sistemi distribuiti5. Nel corso degli
ultimi anni sono stati definiti e implementati diversi modelli di controllo
degli accessi che sono attualmente ampiamente adottati; altri sono ancora in
fase di sviluppo e sono implementati soltanto in prototipi. Eccone i
principali.
Il Discretionary access control (Dac, controllo discrezionale degli accessi)
e il Mandatory access control (Mac, controllo obbligatorio degli accessi) sono i
due principali esempi di quelli che possono essere considerati come i modelli
tradizionali di controllo degli accessi, mentre invece il Role based access
control (Rbac, controllo degli accessi basato sui ruoli) e il Task based access
control (Tbac, controllo degli accessi basato sui compiti) sono stati proposti
più recentemente per rispondere in maniera specifica ai bisogni di sicurezza di
una classe più ampia di applicazioni.
Nei modelli Dac viene data la
possibilità di specificare le regole di autorizzazione all'accesso per tutti i
soggetti e gli oggetti in un sistema, rispettando la proprietà degli oggetti. Le
policies Dac sono flessibili e sono le più utilizzate nella rete, ma non danno
elevate garanzie di sicurezza: per esempio, esse non controllano la copia di un
documento, e per questo motivo non garantiscono che quel documento, in copia,
non venga reso accessibile anche a chi non ne ha l'autorizzazione.
Nei modelli Mac tutti i soggetti e gli oggetti sono classificati in base a
dei livelli di sensitivity (sensibilità, criticità) predefiniti, che vengono poi
usati nella decisione di autorizzazione all'accesso. I modelli Mac possono
quindi adottare delle regole che assicurano che l'informazione non passi, da un
livello di sensitivity più alto a uno più basso. La protezione dei modelli Mac è
più robusta di quella fornita dai modelli Dac, ma essi pagano per questo con una
scarsa flessibilità per cui non sempre è agevole applicarli, ad esempio, a
sistemi basati sul web. In molti casi si adottano quindi delle politiche che
combinano i modelli Dac e Mac.
I modelli Rbac sono oggetto di attenzione
crescente perché sono in grado di supportare una vasta gamma di politiche
(comprese quelle Dac e Mac) e perché, essendo basati su una categoria
organizzativa come quella di ruolo, sono in grado di riflettere con immediatezza
la struttura dell'organizzazione in cui vengono adottati. Anche la gestione in
termini di sicurezza dei cambiamenti organizzativi è quanto mai semplice visto
che, quando una persona cambia ruolo, essa automaticamente perde i diritti del
ruolo che lascia per acquisire i diritti di quello che va a ricoprire. La sfida
per i modelli Rbac è quella di riuscire a renderli abbastanza robusti in modo
che sappiano tenere conto dei vincoli temporali e logici che sussistono tra
ruoli e compiti da svolgere, garantendo insieme disponibilità e integrità delle
risorse.
I modelli Tbac sono stati recentemente proposti per rispondere ai
requisiti di sicurezza dei sistemi orientati ai compiti come i workflow
management systems6. Thomas e
Sandhu7 hanno proposto
quella che può essere definita una vera gerarchia di quattro modelli Tbac che
realizzano politiche di controllo degli accessi sempre più sofisticate e
flessibili.
I quattro modelli citati (la tabella sotto ne riassume le
proprietà) e in particolare gli ultimi due - Rbac e Tbac - sono ancora in corso
di sviluppo per realizzare politiche di controllo degli accessi adatte per
sistemi ipertestuali e i workflow management systems, e per renderli integrabili
con le protezioni date dalle Pki. Infine, anche la tecnologia degli agenti viene
adottata per lo sviluppo di nuovi sistemi di controllo degli accessi.
La sicurezza nella rete dal punto di vista degli utenti.
Le difese
che si possono oggi realizzare per la sicurezza nella rete di cui abbiamo
parlato hanno due obiettivi: da una parte si vuole garantire l'identità di chi
compie operazioni in rete, dall'altra si vuole selezionare chi ha diritto di
accesso alle risorse nella rete. L'obiettivo è quindi quello di rendere
impossibili gli attacchi alla sicurezza. Ma sappiamo bene che tale obiettivo non
è realistico e che, come nel mondo fisico in cui abbiamo vissuto e ancora
viviamo, le difese che noi realizziamo contro scorrettezze e crimini possono al
più contenere gli attacchi entro certi limiti (aumentando il costo e la
rischiosità degli attacchi stessi) ma non annullarli. Non solo, come vedremo più
avanti, non sempre è facile riconoscere scorrettezze e crimini, in quanto non
sempre è possibile una naturale estensione alla rete dei principi giuridici ed
etici che avevamo adottato nel mondo fisico. La creazione di condizioni che
rendono difficili se non impossibili scorrettezze o crimini e dissuadono dal
compierle va quindi accoppiata ad azioni che depotenziano se non annullano i
loro effetti. Fare il backup dei contenuti dei nostri sistemi è, ad esempio, una
tipica pratica che ha questo scopo, in quanto consente la ricreazione delle
informazioni e dei programmi che eventualmente fossero stati danneggiati o
distrutti. Per sviluppare azioni più efficaci nel depotenziare o annullare gli
effetti degli attacchi alla sicurezza è necessario comunque capire meglio la
loro natura per mettere a punto rispetto a essi difese differenziate.
In un
suo recente intervento nella rubrica "Inside risks" della rivista
"Communications of the Acm"8, Bruce Schneier
afferma che ci sono tre tipi di attacchi alla reti: gli attacchi fisici (che
mirano a colpire i calcolatori, i cavi e l'elettronica in genere), quelli
sintattici (che mirano a colpire i pacchetti software, gli algoritmi di
crittografia, i protocolli e le restrizioni di accesso ai servizi) e, infine,
gli attacchi semantici (che mirano al modo in cui noi assegniamo un significato
all'informazione, tradendo la nostra fiducia nelle informazioni che ci vengono
fornite). Schneier sostiene con ragione che gli attacchi semantici sono i più
pericolosi e i più difficili da contrastare, e che contro di essi non servono
firme digitali e sistemi per l'autenticazione e l'integrità.
La difesa contro
gli attacchi semantici non può che essere realizzata sul piano della
progettazione dei sistemi, evitando che essi prendano decisioni sulla base di
informazioni la cui credibilità è incerta. Solo informazioni ridondanti e
provenienti da sorgenti o canali differenti e certificati possono meritare
fiducia e determinare azioni ad alta criticità (che mettono in gioco la vita
umana, ingenti risorse o scelte irreversibili).
Questo non si ottiene
sviluppando nuove sofisticate difese software, ma progettando in modo diverso i
sistemi. Senza approfondire questo tema, mi preme sottolineare che parlando di
un diverso modo di progettare i sistemi intendo qui fare riferimento alla
necessità di sviluppare il sistema a partire dalle interazioni che supporta tra
i suoi utenti e non a partire dalle funzioni di cui è capace. Solo così, a mio
avviso, si è in grado di adeguare il comportamento del sistema (anche in materia
di sicurezza) alle pratiche dei suoi utenti e al valore e rilievo che essi
attribuiscono alle sue azioni.
Insomma, per quanto sia prevedibile che la
ricerca ci fornirà sempre più sofisticate ed efficaci difese contro gli attacchi
alla sicurezza, questo non giustifica una fiducia cieca nelle loro prestazioni e
con l'aumentare delle interconnessioni in rete delle risorse di calcolo è sempre
più necessario sviluppare sistemi che vanifichino gli attacchi semantici
disegnando interazioni uomo macchina e uomo-uomo in rete che riconducono la
fiducia alle sorgenti umane dell'informazione e ai loro comportamenti.
Post-scriptum.
Ho trattato il problema della sicurezza riferendomi
ai sistemi tradizionali di elaborazione delle informazioni e di supporto alla
comunicazione che usiamo quotidianamente. Non può essere taciuto comunque che il
problema della sicurezza avrà nei prossimi anni una nuova dimensione che pone
problemi inediti e drammatici. Come ha argomentato con ricchezza Bill Joy in un
suo articolo su "Wired" dello scorso anno9, l'integrazione
di nanotecnologie, robotica e genetica, che è in corso di studio e
sperimentazione in alcuni laboratori di ricerca, sarà in grado di dare vita a
sistemi auto-replicanti il cui comportamento sfugge totalmente al controllo di
chi li usa e anche di chi li ha progettati. I loro progettisti appaiono a Joy
dei nuovi apprendisti stregoni i quali non sembrano capire che stanno dando vita
a sistemi che potrebbero diventare incontrollabili e cambiare radicalmente
l'equilibrio del mondo in cui viviamo.
Joy propone una nuova Pugwash per
fermarli. Come anche altri, non so se sia necessario imporre una moratoria su
questo terreno, ma so che la discussione su questo tema e sulle forme con cui
possiamo difenderci da esiti tanto inquietanti deve rapidamente entrare
nell'agenda delle cose da fare con la massima urgenza e con il massimo
impegno.
Tabella - Approcci al controllo degli accessi
Approccio Aspetti distintivi dal punto di vista del web Dac E' il più usato
Riflette la relazione di proprietà, è flessibile
Non fornisce un alto livello di sicurezza, e quindi è
a bassa garanziaMac Ha un alto livello di sicurezza, e quindi è ad alta garanzia
Ha bassa flessibilità
Riflette il punto di vista dell'amministrazione
Regola il flusso delle informazioniRbac E' neutrale rispetto alle diverse policies
E' flessibile
E' capace di esprimere Dac, Mac e policies specifiche
di utente per mezzo della gerarchia dei ruoli e dei vincoli
E' incorporabile nelle tecnologie esistenti
E' adatto ad ambienti multi-dominio quando le policies
sono espresse per mezzo di gerarchie di ruolo e vincoliTbac Il suo paradigma di autorizzazione è orientato ai Task
E' ancora in una fase iniziale di sviluppo
Sarà una componente chiave per il successo
dell'e-commerce transaction-intensive,
delle applicazioni mediche, ecc
Elaborazione dell'autore da Joshi et al., 2001
Note
1 I. Bashir, E. Serafini e K. Wall (a cura di), Securing Network software applications, "Communications of the Acm", 44.2, 2001, pagg 28-64.
2 Internet society, Rfc 2828, Internet security glossary, 2000; ftp.isi.edu/in-notes/rfc2828.txt
3 Vedi l'articolo di E. Montolivo, in questo stesso numero di Telèma.
4 J.T. Sabo e Y.A. Dzambasow (con contributi di G. Divitt, S. Crell, M. Zolotarev), Pki policy white paper, March 2001, disponibile su http://www.pkiforum.org/
5 J.B.D. Joshi, W.G. Aref, A. Ghafoor e E.H. Spafford, Security models for web-based applications, in H. Bashir et al., 2001, pag 38-44.
6 G. De Michelis (a cura di), Manager on line, Il Sole 24 Ore, Milano, 2001.
7 R.K. Thomas, R.S. Sandhu, Task based authorization controls (Tbac): a family of models for active and enterprise-oriented authorization management, in: Proc. IFIP WG11.3 Workshop on Database security, Lake Tahoe, (CA) Aug. 1997.
8 B. Schneier, What to know about risks, "Communications of the Acm", 43.12, 2000, pag 168.
9 B. Joy, Why the future doesn't need us, "Wired", aprile 2000, pagg 238-262.