Sicherheit auf dem PrüfstandWo sind meine personenbezogenen Informationen?

Frank Simorjay

Alle Welt redet darüber, dass personenbezogene Informationen (Personally Identifiable Information, PII) die wichtigsten Informationen sind, die es zu schützen gilt. Doch bevor Sie sie schützen können, müssen Sie genau wissen, welche PII Sie auf Ihrem PC gesammelt haben. Es ist leicht zu sagen, dass alles auf Ihrem Computer vertraulich ist, doch was genau ist mit „alles“ gemeint?

Um etwas mehr Aufschluss darüber zu erhalten, begann ich, das Problem genauer zu untersuchen. Dabei untersuchte ich die Datentypen, die vertraulich sein könnten, um herauszufinden, wo die Daten auf Ihrem Computer möglicherweise landen. Erstens ist es oft eine Frage der persönlichen Auffassung, wie vertraulich Informationen sind. Manche Leute fühlen sich zum Beispiel bedroht, wenn ihr Name in einem Suchergebnis erscheint. Falls Sie bislang nicht vollkommen zurückgezogen gelebt haben, wurde Ihr Name mit großer Wahrscheinlichkeit bereits in irgendeiner Form im Internet veröffentlicht. Um dies zu untersuchen, verwenden Sie Ihre bevorzugte Suchmaschine, um Ihren Namen online zu suchen. Bedenken Sie dabei, dass es umso schwieriger wird, auf Sie verweisende Instanzen zu finden, je häufiger Ihr Name ist. Es kann sein, dass Sie dies als einen Vorteil betrachten.

Wenn Sie sich selbst im Internet suchen, überprüfen Sie auch beliebte Websites für soziale Netzwerke, wie z. B. LinkedIn, Facebook und YouTube. Die Möglichkeiten des Internets, private Informationen, die früher nur mit sorgfältigen Suchbemühungen aufzudecken waren, zu speichern und zu verteilen, ist schon bemerkenswert.

Zu wissen, welche Informationen Sie schützen müssen, ist heutzutage schon eine Wissenschaft für sich. Als Hilfestellung wäre es nützlich herauszufinden, ob Ihr Computer möglicherweise private Informationen enthält, die Sie zwar schützen möchten, über die Sie sich aber im Unklaren sind. Es ist zwar richtig, dass alle persönlichen Informationen, die zum Stehlen Ihrer Identität herangezogen werden können, vertraulich sind. Doch Informationen können grundsätzlich in zwei Ebenen unterteilt werden. Es gibt Informationen, die leicht verfügbar sind, und Informationen, die mehr privater Natur sind und in der Regel für Ihre persönliche Identität als kritisch angesehen werden.

Informationen, die leicht verfügbar sind, werden in der Regel nicht als PII angesehen. Dazu gehören Ihr Name und möglicherweise auch Ihre Telefonnummer, Adresse, E-Mail-Adresse, Ihr Geschlecht, und in vielen Fällen Ihre Arbeitsadresse und einige Informationen zu Ihrer Ausbildung. Diese Elemente sind im Internet und in öffentlichen Verzeichnissen wie Telefonbüchern leicht verfügbar. Die Offenlegung dieser Informationen, wie etwa die Ermittlung Ihrer E-Mail-Adresse durch einen Spammer, ist zwar ärgerlich, das allein würde jedoch noch nicht zu einem Identitätsdiebstahl führen.

Vertrauliche Informationen bestehen aus privateren Daten, die eine Verbindung zu Ihrer Identität herstellen. Daten, die Sie nicht öffentlich preisgeben würden, umfassen Ihre Sozialversicherungsnummer (oder jede ähnliche eindeutige Nummer, die Ihnen von einer amtlichen Behörde zugewiesen wurde), Bankkontonummern, Kreditkartennummern (vor allem in Kombination mit dem Ablaufdatum), Ihre Führerscheinnummer und Ihr Fingerabdruck (oder andere biometrische Informationen). Wenn diese Informationen in die falschen Hände gelangen, kann damit großer Schaden angerichtet werden. Es ist wichtig, dass Sie kontrollieren, wo und wie diese Informationen im Internet und auf Ihrem PC aufgezeichnet und gespeichert werden. Dazu sollen im Folgenden einige einfache Methoden behandelt werden, mit denen Sie personenbezogene Informationen finden, die auf der Festplatte Ihres Systems gespeichert sein könnten.

Suchen nach PII-Daten auf Ihrem Computer

Personenbezogene Informationen sind überall verstreut. Wenn Sie Ihren Papierkorb überprüfen, werden Sie wahrscheinlich problemlos einige PII finden. Der Schutz dieser Informationen erfordert Sorgfalt und Umsicht. Ich empfehle, dass jeder in einen guten Aktenvernichter investiert und alles vernichtet, was persönliche Informationen enthält.

Doch was ist mit all den personenbezogenen Informationen auf Ihrem PC? Diese Daten zu finden, kann genauso schwierig sein, wie sie sicher zu speichern. Windows Vista® und einige andere Desktopsuchprogramme können Ihnen helfen, die Informationen auf Ihrem System zu finden. Sie müssen aber wissen, welche Informationen Sie suchen.

Um das Problem zu illustrieren, verwende ich einige einfache Tools, mit denen ich schnell praktische Beispiele dafür anführen kann. Ich verwende Skripts mit Windows PowerShell®. Zu den vielen Dingen, die Windows PowerShell bietet, gehören leistungsfähige Funktionen für den Zeichenfolgenabgleich. Für den vorliegenden Zweck werde ich mich auf seine Fähigkeit konzentrieren, reguläre Ausdrücke zu vergleichen. Windows PowerShell (verfügbar unter microsoft.com/powershell) ist ein leistungsfähiges Tool, das sich schnell zu einem Standardtool für administrative Aufgaben entwickelt hat.

Darüber hinaus werde ich findstr.exe verwenden, um eine Möglichkeit zu bieten, falsch positive Ergebnisse zu behandeln, also die Fähigkeit, Dateien zu ignorieren, die interessant aussehende Zeichenfolgen enthalten (aufgrund der Zufälligkeit der Datenzeichenfolgen in Binärdateien), hier jedoch nicht relevant sind. Kurz gesagt, Nichttextdateien können bei dieser Übung ignoriert werden.

Ich habe zwei geeignete PII-Datentypen ausgewählt: Sozialversicherungsnummern und Kreditkarteninformationen. Diese Daten müssten leicht auffindbar sein, wenn sie tatsächlich auf Ihrer Festplatte als Klartext gespeichert sind. Die Struktur und das Muster der beiden Datentypen sind eindeutig genug, damit ein einfaches Skript die Informationen finden kann. Diese Daten sind so vertraulich, dass ich fragen würde, warum sie auf Ihrem PC gespeichert werden. Wenn Sie dazu neigen, diese Informationen zu speichern, sollten Sie sicherstellen, dass sie geschützt sind. Ich werde gleich Möglichkeiten anführen, wie Sie Ihre PII schützen können. Diese Untersuchung ist zugegebenermaßen begrenzt, denn es gibt andere wichtige PII-Datentypen, die hier nicht enthalten sind, wie z. B. Benutzernamen und Kennwörter.

Suchen nach einer Sozialversicherungsnummer

Hier ist eine einfache Zeichenfolge, die in Dateien nach Informationen sucht, die aus einer standardmäßigen US-Sozialversicherungsnummer mit dem Format XXX XX XXXX oder XXX-XX-XXXX bestehen. Mithilfe von Windows PowerShell können Sie einfach die folgenden Zeilen eingeben:

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

Oder Sie können findstr.exe verwenden, um sicherzustellen, dass Binärdateien für die Suche nicht gelesen werden, und folgenden Befehl eingeben:

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

In diesem Beispiel wird durch „Get-ChildItem –rec“ eine rekursive Verzeichnissuche für Dateien durchgeführt, beginnend mit dem Verzeichnis, in dem der Befehl ausgeführt wurde. Das Programm „findstr.exe“ sucht Zeichenfolgen in Dateien. Die Select-Zeichenfolge ist die Windows PowerShell-Zeichenfolgensuchfunktion. (Von findstr.exe wird eine ähnliche Funktionalität geboten, auf die hier nicht eingegangen wird.) Beachten Sie außerdem, dass das einleitende Leerzeichen im regulären Ausdruck beabsichtigt ist. Dadurch können falsch positive Ergebnisse durch Beseitigen unnötiger Informationen verringert werden, wie z. B. Registrierungszeichenfolgen wie „HKLM\SOFTWARE\tool\XXX-XX-XXXX“.

In meinem Beispiel gab das Suchmuster eine Testbeispieldatei zurück, die ich in einem Unterverzeichnis platziert hatte. Außerdem fand es Beispiele in einer XML-Datei, die den Dateimustern für Kreditkarten- und Sozialversicherungsnummern entsprechen (siehe Abbildung 1).

Abbildung 1 Ergebnisse der Suche nach einem Zahlenmuster

Abbildung 1** Ergebnisse der Suche nach einem Zahlenmuster **(Klicken Sie zum Vergrößern auf das Bild)

Ich verwende die Ausschlussfunktion im ersten Beispiel, um alle EXE- und DLL-Dateien außer Acht zu lassen, da sie unnötige Daten generieren können. Sie stellen vielleicht noch andere Dateitypen fest, die ebenfalls zu falsch positiven Ergebnissen führen. In diesem Fall können Sie die Ausschlussfunktion verwenden, um den Suchvorgang anzupassen.

Wenn Sie nur eine bestimmte Sozialversicherungsnummer suchen, können Sie wie folgt vorgehen (ersetzen Sie „123 45 6789“ durch Ihre Sozialversicherungsnummer):

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

Die Ergebnisse dieser Suche sind in Abbildung 2 aufgeführt.

Abbildung 2 Suchen nach einer bestimmten Nummer

Abbildung 2** Suchen nach einer bestimmten Nummer **(Klicken Sie zum Vergrößern auf das Bild)

Suchen nach Kreditkarteninformationen

Kreditkarteninformationen sind etwas schwieriger, da die Formate sich unterscheiden. Zudem sollen falsch positive Ergebnisse begrenzt werden (d. h. Ergebnisse, die rein zufällig wie eine Kreditkartennummer aussehen). Trotzdem wird die Suche wahrscheinlich einige zufällige Abfolgen zurückgeben, die Kreditkartennummern nur ähneln.

Ich verwende Informationen aus der Abhandlung „Anatomy of Credit Card Numbers“ von Michael Gilleland als Referenz beim Erstellen dieser Zeichenfolgen (siehe merriampark.com/anatomycc.htm). Zum Beispiel gibt die Suchzeichenfolge an, dass die erste Zahl eine 4, 5 oder 6 sein muss, da dies als der Hauptbranchenbezeichner der Kreditkarte definiert ist.

Hier werden einfache Zeichenfolgen erstellt, die nach den Kreditkarten der Anbieter Discover, MasterCard und Visa suchen werden. In Windows PowerShell sieht die Suchzeichenfolge etwa so aus:

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}"

Im Beispiel in Abbildung 3 wird die Ausschlussfunktion verwendet, um unnötige von den .rtf-, .rbl- und .h-Dateitypen generierte Daten zu vermeiden. Außerdem sucht der Beispielcode Kreditkartenzeichenfolgen, die keine Leerzeichen oder Bindestriche enthalten. Dies könnte allerdings Ihre Anzeige überfordern. Deshalb folgt ein alternativer Befehl für die gleiche Funktion, doch dieser erkennt keine Kreditkartennummern ohne Leerzeichen oder Bindestriche.

Abbildung 3 Verwenden der Ausschlussfunktion zur Vermeidung unnötiger Daten in den Ergebnissen

Abbildung 3** Verwenden der Ausschlussfunktion zur Vermeidung unnötiger Daten in den Ergebnissen **(Klicken Sie zum Vergrößern auf das Bild)

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

Da die von American Express ausgegebenen Kreditkarten stark abweichen, habe ich eine andere Suchzeichenfolge erstellt, um das Muster dieser Karte zu suchen. In Windows PowerShell sieht die Suchzeichenfolge etwa so aus:

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}"

Eine Überladung mit Daten kann sich auch auf dieses Ergebnis auswirken. Bei diesem alternativen Befehl handelt es sich um die gleiche Funktion, er erkennt aber keine Kreditkartennummern ohne Leerzeichen oder Bindestriche.

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

Beim Schreiben dieses Artikels habe ich diese Suchvorgänge auf meinem eigenen System ausgeführt und war ziemlich überrascht, mehrere Instanzen meiner Sozialversicherungsnummer zu finden, die an Orten gespeichert waren, an denen sie nicht hätten gespeichert sein sollen. Es stellte sich heraus, dass sich diese Information in einer Mitteilung befand, die ich vor einiger Zeit geschrieben und dann vergessen hatte. Das hat mir zu denken gegeben, was ich niederschreiben sollte und was nicht.

Wenn Sie solche Informationen speichern möchten, und zwar auf eine sichere Weise, verwenden Sie ein Tool wie Password Safe (verfügbar unter passwordsafe.sourceforge.net). Oder verschlüsseln Sie Ihre Festplatte mit einem Tool wie BitLockerTM Drive Encryption. Das Data Encryption Toolkit for Mobile PCs bietet einen geprüften Leitfaden für den Schutz von Daten auf einem mobilen PC. Zumindest erschweren diese Lösungen die Arbeit für jemanden, der Ihren PC nach persönlichen Informationen durchsucht.

Zusammenfassung

Das Auffinden personenbezogener Informationen ist ziemlich einfach. Es kommt darauf an, dass Sie wissen, wo sich diese Informationen befinden. Bedenken Sie jedoch, dass Malware oder ein böswilliger Benutzer, der Zugang zu Ihrem System hat, ähnliche Ermittlungsverfahren nutzen kann, um ebenso leicht an Informationen auf Ihrem System heranzukommen. Seien Sie vorsichtig, wann und wo Sie personenbezogene Informationen eingeben, und wenn Sie dazu neigen, solche Informationen zu speichern, stellen Sie sicher, dass Sie sie verschlüsseln.

Ich möchte Matt Hainje für seine Hilfe bei der Behandlung von Problemen mit meinen Windows PowerShell-Skripts danken.

Frank Simorjay ist ein technischer Programmmanager im Microsoft Solution Accelerator-Team für Sicherheit- und Kompatibilität. Er entwirft Sicherheitslösungen für Microsoft-Kunden, hält Vorträge bei Veranstaltungen wie der Secure World Exposition (er ist einer der Mitbegründer), bietet Sicherheitsschulungen an und hat zu verschiedenen Artikeln und Büchern zum Thema Sicherheit beigetragen. Sein neuestes Werk ist das „Malware Removal Starter Kit“.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.