October 9, 2007

*nix world: si ricade sempre nei soliti errori

Aug 20 11:49:32 giediprime sshd[2105]: Failed password for root from 91.121.18.193 port 56212 ssh2
Aug 20 11:49:32 giediprime sshd[2106]: Received disconnect from 91.121.18.193: 11: Bye Bye

Tux JuniorE’ uno scenario abbastanza comune se guardate i secure log. Nelle scorse settimane ho messo le mani su diverse installazioni Linux e i log sono davvero stracolmi di tentativi di bruteforce con utenti tipici di sistema e nomi utente generici. Tutto questo non per ottenere grant amministrative o furto di informazioni, ma per installare un piccolo archivio con qualche strumento utile: una shell per non lasciare tracce nei log di storia dei comandi, screen per riprendere lo stato del proprio “lavoro”, uno scanner per altre secure shell e un file con le credenziali con i nomi utente e password rimediati in giro. Uno dei file password che ho recuperato aveva ben 8170 voci al suo interno, e 50 processi ssh-scan che giravano in memoria.

Premesso che il proprietario del server non si era mai accorto della cosa, mi chiedo: ma perche’ persiste la politica di tappare i buchi? SSH e’ un protocollo perennemente attaccato, al pari di FTP; le password sono poco affidabili per cui e’ necessario acquisire una politica di gestione degli account piu’ rigida e applicarla sempre! E’ incredibile qual’e’ il numero di configurazioni ssh che ho visto che consentono l’accesso diretto anche all’utente root. Per non parlare di servizi generici. Il metodo di negare tutto e consentire solo quel poco che serve e’ sempre la migliore.

Comunque sia… i server in oggetto sono stati bonificati e puliti, i demoni ssh riconfigurati e ora il bruteforce puo’ continuare all’infinito :-)

September 12, 2007

Sicurezza dei dati, parte terza: cancelliamo le tracce

Hard DriveTerzo, di tre, articolo legato alla sicurezza e confidenzialita’ dei dati sui Personal Computer.

Abbiamo cifrato i dati quindi sono divenuti inaccessibili ad occhi indiscreti. Abbiamo implementato una politica di gestione delle password oppure implementato un lettore biometrico, per cui ci siamo risolti anche il problema della complessita’ delle password. Manca solo fare in modo che i dati cancellati non possano essere recuperati con procedure di lettura del disco a basso livello.

Normalmente quando un file viene cancellato dal filesystem (e dal cestino) in realta’ viene solamente eliminata l’informazione su dove si trovava il file sulla superficie del disco. Esistono dei programmi gratuiti (tra i miei preferiti c’e’ Free Undelete per le operazioni piu’ semplici) che analizzano la superficie del disco alla ricerca di file cancellati e consentono il loro ripristino. Utilizzando strumenti di questo genere e’ facile riuscire a recuperare un file che sia stato piu’ o meno recentemente eliminato dall’utente (spesso preferisco utilizzare - anche sui server - una procedura di questo genere prima di andare a ricorrere ad infrastrutture di backup). Un file diventa impossibile da ripristinare quando i dati vengono fisicamente sovrascritti piu’ volte con altri dati.

Eraser Shell ExtensionUna delle tecniche che si possono trovare in circolazione per risolvere questo noioso problema e’ quello di deframmentare il disco rigido piu’ volte. Questa pratica non e’ effettivamente molto efficace e rischia comunque di avere l’elemento indesiderato del “intervento utente” che annulla il processo di deframmentazione. Da diversi anni utilizzo una utility liberamente scaricabile che mi risolve questo problema. Si chiama “Eraser“. Si integra con il gestore delle risorse del computer di Windows e a prima vista e’ possibile notare che aggiunge una voce nuova al menu’ locale di file e cartelle (come nella figura qui di fianco). Selezionando “Erase” anziche’ “Elimina” il nostro strumento entra in azione e, una volta cancellato il file, sovrascrive la superficie occupata da questo file un determinato numero di volte con dati casuali (nella mia configurazione il numero e’ 35). Operando in questo modo i file non sono in alcun modo recuperabili dalla superficie del disco, nemmeno con strumenti di livello piu “basso” (dove piu’ e’ basso lo strumento, piu’ e’ costoso e complesso). Eraser offre una funzione aggiuntiva: e’ possibile pianficare anche la sovrascrittura della superficie libera del disco. Quando un file viene cancellato, sebbene i dati non siano effettivamente cancellati, lo spazio libero del disco viene incrementato in funzione delle dimensioni del file rimosso. Quest’area “libera” conterra’ sia aree di allocazione neutre (dove non e’ mai stato scritto nulla prima) sia dati di file “vecchi”. Eraser si preoccupa di sovrascrivere (con politiche ben definibili) queste aree “libere” rendendo impossibile il recupero di dati cancellati anche piu’ tempo addietro.

Eraser non e’ l’unico prodotto che svolge questa funzione: per esempio la suite di prodotti di sicurezza di McAfee offre uno strumento del tutto simile che si chiama “Shredder”, pertanto esistono soluzioni anche vendor-specific (come altresi’ open source o comunque shareware/freeware) che svolgono le medesime funzioni.

Questo ci porta ad una caratteristica di EFS: prima che un file venga cifrato viene creata, per qualche istante, una copia di questo file. Quando il processo di cifratura del file viene completata, questa copia viene rimossa. In altre parole prima che venga creato il file cifrato, viene fatta una copia del file e quindi cancellata. Poiche’ viene fatta una copia del file, quindi in un’area disco ben distinta, essa puo’ diventare “leggibile” utilizzando delle tecniche forensi sul disco. Utilizzando uno strumento come Eraser che si preoccupa di sovrascrivere costantemente le aree del disco libere si ovvia ad un problema che a prima vista potrebbe non essere considerato come “pericoloso” o comunque rischioso.

Esistono best-practice di societa’ con elevati problemi di sicurezza che sfiorano la fantascienza. Un noto ente internazionale, in ambito militare, per esempio al momento del riciclo dei hard disk li smagnetizza utilizzando forti fonti magnetiche, li taglia fisicamente in quattro parti e li fa smaltire da societa’ differenti. Altre societa’ o enti, per citare un altro esempio, quando smantellano i server per un cambio di parco macchine, si preoccupano anche di distruggere le memorie RAM. Questo per far capire che le informazioni stanno assumendo un valore inestimabile oggi come oggi ed esiste un sempre maggior numero di strumenti che ne tutelano la confidenzialita’ sotto diversi aspetti.

September 11, 2007

Sicurezza dei dati, parte seconda: Autenticazione

Retina ScanSecondo articolo, di tre, finalizzato alla protezione delle informazioni salvate sui Personal Computer.

Nel mio precedente intervento ho spiegato come attivare EFS su una cartella di un Personal Computer. Questo metodo e’ un efficace meccanismo per proteggere i dati da eventuali visitatori o utenti malintenzionati. Tuttavia EFS ha un punto debole: l’integrita’ del certificato utilizzato per la crittografia dei dati e’ demandata alla password dell’account utente. Nelle mie precedenti esperienze lavorative ho trovato che per accedere all’account di un utente mi bastavano in media 4 tentativi. Se poi per “disgrazia” avevo accesso alla rete, bastava lanciare un analizzatore di rete per riuscire ad avere molte piu’ informazioni. Questa situazione e’ veramente drammatica, e l’idea di insegnare ad un utente la gestione della propria password e’ inversamente proporzionale alla sua posizione in azienda. Sta di fatto che un modo per difendere i dati bisogna trovarlo.

Esistono diverse soluzioni per la gestione automatizzata o semi-automatizzata delle password. Quello probabilmente piu’ noto e’ l’utilizzo delle smart-card che tuttavia hanno dei problemi: sono fisiche, si perdono, sono fragili. Una grossa societa’ sul territorio Nazionale, con qualche decina di migliaia di utenze, al giorno del rollout del sistema con smart-card (qualche anno fa) ha subito un danno non indifferente: piu’ della meta’ dei dipendenti si e’ dimenticata le smartcard a casa o in giro, provocando un enorme danno all’azienda.

Digital Persona Fingerprint ReaderQualche giorno fa girando per il Mediaworld sono incappato in un prodotto che gia’ conoscevo da diverso tempo: un lettore biometrico di impronte digitali marcato Microsoft, prodotto da Digital Persona. Si tratta di un piccolo congegno di costi particolarmente contenuti (attorno ai 40EUR) che consente di utilizzare le proprie impronte digitali al posto della propria password. Lo conosco poiche’ in passato feci il rilascio di un sito dimostrativo di Digital Persona in una societa’ di TLC Italiana.

Esiste ovviamente una versione evoluta di questo sistema che si appoggia ad Active Directory, tuttavia e’ il principio della soluzione l’oggetto del mio intervento. Il software fornito con il lettore biometrico sostituisce msgina.dll, responsabile dell’autenticazione utente all’accesso di Windows. All’accesso di Windows l’utente potra’ decidere di inserire la propria password manualmente oppure utilizzando il proprio dito. E’ ovvio che, rispetto alla smartcard, il dito non puo’ essere dimenticato a casa! Inoltre il biolettore di Microsoft e’ in grado di generare la password per conto dell’utente, rendendole quindi lunghe e complesse fattore che in un ambiente corporativo rende certo le cose molto piu’ sicure. Il concetto dell’utente che “non conosce la propria password” e’ piuttosto nuovo e chiaramente si porta appresso la necessita’ di dover provvedere ad ovviare a soluzioni politiche ai problemi a cui l’utente stesso si possa trovare davanti: PC privo di lettore biometrico, lettore guasto, o dita tagliate (inteso come ferite, non tagliate di netto!!!).

Il lettore biometrico e il software fornito con esso consente di memorizzare, per ogni utente, anche piu’ di un dito, quindi fornendo una sorta di “alta affidabilita’” qualora un dito non fosse utilizzabile (magari perche’ con un cerotto sopra). Ma come funziona esattamente il lettore biometrico? Le impronte digitali sono l’unica caratteristica fisica univoca per ogni individuo. La lettura di un’impronta digitale si basa sull’individuazione delle biforcazioni nelle linee che la compongono. L’orientamento di queste biforcazioni e la loro posizione sono acquisite dal lettore un numero di volte a contrasti differenti, che vengono quindi utilizzate per creare un modello tridimensionale dell’impronta da cui, successivamente, viene generato un “template” digitale che rappresenta l’impronta stessa. Questo processo ha due enormi funzioni: la prima e’ ovviamente finalizzata alla generazione di una rappresentazione digitale dell’impronta, ovviamente univoca, da utilizzare per identificare l’utente in modo infallibile. Ricordo che quando feci l’installazione del sito le specifiche di questo prodotto garantivano uno scarto di una lettura errata ogni 10.000 acquisizioni.

La seconda importantissima funzione del “template” e’ il fatto che all’interno del sistema non viene salvata l’impronta digitale che, per legge, e’ un dato sensibile. Questa caratteristica risolve i drammatici problemi di privacy che si verificherebbero se dovessimo per disgrazia mantenere anche dei dati sensibili di questa portata nel nostro sistema informativo.

I dati tra lettore e postazione fissa vengono trasmessi in forma cifrata, mentre il template dovrebbe essere un certificato x.509, entrambe soluzioni che garantiscono la confidenzialita’ del dato anche nel breve percorso tra lettore e Personal Computer. Nel pieno rispetto di tutti i principi di crittografia, non esistono costanti nella creazione dei canali cifrati: questi infatti vengono generati partendo da variabili come le condizioni ambientali del Personal Computer stesso, quindi estremamente volatili e fluttuanti.

Conclusione

Aggiungere un lettore biometrico alla propria infrastruttura di rete potrebbe essere visto come una seccatura e un problema che richiede una lunga progettazione e preparazione, oltre ad onerosi investimenti. Con 40 Euro circa possiamo salvare i dati di alcuni utenti cardine delle nostre aziende i quali lavorano con documenti il cui costo - in caso di perdita - sarebbe indubbiamente di valore molto maggiore. Inoltre la semplicita’ di utilizzo di questo sistema potrebbe anche piacere e rendere la vita piu’ leggera agli utenti.

September 10, 2007

Sicurezza dei dati, parte prima: EFS

A Lorenz SZ42 cipher machine on display at Bletchley Park museum.Questo articolo e’ il primo di tre in cui vorrei illustrare un modo efficace per gestire la confidenzialita’ delle informazioni presenti sui Personal Computer, in particolare i portatili.

La prima cosa che mi viene da pensare quando ad un utente viene messo a disposizione un Personal Computer portatile e’ il modo in cui difendere i dati che vi sono sopra. Purtroppo la regola della “fiducia” fallisce miseramente in origine e pensare che un utente sia coscenzioso e si ricordi di lanciare un’applicazione piuttosto che un’altra per mantenere la confidenzialita’ dei dati sul suo computer e’ impensabile. Arrivera’ il momento in cui l’utente si stufera’ (tipicamente la seconda o terza volta) e trovera’ un modo per aggirare il problema e salvare i documenti nei posti piu’ disparati (desktop, disco C e solo il cielo sa dove altro). Allora l’obiettivo di un SysAdmin e’ duplice: proteggere i dati e farlo in modo che l’utente non se ne accorga.

Windows XP e’ sicuramente la piattaforma operativa piu’ diffusa attualmente e dispone di una funzionalita’ che fino ad oggi ha entusiasmato tutte le persone a cui ho spiegato il suo funzionamento: EFS (Encrypted File System). Disponibile solo per le periferiche di archiviazione di massa con Filesystem NTFS, EFS e’ un meccanismo di crittografia dei file su disco basato su chiavi RSA. Il vantaggio di questo sistema e’ che e’ incorporato nel sistema operativo e questo indica che non dobbiamo installare o acquistare nuove licenze per raggiungere il nostro scopo. Il secondo obiettivo e’ che l’utente non deve lanciare GUI o applicazioni specifiche e seguire delle procedure strane: lavora come se nulla fosse, apre e chiude i file, visualizza i documenti, opera normalmente insomma. Se il percorso designato e’ contrassegnato per la crittografia, e’ fatta. I dati sono sicuramente cifrati (e il file sara’ elencato con il colore verde).

Encrypted File System Advanced AttributesPer attivare la crittografia su un file o una cartella e’ sufficiente aprire le proprieta’ della cartella specifica e selezionare “Crittografa contenuto per la protezione dei dati”. Il testo della nostra cartella (o file) diverra’ verde. Ora e’ cifrato.

Il punto debole di questo sistema e’ indubbiamente il fatto che la validita’ del certificato e’ legata alla password. Infatti la password per l’account utente e’ un prerequisito per il funzionamento di EFS. Una volta che un utente ha impostato la sua password e’ in grado di crittografare file e cartelle sul proprio filesystem (e in un ambiente con Active Directory, anche in rete). Tuttavia se la password e’ “debole” un malintenzionato puo’ accedere all’account dell’utente e quindi a tutti i suoi documenti. Questo, tuttavia, non accade se l’account violato e’ quello di Administrator. Infatti se il malintenzionato riesce ad ottenere il PC ed accedere al computer con l’utente Administrator, questi puo’ accedere ovviamente a tutto il sistema. Una volta ottenuto l’accesso al sistema, se tenta di aprire un file che e’ stato precedentemente cifrato il sistema restituira’ un errore di “Accesso Negato” al documento poiche’ il certificato con cui i dati sono stati cifrati non e’ quello dell’utente che effettivamente ha creato quel documento. D’altro canto, l’utente Administrator puo’ forzare la password dell’account della vittima: in questo caso, tuttavia, il certificato dell’utente perde di validita’ e i dati saranno irrimediabilmente illeggibili (confidiamo, naturalmente, nell’esistenza di procedure di backup per mantenere copia dei dati da qualche parte).

EFS e’ presente in Windows XP sin dall’inizio (se non erro era gia’ presente in Windows 2000) eppure pare che sia ancora sconosciuto alla maggior parte dell’utenza che quando necessita di mettere in sicurezza le proprie informazioni si trova davanti a dilemmi mentre la soluzione e’ a portata di mano.

July 22, 2007

Ancora furti e perdite!?! Proteggiamo i dati.

E’ incredibile la quantita’ di computer portatili che vengono rubati dalle automobili. A prescindere dal lasciarli (o meno) in vista quando si pacheggia all’autogrill, probabilmente la perdita materiale dell’apparecchio e’ il problema minore. La posta elettronica (vedi mie precedenti osservazioni) e’ anche semplicemente salvaguardabile, ma il resto dei dati? Una tragedia. Forse la fortuna vuole che alcuni individui non badino nemmeno alle informazioni in essi contenuti, tuttavia esiste una potenziale possibilita’ che chi ruba un computer portatile (ma naturalmente la cosa si applica anche a computer fissi) possa attingere ad informazioni classificate. Seguendo la regola della scala sociale (delle aziende si intende) piu’ il notebook e’ recente maggiori sono le possibilita’ che contenga dati sensibili o comunque di importanza rilevante per l’azienda poiche’ il computer stesso sara’ di un dirigente. Quello che maggiormente mi lascia stupito e’ il fatto che quando parlo di crittografia dei dati tutti pensino ad una cosa complessa da implementare, mantenere e soprattutto utilizzare. Poi parlo di EFS e il mondo sorride a chi deve curare i dati contenuti in un notebook.

Forse non tutti sanno che EFS (Encrypted File System) e’ una funzionalita’ gia’ presente in Windows 2000, e quindi anche in Windows XP. La sua implementazione e’ semplice: selezioniamo la cartella Documenti del computer del nostro dirigente, nelle proprieta’ avanzate impostiamo che il contenuto della cartella deve essere crittografato e la descrizione della cartella diventa di colore verde. L’unica nostra preoccupazione da questo momento in poi e’ quella che il nostro dirigente non perda la propria password e non ne utilizzi una particolarmente semplice. In ogni caso possiamo rendere le cose difficili al probabile ladro impostando delle GPO di lockout sufficienti da esasperarlo e convincerlo a cambiare le password dopo aver forzato l’utente administrator. Se questo dovesse capitare continueremo a dormire sogni tranquilli: il certificato con cui vengono cifrati i documenti perde di validita’, e i documenti diventano completamente illeggibili.

L’utente non deve fare nessuna operazione specifica. Ogni documento che salva nella cartella documenti sara’ cifrato. Nessuna proprieta’ avanzata, nessun applicativo aggiuntivo, e’ tutto li’, pronto per essere utilizzato da chiunque.

Esistono anche software che operano in modo alquanto simile, eppure visto che abbiamo una funzione forte e a portata di mano e, soprattutto, integrata nel nostro sistema, perche’ non usarla? Tanto piu’ che l’utente deve solo imparare a tenere in ordine i propri documenti, cosa che richiede uno sforzo piuttosto limitato e quindi piu’ facilmente assimilabile da esso rispetto all’imparare l’utilizzo di un nuovo applicativo sicuramente complesso, pieno di password da ricordare e parametri da impostare. Aprire e chiudere documenti normalmente e, forse, dopo un po’ se trovano un documento sul disco il cui colore e’ nero piuttosto che verde, domandarsi il motivo e contattare il supporto tecnico con una domanda che - dal nostro punto di vista - e’ finalmente un segno di miglioramento perche’ i dati sono sicuri.