10 gennaio 2008

Il dato "malandrino"

Capita di fare scoperte curiose dove non le aspetti. Per esempio, basta andare sul sito della Microsoft, e inserire "sicurezza dei dati" nel form di ricerca. Live Search restituisce 33.800 pagine (solo in italiano), e al primo posto riporta "Sicurezza dei dati: diversi aspetti", un editoriale di Maurizio Cunico pubblicato l'anno scorso. Un articolo di taglio introduttivo, che correttamente - non so quanto volutamente - viene proposto come prima lettura.

Ma ecco la prima sorpresa: gli sviluppatori talvolta dimenticano che il dato "è un oggetto complesso, a volte sfuggente, a volte malandrino". Malandrino?! Perché non birbante, o canaglia? Birichino! O monello... Oddio, niente di grave, l'immagine è pure simpatica; ed è chiaro che Cunico intende stimolare il lettore a non affrontare con leggerezza la gestione dei dati. Quello che mi ha colpito è leggere quella frase così "informale" sul sito di un'azienda che trasmette un'immagine di sé seria e "controllata", quasi istituzionale.

Le vere sorprese arrivano dopo, leggendo l'articolo.

La pagina è inserita tra le risorse MSDN, ed è chiaramente rivolta agli sviluppatori. Chi si occupa di sicurezza dei database sa che spesso costoro considerano la base dati come un'appendice della loro applicazione. Non potrebbe neanche essere altrimenti, almeno dal loro punto di vista: per applicazioni di un certo livello la gestione del database è compito del DBA, e la sicurezza dei sistemi - nel migliore dei casi - di qualcun altro. Dovrebbe essere il project manager a coordinare le esigenze e il lavoro di queste persone, affinché la sicurezza sia uno degli aspetti portanti del progetto e non una feature appiccicata magari all'ultimo momento.

Comunque è giusto che anche gli sviluppatori siano a conoscenza delle problematiche di sicurezza a cui vanno incontro le loro applicazioni e del giusto modo di affrontarle. Ben venga allora un articolo come quello di Cunico, che cerca di stabilire dei punti fermi sull'argomento. Solo che, a mio avviso, non fa poi molta chiarezza!

Nulla da dire sulle sezioni relative a integrità, distribuzione e disponibilità dei dati. Mi riferisco invece a quella intitolata "Accesso ai dati / Sicurezza dei dati". Punto per punto:

  • Sicurezza nella trasmissione e nel trasferimento dei dati: la trattazione è troppo sbrigativa. Fare un accenno alle varie possibilità di cifratura del canale (SSL, tunneling SSH, IPSec, funzionalità dedicate dei DBMS) avrebbe consentito al lettore interessato di approfondire autonomamente l'argomento senza rimanere nel vago.

  • Sicurezza nell’accesso alle applicazioni di gestione: sarebbe tipicamente un problema "banale"? Passi per le classiche applicazioni client/server; ma per quelle multi-tier, basati su un pool di connessioni, è opportuno allineare i modelli di gestione degli utenti tra applicazione e database. Bisognerebbe almeno dirlo.

  • Sicurezza nell’accesso ai dati: di nuovo, troppa vaghezza. Se leggo di una soluzione elegante, mi vengono in mente il fine-grained access control e il labeling degli attributi. Ma l'autore stava pensando a queste soluzioni, oppure ad altre?


Nessun accenno a uno dei peggiori nemici della sicurezza dei database, la SQL injection, che sfrutta proprio le vulnerabilità delle applicazioni. O ai sorgenti aperti o file di configurazione con password di accesso in chiaro (succede). O ancora alla cifratura dei data at rest, cioè dei dati memorizzati, che può essere fatta certamente dal DBMS, ma anche direttamente dall'applicazione (mediante opportune librerie) in particolari ambiti in cui non si vuole consentire l'accesso ai dati al di fuori della stessa.

Non conosco Cunico, ma leggendo il suo curriculum su internet traspaiono grande professionalità ed esperienza (molto maggiori delle mie, per esempio) e gli specialisti Microsoft - è noto - sono professionisti di altissimo livello. Mi sorprende dunque tanta fretta nell'affrontare un tema così complesso, di attualità e fonte di feroci critiche rivolte proprio alla Microsoft, anche nel contesto di un articolo introduttivo.

Il pezzo è nella sezione tecnica della newsletter MSDN del 22/3/2007, ma è archiviato nella cartella degli editoriali. Un editoriale è un articolo di fondo che rispecchia le posizioni e l'indirizzo dell'editore: trovo curioso che Microsoft veda la sicurezza dei dati in questo modo.

Nessun commento: