Controllo della protezioneDove sono le mie informazioni personali?

Frank Simorjay

È opinione comune ormai che le informazioni personali rappresentino i dati più importanti da proteggere. Tuttavia, per poter garantire un'adeguata protezione delle informazioni personali, è necessario prima essere in grado di determinare quali dati personali sono archiviati nel PC. È facile dire che tutto ciò che è archiviato nel computer è riservato, ma che cosa si intende con "tutto"?

Per far luce su questo argomento, è opportuno esaminare il problema in maggiore dettaglio, suddividendo i tipi di dati che potrebbero essere riservati e determinando la posizione nel computer in cui archiviare tali dati. Innanzitutto, tenere presente che la misura del grado di riservatezza di specifiche informazioni è in genere basata su un giudizio personale. Ad esempio, alcune persone si sentono minacciate se il relativo nome viene visualizzato nei risultati di una ricerca. Ovviamente, a meno che non si sia vissuti sotto una roccia, esiste ormai un'alta probabilità di trovare il proprio nome pubblicato su Internet. Per scoprire se il proprio nome sia pubblicato su Internet, è possibile eseguire una ricerca utilizzando il motore di ricerca preferito. Tenere presente che quanto più il nome è diffuso, tanto più difficile sarà riuscire a trovare istanze che facciano specificamente riferimento al proprio nome. Questo rappresenta senz'altro un vantaggio.

Se si intende eseguire una ricerca del proprio nome su Internet, è opportuno controllare alcuni dei noti siti di networking sociale, come LinkedIn, Facebook e YouTube. È davvero sorprendente la capacità di Internet di archiviare e diffondere informazioni private la cui identificazione richiedeva in precedenza accurate attività di ricerca.

La determinazione del tipo di informazioni che è necessario proteggere richiede l'adozione di un approccio più scientifico rispetto al passato. Un metodo utile e interessante potrebbe essere quello di verificare se il proprio computer contiene informazioni potenzialmente riservate di cui si potrebbe non essere a conoscenza e che sarebbe opportuno proteggere. Anche se si può obiettare che tutte le informazioni personali che possono essere utilizzate per rubare la propria identità sono riservate, in effetti è possibile suddividere le informazioni in due livelli di dettaglio. Esistono informazioni che sono immediatamente disponibili e informazioni più private e considerate generalmente critiche per l'identità personale.

Le informazioni immediatamente disponibili non vengono in genere considerate informazioni personali. Queste informazioni includono il nome, il numero di telefono, l'indirizzo, l'indirizzo di posta elettronica, il sesso e, in molti casi, il posto di lavoro e alcuni dati sul proprio percorso didattico e formativo. Questi elementi sono immediatamente disponibili su Internet e negli elenchi pubblici, come le rubriche telefoniche. La divulgazione di tali informazioni, ad esempio nel caso in cui si consenta accidentalmente a uno spammer di accedere al proprio indirizzo di posta elettronica, può essere fastidiosa, ma da sola non può condurre al furto di identità.

Le informazioni riservate includono dati più privati che forniscono un collegamento alla propria identità personale. I dati che non si desidera vengano divulgati pubblicamente includono il numero di previdenza sociale (o altro identificativo univoco simile rilasciato da un'autorità statale), il numero di conto bancario, i numeri di carte di credito, in particolare quando accompagnati dalla data di scadenza e dall'ID membro della carta, i codici relativi a documenti di identità e le impronte digitali (o altre informazioni biometriche). Se cadono nelle mani sbagliate, queste informazioni possono essere utilizzate per causare gravi danni. È importante controllare dove e come tali informazioni vengono registrate e archiviate sia in Internet che sul proprio PC. A tal fine, in questo articolo verranno illustrati due metodi semplici per individuare tutte le informazioni personali che potrebbero essere archiviate nell'unità disco del proprio sistema.

Individuazione delle informazioni personali sul computer

Le informazioni personali sono sparse un po' ovunque. Non è un'esagerazione ritenere che, a un'attenta ricerca, si potrebbero reperire facilmente informazioni personali anche nel cestino dei rifiuti. La protezione di queste informazioni richiede diligenza e un po' di attenzione. È consigliabile acquistare un buon distruttore di documenti per distruggere qualsiasi documento che contenga informazioni personali.

Ma per quanto riguarda le informazioni personali che si annidano nel PC? L'individuazione di questi dati è un'attività tanto impegnativa quanto la relativa archiviazione in un luogo sicuro. Windows Vista® e diversi altri strumenti di ricerca desktop consentono di semplificare la ricerca di informazioni nel sistema. Tuttavia, è necessario prima stabilire quali informazioni cercare.

Per illustrare il problema, verranno utilizzati due semplici strumenti che consentiranno di fornire rapidamente esempi pratici di ciò che è in gioco. In particolare, si utilizzeranno script con Windows PowerShell®. Windows PowerShell fornisce, tra le numerose caratteristiche di cui dispone, anche funzionalità di corrispondenza delle stringhe. Ai fini di questo articolo, l'attenzione verrà focalizzata sul supporto di questo strumento per la corrispondenza di espressioni regolari. Windows PowerShell (disponibile all'indirizzo microsoft.com/powershell) è un potente strumento che è diventato rapidamente uno standard per le attività amministrative.

Inoltre, nel presente articolo verrà utilizzato findstr.exe per fornire un metodo per gestire i falsi positivi, ovvero per ignorare i file che potrebbero contenere stringhe apparentemente interessanti (a causa della casualità delle stringhe di dati nei file binari) ma che in realtà non sono di alcun interesse. In altre parole, i file non di testo possono essere ignorati per questo esercizio.

Sono stati selezionati due tipi di dati personali: i numeri di previdenza sociale e le informazioni della carta di credito. Questi dati, se archiviati sull'unità disco in testo non crittografato, possono essere individuati facilmente. La struttura e il modello di entrambi i tipi di dati sono sufficientemente univoci per consentire a un semplice script di individuare le informazioni. Tuttavia, questi dati sono anche riservati e, pertanto, sarebbe opportuno evitare di archiviarli nel PC. Per coloro, tuttavia, che sono abituati ad archiviare questo tipo di informazioni, è opportuno assicurarsi che siano protette. Tra breve verranno illustrati alcuni metodi per proteggere le informazioni personali. Questa argomentazione sulle informazioni personali è caratterizzata da alcune limitazioni, poiché esistono altri importanti tipi di informazioni personali che non sono trattati in questo articolo, come i nomi utente e le password.

Ricerca di un numero di previdenza sociale

Di seguito viene riportata una semplice stringa che consente di cercare all'interno di file qualsiasi informazione che sia costituita da un numero di previdenza sociale nel formato XXX XX XXXX o XXX-XX-XXXX. Utilizzando Windows PowerShell, è possibile immettere le seguenti righe:

Get-ChildItem  -rec -exclude *.exe,*.dll |
select-string " [0-9]{3}[-| ][0-9]{2}[-| ]
[0-9]{4}" 

In alternativa, è possibile utilizzare findstr.exe per assicurarsi che i file binari non vengano letti per la ricerca mediante il seguente codice:

Get-ChildItem  -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string 
" [0-9]{3}[-| ][0-9]{2}[-| ][0-9]{4}"

Nell'esempio Get-ChildItem –rec esegue una ricerca ricorsiva nella directory di file, iniziando dalla directory in cui è stato eseguito il comando. Findstr.exe ricerca stringhe nei file, mentre Select-string è la funzione di ricerca di stringhe di Windows PowerShell. Findstr.exe fornisce una funzionalità simile che tuttavia non verrà illustrata nel presente articolo. Inoltre, lo spazio iniziale nell'espressione regolare è stato inserito intenzionalmente. Questo consente di ridurre i falsi positivi eliminando le informazioni non necessarie, ad esempio stringhe del Registro di sistema come HKLM\SOFTWARE\tool\XXX-XX-XXXX.

Nel mio esempio, il criterio di ricerca ha restituito un file di esempio di test che è stato inserito in una sottodirectory e alcuni esempi situati in un file XML che descrivono i modelli di file per i numeri di carta di credito e di previdenza sociale (vedere la Figura 1).

Figura 1 Risultati della ricerca di un formato di numero

Figura 1** Risultati della ricerca di un formato di numero **(Fare clic sull'immagine per ingrandirla)

Nel primo esempio viene utilizzata la funzionalità exclude per eliminare tutti i file .exe e .dll, poiché questi file non forniscono informazioni significative. È possibile che si individuino altri tipi di file che causano falsi positivi. In tal caso, è possibile utilizzare la funzionalità exclude per ottimizzare il processo di ricerca .

Se si desidera cercare solo uno specifico numero di previdenza sociale, è possibile seguire la procedura riportata di seguito sostituendo "123 45 6789" con il proprio numero di previdenza sociale):

Get-ChildItem  -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string 
"123 45 6789","123-45-6789"

I risultati di questa ricerca sono illustrati nella Figura 2.

Figura 2 Ricerca di uno specifico numero

Figura 2** Ricerca di uno specifico numero **(Fare clic sull'immagine per ingrandirla)

Ricerca delle informazioni della carta di credito

La ricerca delle informazioni della carta di credito è un po' più difficoltosa sia perché i formati possono variare sia perché si desidera limitare i falsi positivi, ovvero i risultati che sono simili a un numero di carta di credito solo per pura casualità. Tuttavia, la ricerca restituirà probabilmente alcune sequenze casuali che hanno solo una mera somiglianza con i numeri di carta di credito.

Le informazioni utilizzate in questo articolo sono state estratte dal saggio "Anatomia dei numeri di carte di credito" di Michael Gilleland in cui vengono fornite come riferimento per la creazione di queste stringhe (visitare il sito all'indirizzo merriampark.com/anatomycc.htm). Ad esempio, la stringa di ricerca di esempio specifica che il primo numero deve essere 4, 5 o 6, dal momento che il numero viene definito come codice MII (Major Industry Identifier) della carta di credito.

Ho creato delle semplici stringhe che consentono di eseguire la ricerca delle carte di credito Discover, MasterCard e Visa. In Windows PowerShell la mia stringa di ricerca è simile all'esempio riportato di seguito:

Get-CchildItem  -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string
 "[456][0-9]{15}","[456][0-9]{3}[-| ][0-9]{4}
[-| ][0-9]{4}[-| ][0-9]{4}"

Nell'esempio illustrato nella Figura 3, è stata utilizzata la funzione exclude per eliminare le parole non significative dai tipi di file .rtf, .rbl e .h. Inoltre, il codice di esempio consente di cercare le stringhe relative alle carte di credito che non contengono spazi o trattini. Questo, purtroppo, potrebbe causare un sovraccarico dei dati visualizzati. Di seguito è riportato un comando alternativo per la stessa funzione, ma che non rileva i numeri delle carte che non contengono spazi o trattini:

Figura 3 Utilizzo di exclude per eliminare le parole non significative dai risultati

Figura 3** Utilizzo di exclude per eliminare le parole non significative dai risultati **(Fare clic sull'immagine per ingrandirla)

Get-ChildItem  -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string
"[456][0-9]{3}[-| ][0-9]{4}[-| ][0-9]{4}
[-| ][0-9]{4}"

Poiché le carte American Express sono notevolmente differenti, è stata creata una stringa di ricerca modificata per individuare il modello di tale carta. In Windows PowerShell, la stringa di ricerca è simile all'esempio riportato di seguito:

Get-ChildItem -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string
"3[47][0-9]{13}","3[47][0-9]{2}[-| ][0-9]{6}
[-| ][0-9]{5}"

Il sovraccarico di dati potrebbe influire anche su questo risultato. Il comando alternativo svolge la stessa funzione ma non rileva i numeri di carte che non contengono spazi o trattini:

Get-childitem -rec | ?{ findstr.exe 
/mprc:. $_.FullName } | select-string
"3[47][0-9]{2}[-| ][0-9]{6}[-| ][0-9]{5}"

Durante la redazione dell'articolo, ho eseguito queste ricerche sul mio sistema e sono rimasto sorpreso nello scoprire che diverse istanze del mio numero di previdenza sociale erano state salvate in posizioni in cui non dovevano essere archiviate. Ho scoperto poi che le informazioni si trovavano in una annotazione che avevo scritto un po' di tempo fa e che avevo dimenticato. È il caso di riflettere su ciò che si deve e non si deve annotare.

Se si desidera archiviare questo tipo di informazioni in modo sicuro, provare a utilizzare uno strumento come Password Safe (disponibile all'indirizzo passwordsafe.sourceforge.net). In alternativa, crittografare l'unità disco con uno strumento come Crittografia unità BitLockerTM. Infine, il Data Encryption Toolkit for Mobile PC offre indicazioni e strumenti testati per la protezione dei dati archiviati in un computer portatile. Queste soluzioni saranno almeno utili per rendere un po' più difficile la vita a chi si "intrufola" in un PC alla ricerca di informazioni personali.

Conclusioni

La ricerca delle informazioni personali è piuttosto semplice. Più difficile è essere consapevoli della presenza di tali informazioni. Tuttavia, un malware o un utente malintenzionato che riesce ad accedere al sistema può utilizzare tecniche di individuazione simili per rilevare, con altrettanta facilità, le informazioni utili nel sistema. Prestare particolare attenzione a quando e dove si inseriscono le informazioni personali e, se si è abituati ad archiviare le informazioni, accertarsi di sottoporle a crittografia.

Vorrei ringraziare Matt Hainje per il suo contributo alla risoluzione dei problemi correlati agli script di Windows PowerShell.

Frank Simorjay è Technical Program Manager per il gruppo Microsoft Solution Accelerator - Security and Compliance. È responsabile della progettazione di soluzioni di sicurezza per i clienti Microsoft, partecipa in qualità di relatore a eventi, come Secure World Exposition, di cui è fondatore, tiene corsi di formazione sulla sicurezza e ha partecipato alla stesura di un'ampia gamma di articoli e libri sulla sicurezza. La sua creazione più recente è "Starter Kit Rimozione malware".

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.