Giorgio De Michelis

Fermiamo gli inventori stregoni
o Internet diverrà incontrollabile

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 garanzia
Mac  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 informazioni
 Rbac  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 vincoli
 Tbac  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.