28 dicembre 2007

Difesa in profondità

È errore comune tra i sistemisti e gli amministratori di basi dati trattare il DBMS come un sistema a sé stante, dimenticando invece che è un server, dunque nodo di una rete, che offre servizi ad altre applicazioni. Va perciò considerato come un servizio interconnesso, pur con le sue peculiarità: l’operazione di rendere sicuro un database deve pertanto integrarsi con le politiche di sicurezza dell’infrastruttura, degli applicativi e dei sistemi operativi utilizzati.

Ciò consente di ottimizzare l’investimento di risorse umane ed economiche: per fare un esempio pratico, non avrebbe senso concentrare tutte le attenzioni sulla sicurezza del database, trascurando magari che il luogo in cui risiede il data server è insicuro e chiunque potrebbe sottrarre la macchina o i suoi hard disk. In tali casi, piuttosto, sarebbe meglio implementare un sistema di cifratura del file system e dei dati che ne garantirebbe
ragionevolmente la segretezza anche in caso di furto.

La parola “ragionevolmente” è usata di proposito. Non può esistere infatti un sistema informatico completamente sicuro: dati tempo e risorse sufficienti, qualsiasi sistema può essere compromesso. Ciò da una semplice considerazione: chi amministra una rete, un server, un database deve operare correttamente sempre, senza mai fallire, mentre all’aggressore basta un’unica occasione a lui favorevole per penetrarne le difese.



Non potendo annullare il rischio di effrazione, si è col tempo giunti alla conclusione che la soluzione migliore sia complicare al massimo il lavoro dell’aggressore, mediante un approccio derivato dalle pratiche militari, definito difesa in profondità (defense-in-depth - l'immagine è tratta da Control Systems Cyber Security: Defense in Depth Strategies) . Essa si basa su un modello a livelli di sicurezza multipli: la sicurezza del database sarà quindi parte di tale strategia, insieme alle tecniche di protezione della rete, dei server che la compongono e dei sistemi operativi utilizzati, nonché delle regole di utilizzo stabilite. L’aggressore sarà così costretto a superare più barriere, invece di doverne violare una soltanto.

Una strategia di difesa in profondità potrà essere basata su un'efficace sinergia tra metodi di autenticazione e autorizzazione, firewall perimetrali e segmentazione interna della rete, VPN, IDS e IPS (Intrusion Detection/Protection Systems), crittografia a chiave pubblica, strumenti per l'identificazione delle vulnerabilità e la gestione delle patch, auditing e processi di incident response.

Il collante dei livelli di sicurezza multipli della difesa in profondità sarà la
politica di sicurezza aziendale, che definisce regole, procedure e processi con l’obiettivo di proteggere i sistemi informativi e di rispondere prontamente alle violazioni. Non tutte le misure di protezione andranno necessariamente adottate: ragioni di costi, tempo e opportunità detteranno le scelte implementative; specie nel contesto italiano, dove a parte le poche grandi organizzazioni pubbliche e private dotate di infrastrutture complesse, la maggior parte delle realtà aziendali è di piccole-medie dimensioni, con esigenze specifiche e in qualche modo circoscritte. In questi casi, una seria analisi dei rischi individuerà i punti critici dell'infrastruttura e indirizzerà l'adozione delle contromisure opportune. Sempre che si vogliano fare le cose seriamente.

23 dicembre 2007

Il Grande Fratello, senza la Marcuzzi

L'FBI ha stanziato un miliardo di dollari (cifra che fa impallidire i 90 milioni di euro dello scandaloso portale Italia.it...) per realizzare il più grande database informatico al mondo contenente caratteristiche fisiche personali. Questa ciclopica banca dati consentirà alle forze di polizia di identificare gli individui, come mai prima, sul territorio degli Stati Uniti e all'estero. Inizialmente conterrà foto segnaletiche e impronte digitali, ma è già previsto di estendere la raccolta di dati biometrici alle iridi e - si ipotizza - al timbro di voce. Poi, si sa, l'appetito vien mangiando.

Un aspetto che lascia perplessi è che l'FBI, dietro richiesta dei datori di lavoro, conserverà anche le impronte digitali dei dipendenti sottoposti a un controllo su eventuali trascorsi giudiziari, cosicché le aziende possano essere avvertite di eventuali futuri problemi con la legge dei propri dipendenti (o aspiranti tali). Probabilmente la legislazione statunitense consente questo scambio di informazioni tra aziende e FBI (immagino più che altro per posizioni particolari all'interno di enti governativi o imprese che lavorano per l'amministrazione pubblica); resta comunque il sospetto su questa memorizzazione a tempo indeterminato e sugli usi "non ufficiali" che se ne potrà fare.

Ma l'aspetto più preoccupante è la conservazione di tutti i dati biometrici in un unico sistema. Per quanto i responsabili possano dare assicurazioni sulle misure di sicurezza adottate, prima o poi il sistema sarà inevitabilmente compromesso, vuoi per una falla nei sistemi, vuoi per una leggerezza di qualche operatore (siamo esseri umani). Il furto del numero della propria carta di credito è un evento spiacevole, ma vi si può porre rimedio; il furto della propria identità, convalidata dai dati biometrici, è un vero e proprio incubo, da cui si potrebbe anche non uscire.

La notizia è riportata sul sito del Washington Post e sta già suscitando feroci polemiche tra gli attivisti politici, coloro che si occupano di diritti civili e, naturalmente, gli esperti di informatica e sicurezza.

17 dicembre 2007

Automatizzare la sicurezza?

Rileggere qualcosa che avevamo trovato interessante tempo addietro spesso torna utile. Si rinfrescano le idee, e ritornando sulle riflessioni fatte allora le si può guardare da un nuovo punto di vista (come insegnava, in piedi sulla cattedra, il professor Keating ne "L'attimo fuggente"), o magari scoprire che si è ancora della stessa opinione, irrobustita dalle nuove esperienze.

Oracle MagazineStavo rileggendo in questi giorni l'articolo di Mary Ann Davidson su Oracle Magazine di settembre/ottobre 07, dal titolo "Automating Security". Sono andato a riprenderlo perché sui siti dei produttori e in quelli dedicati alla sicurezza informatica si parla sempre più di automatizzazione dei processi anche nell'ambito della sicurezza IT.

La sicurezza informatica non è più solo una questione di password. Configurare sistemi eterogenei, o sistemi complessi come un moderno DBMS, è un'operazione lunga, delicata e noiosa. Come dice la Davidson:

"Most people don't have the time or expertise to set, say, 82 configuration parameters by hand (on 37 instances), much less do it every day to ensure that they didn't leave a cyberdoor wide open"


ovvero, "la maggior parte delle persone non ha il tempo o le competenze per impostare uno ad uno - tanto per dire - 82 parametri su 37 istanze, e ancora meno per farlo quotidianamente per assicurarsi di non avere lasciato una breccia spalancata". Allora, ben vengano tutti quegli strumenti che consentono di gestire - e monitorare - in modo più efficiente i parametri di sicurezza della propria infrastruttura, come gli strumenti interni ai DBMS (in virtù dei quali la Davidson implicitamente, ma in modo trasparente promuove l'adozione di Oracle 11g), o i cosiddetti security event management tools (qualcuno ha detto Tivoli?).

Un vantaggio notevole degli strumenti più evoluti è che consentono di automatizzare i controlli di conformità alla normativa esistente, siano leggi nazionali o standard internazionali. Negli USA le imprese che fatturano più di 75 milioni di dollari, quotate in borsa - quindi vale anche per le aziende straniere che decidono di quotarsi lì - devono garantire la conformità al Sarbanes-Oxley Act (detta SOX - la sezione 404 riguarda direttamente chi gestisce i dati). Ma lo stesso discorso vale per le norme ISO come la 27001. In tutti questi casi il vantaggio dei security compliance management tools è evidente: ci sono le norme, e ci sono le azioni intraprese da chi si occupa della sicurezza dei sistemi; ma chi garantisce "al volo" che queste azioni sono efficaci e rispondenti ai requisiti imposti, soprattutto quando chi controlla e decide in base ai report non ha competenze sufficienti per valutare le soluzioni adottate?

Il rischio tuttavia è che l'automatizzazione porti a un falso senso di sicurezza. Una politica di sicurezza chiara, precisa e condivisa dal management (prima di tutto) e da tutti gli operatori coinvolti risulterà tanto più efficace se supportata da strumenti che automatizzino la gestione della sua implementazione; altrimenti automatizzare dei processi mal pensati - dunque inefficaci, almeno in parte - non avrà altra conseguenza che rendere veloci ed efficienti quei processi. Senza reali garanzie sui risultati.

Adottare particolari strumenti o suite senza un approfondimento in merito, non affrontare la questione della sicurezza alla radice, trascurare l'onnipresente fattore umano, hanno come effetto di spostare il problema un po' più in là. Per un po' potrebbe anche funzionare, ma alla lunga...

14 dicembre 2007

Da qualche parte bisogna cominciare...

Ho cercato per molto tempo di evitare il blog, convinto di non avere tempo a sufficienza. Per un po' ci sono anche riuscito, ma alla fine non ne ho più potuto fare a meno. Il materiale che ho raccolto per studio, lavoro, approfondimenti e appunti vari ha superato di gran lunga le dimensioni gestibili da un normale essere umano. Quando hai due diverse chiavette usb, tre computer e un hard disk portatile su cui sono sparpagliati migliaia di file tra i quali non trovi mai l'articolo che cerchi, quella slide che avevi preparato, un commento a una nuova norma su cui stavi lavorando il mese prima, è il segno che è tempo di reagire.

Ho anche cercato di organizzare tutto mediante un piccolo database. Questa soluzione funziona, almeno in parte. Ma poi mi manca un elemento essenziale: la disponibilità "distribuita", ovvero la possibilità di recuperare i materiali ovunque mi trovi, e il poterli mettere a disposizione delle persone con cui collaboro e, perché no, di chi cerca su internet - come peraltro faccio io - informazioni sulla sicurezza dei sistemi informativi, con particolare riguardo ai database e alla tutela dei dati.

In effetti su internet si trova molto sulla sicurezza delle reti, sulla (in)sicurezza dei sistemi operativi, ma poco sulla sicurezza dei database. Trovo curioso che ci sia così poco interesse, quando lo scopo di un attacco informatico serio - non parlo di script kiddies - è di accedere alle informazioni custodite nei sistemi. Non mi stupisco allora neppure quando mi trovo davanti a reti ben configurate, amministratori capaci e preparati, ma a DBMS esposti a rischi vari, da password che transitano in chiaro a tutte le utenze con privilegi amministrativi. Senza parlare delle minacce ancora più gravi, e degli attacchi più sofisticati.

Allora, cominciamo. Questo blog sarà un quaderno di appunti per me, ma l'invito a usarlo è esteso a tutte le persone coinvolte nella difesa dei database: professionisti, amministratori di sistemi informatici, studenti. I commenti e le domande saranno benvenuti; e anche le eventuali correzioni, perché al mondo c'è sempre chi ne sa più di te... e io socraticamente so di non sapere. Cominciamo!