Viele Unternehmen investieren in die Implementierung und die Optimierung von automatisierten Lösungen zur Datenklassifikation. Da die manuelle Klassifikation von Daten zeitaufwendig und fehleranfällig ist, stellt dies einen wichtigen Schritt hin zu einer effektiven IT-Sicherheit dar. Deshalb ist es umso ärgerlicher für IT-Sicherheitsabteilungen, wenn die Datenklassifikation keine präzisen Ergebnisse liefert.

Alle automatisierten Datenerkennungs- und Klassifizierungslösungen beruhen auf regulären Ausdrücken (englisch: „regular expressions“ oder RegEx). Hierbei handelt es sich um eine hochspezialisierte Programmiersprache, die man dazu verwenden kann, Suchen genauer zu machen. Hierfür dienen die folgenden Operatoren:

. ^ $ * + ? { } [ ] \ | ( )

Jedes dieser Zeichen hat einen anderen Effekt auf die Suche, sobald es in die Datenklassifikation integriert ist.

Der Punkt beispielsweise kann innerhalb einer Klassifikation für jeden Buchstaben stehen (unabhängig, ob er groß oder klein geschrieben wird). Besteht die RegEx Net.rix wird die Suche sowohl nach Netwrix als auch Netfrix zum gewünschten Ergebnis Netwrix führen.

Der Operator () dient dazu, mögliche Variationen innerhalb eines Suchbegriffs einzuschränken. Zum Beispiel lassen sich hiermit regionale Sprachunterschiede berücksichtigen, wie sie zwischen amerikanischem und britischem Englisch existieren. Ist eine Datei mit der RegEx Gr(aIe)y gekennzeichnet, treffen sowohl Gray als auch Grey auf sie zu.

Es ist klar, dass es nicht den einen regulären Ausdruck gibt, der alles regelt. Selbst wenn beispielsweise mehrere Kreditkartennummern einem regulären Ausdruck entsprechen, den der Anbieter festgelegt hat oder den die eigene IT-Abteilung selbst geschrieben hat, bedeutet das nicht, dass es eine gute RegEx ist. Doch was heißt das genau?

Die RegEx \d{16} sucht gezielt nach einer 16-stelligen Zeichenfolge, wie Kreditkarten sie aufweisen. Das bedeutet jedoch nicht, dass man diese RegEx nutzen sollte. Es gibt jede Menge Unwägbarkeiten, die darin nicht berücksichtigt sind. Einerseits kommt es möglicherweise zu übermäßig vielen False Positives, weil nicht jede 16-stellige Zeichenfolge eine Kreditkartennummer ist. Wenn ein Mitarbeiter nach Mastercard-Nummern sucht, gibt er präzise an, dass diese mit 51-55 oder 2221-2720 beginnen. Andererseits kann es sein, dass auch rechtmäßige Kreditkartennummern nicht in den Ergebnissen erscheinen, sobald diese zwischen den vier Zifferblöcken jeweils Leerzeichen oder Bindestriche enthalten. Solche falschen Negative lassen sich vermeiden, indem die RegEx optionale Leerzeichen oder Sonderzeichen beachtet.

RegExes sollten einer ständigen Aktualisierung und Verbesserung unterliegen. Formulierungen sollten konkret sein, aber nicht übertrieben detailliert. Zu viele Kriterien können dazu führen, dass relevante Ergebnisse ausgelassen werden. Ausgewogenheit ist hier der Schlüssel.

RegExes mit Schlüsselwörtern und Schlüsselwort-Phrasen ergänzen

Bei der Datenklassifizierung werden oft Schlüsselwörter verwendet, allerdings häufig noch lücken- oder fehlerhaft. Die Tatsache, dass ein Dokument die Phrase „Kreditkartennummer” oder „Sozialversicherungsnummer” enthält, bedeutet nicht, dass tatsächlich geschützte Daten vorhanden sind. Doch an diesem Punkt enden die meisten Datenklassifizierungslösungen: Stimmt ein Dokument mit einem Schlüsselwort oder einer Phase überein, wird es klassifiziert.

Deshalb ist es sinnvoll, wenn Schlüsselwörter als Validierungsalgorithmus für reguläre Ausdrücke dienen. Das heißt, mit jedem relevanten Schlüsselwort oder jeder relevanten Schlüsselwort-Phrase in einem Dokument steigt die Wahrscheinlichkeit, dass die Datei tatsächlich sensible Daten enthält.

Wie bereits erwähnt, ist nicht jede 16-stellige Zahl eine Kreditkartennummer. Es erhöht allerdings die Wahrscheinlichkeit, dass es sich tatsächlich um eine Kreditkartennummer handelt, wenn die Phrase „Kreditkarte“ oder „Kartennummer“ in der Nähe der Nummer erscheint.

Dies ist eine der größten Herausforderungen des Schlüsselwortabgleichs – es gibt Millionen Möglichkeiten, ein einzelnes Schlüsselwort zu schreiben. Automatisierte Techniken, wie Stemming, können bei Singular- und Pluralformen und anderen Wortflexionen helfen, so dass es keine manuelle Eingabe geben muss, wie beispielsweise Pass/Pässe, Lizenz/Lizenzen/Lizenzvergabe/lizensiert und so weiter.

Bei Schlüsselphrasen wird die Situation jedoch ganz schnell kompliziert. Sinnvolle Begriffe aus Phrasen abzuleiten, ist keine einfache Aufgabe und sehr wenige Lösungen zur Datenklassifizierung sind dazu in der Lage. Es kann einen ersten Schritt darstellen, Flexionen der Wortbestandteile in Phrasen zu bearbeiten. Teile der Phrase können auf andere Wörter aufgeteilt sein. Entscheider sollten eruieren, ob ihre Lösung erkennen kann, dass „Pässe deutscher Bürger” die gleiche Idee widerspiegelt wie ihr Schlüsselwort „Deutscher Pass“. Kann sie das nicht, besteht die einzige Möglichkeit, dieses Problem zu umgehen, darin, die Schlüsselphrasen in einzelne Schlüsselwörter aufzuteilen. Dabei sollte der IT-Verantwortliche bedenken, dass dies die Anzahl der Falschen Positive erhöhen wird. Eine geographische Abhandlung über Sand„banken“ ist wahrscheinlich nicht das gewünschte Ergebnis einer Suche nach „Bank“kartendaten.

Darüber hinaus stellen noch Teil- oder Fuzzy-Übereinstimmungen eine Herausforderung dar. Diese sind insbesondere dann relevant, wenn die genutzte Lösung optische Zeichenerkennung (OCR) unterstützt und Bilder klassifizieren kann. Sind Bilder von minderwertiger Qualität, kann OCR eine Menge kryptische Symbole produzieren, wo einst absolut sinnvolle Wörter standen. Solange die Datenklassifizierungslösung für solche Dinge keine integrierten Funktionen aufweist, bringen RegExes nicht den gewünschten Erfolg.

Die beste Lösung ist, so viele Schlüsselphrasen und Schlüsselwörter wie möglich in das Wörterbuch aufzunehmen und darauf zu setzen, dass mindestens eines davon in der vom Mitarbeiter oder Verantwortlichen genutzten Schreibweise erkannt wird.

Hier noch ein paar Punkte, die es zusätzlich zu beachten gilt:

  • Großschreibung — Muss die IT-Abteilung in der implementierten Lösung die Groß- beziehungsweise Kleinschreibung von Schlüsselwörtern standardmäßig berücksichtigen?
  • Wortfolge — Erkennt die Lösung „Karte VISA” als Übereinstimmung auch wenn der Mitarbeiter die Schlüsselphrase “VISA Karte” eingibt?
  • Sonderzeichen — Wird „Bank_Karte” als Übereinstimmung erkannt, wenn als Schlüsselphrase „Bankkarte“ dient?

Falls die genutzte Datenklassifizierungslösung all diese Feinheiten nicht berücksichtigen kann, steht die IT-Abteilung vor der undankbar scheinenden Aufgabe, ein Wörterbuch mit Schlüsselwörtern und Schlüsselphrasen anzulegen, das den Anforderungen des Geschäftsbetriebs gerecht wird.

Anwendung einer algorithmischen Validierung

Bestimmte Algorithmen eignen sich dafür, eine Reihe von Kennzahlen zu validieren. Der berühmte Luhn-Algorithmus beispielsweise lässt sich dazu verwenden, zu verifizieren, dass Kreditkartennummern, IMEI-Nummern oder andere Zahlenfolgen echt sind. Viele Datenklassifizierungs-Tools unterstützen algorithmische Validierung, was die Arbeit mit Daten erheblich erleichtert.

Allerdings sollte man beachten, dass sich nicht alle sensiblen Daten mit Luhn oder anderen Algorithmen validieren lassen. Zum Teil liegt dies daran, dass nicht alle sensiblen Daten Zahlen enthalten. Daher sollte die IT-Abteilung eher dazu übergehen, Schlüsselwörter für die RegEx-Verifizierung zu verwenden, da es sich um die universellere und vielseitigere Methode handelt.

Es reicht nicht aus, Daten nur in „klassifiziert“ und „nicht klassifiziert“ zu unterteilen. Vielmehr bedarf es eines Maßstabs anhand dessen die Klassifikation des Datensatzes stattfindet: Jede Regel, die mit einem Dokument übereinstimmt, erhöht den Score dieses Dokuments. Erst nachdem es eine bestimmte Grenze überschritten hat, wird die Datei klassifiziert. Dieses System bietet die Möglichkeit, äußerst präzise Klassifizierungsregeln zu erstellen und stellt dabei einfache RegExes oder Schlüsselwortabgleich in den Schatten.

Eine gut durchdachte RegEx für eine Kreditkartennummer sollte einem Dokument einen höheren Score einbringen als eine Übereinstimmung mit der einfachen Schlüsselphrase „Kreditkarte”. Das bedeutet, dass bestimmte Phrasen eine andere Gewichtung haben sollten als andere. Deshalb ist es sinnvoll, alle RegExes und Schlüsselwörter nach ihrer Relevanz zu ordnen, um dann im zweiten Schritt, spezifische Scores zu erhalten.

Dabei gilt es zu beachten, dass zwei RegExes unterschiedliche Scores haben können. Wenn jemand nach Visacards sucht, weiß er wahrscheinlich, dass es moderne mit 16 Stellen und ältere mit 13 Stellen gibt. Eine RegEx für die 13-stelligen Kartennummern sollte einen kleineren Score erhalten, weil die Wahrscheinlichkeit, dass eine 16-stellige Zeichenfolge tatsächlich eine VISA-Kartennummer ist, größer ist als bei der 13-stelligen.

Wenn die IT-Abteilung diese komplizierten, hochpräzisen Klassifizierungsregeln erstellt, sollte sie diese mit einander verknüpfen. Ein Beispiel: Die IT-Abteilung hat eine RegEx für eine sehr präzise VISA-Kartennummer erstellt. Dazu sind auf zehn und mehr relevante Schlüsselwörter gültig. Da jedes Schlüsselwort einen bestimmten Wert zum Klassifizierungsscore beiträgt, könnte die Klassifizierung einer gegebenen Datei nur aufgrund der schieren Menge an Schlüsselwörtern, die sie enthält, erfolgen. Dies ist nicht ideal, da in den meisten Fällen nach einer RegEx plus einem Schlüsselwort gesucht wird. Abhilfe schaffen kann ein „Master“-Schlüsselwort, das aus einer Gruppe aller von Ihnen aufgelisteten Schlüsselwörter besteht. Diesem wird dann ein Score zugewiesen, der die Datei über den Grenzwert schiebt, wenn er zum RegEx-Score hinzuaddiert wird. Dieses Master-Schlüsselwort entspricht nur dann einem Dokument, wenn eine ausreichende Anzahl an individuellen Schlüsselwörtern mit dem Dokument übereinstimmt.

Hier ist ein weiteres Beispiel dafür, wie man logische Beziehungen zwischen verschiedenen Klassifizierungsregeln aufbauen kann, um die Genauigkeit zu verbessern. Die meisten wissen, was CVV und CVC sind: Die drei Ziffern auf der Rückseite von Kreditkarten. Weniger verbreitet ist allerdings das Wissen, dass CVV nur von VISA und CVC nur von MasterCard verwendet wird. Daraus folgt, dass die meisten diese Begriffe austauschbar anwenden. Wenn also eine VISA-Kartennummer irrtümlicherweise mit CVC in einem Dokument genannt wird, kann das Klassifizierungsverfahren dies übersehen. Daher macht es Sinn, die Schlüsselwörter für VISA und MasterCard miteinander zu verknüpfen und somit das Risiko falscher Negative aufgrund einer unsachgemäßen Dateneingabe zu minimieren. VISA-Schlüsselwörter bringen den Klassifizierungsregeln von MasterCard Scores und umgekehrt. In diesem Fall wäre es natürlich sinnvoll, ihre Scores zu reduzieren.

Near Misses analysieren

Es gibt weitere verfahrenstechnische und an den Geschäftsbetrieb angepasste Maßnahmen, mit der Unternehmen ihre Datenklassifikation weiter verbessern können. Wenn es gelungen ist, Klassifizierungsgrenzen und -gewichtungen in die Lösung zu integrieren, ist ein wichtiger Schritt in Richtung verbesserter Genauigkeit gemacht: Ihre Daten erhalten eine Klassifikation in nicht nur zwei Kategorien – klassifiziert und nicht klassifiziert – sondern ermöglichen ebenso eine Analyse darüber, „in welchem Maß“ das Dokument klassifiziert wurde. Die Analyse von Near Misses – also Dateien, die um bis zu 10 Prozent unter der Klassifizierungsgrenze liegen – kann durchaus nützlich sein. Hierbei handelt es sich um eine manuelle Arbeit, die sich nicht automatisieren lässt, allerdings einen hohen Wert für den Umgang mit den Daten hat. Durch die Überprüfung dieser Dokumente sind Unternehmen in der Lage, diejenigen auszumachen, die sie hätten klassifizieren sollen. Anhand dessen können dann die Klassifizierungsregeln neue Schlüsselwörter erhalten. Diese schieben Near Misses, die sie klassifizieren sollten, nicht nur über die Klassifizierungsgrenze (indem sie False Negative reduzieren), sie verbessern oftmals auch die Genauigkeit (indem sie False Positive reduzieren).

Wenn jedoch klar ist, dass einige der Near Misses tatsächlich nicht relevant sind, sollte man erörtern, wie diese zu ihren hohen Scores gekommen sind. Dadurch kann die IT-Abteilung überflüssige Schlüsselwörter aus den Klassifizierungsregeln löschen oder in negative Schlüsselwörter verwandeln, die nicht erlauben, dass eine Datei der Regel entsprechend klassifiziert wird, in der sie enthalten sind.

Inhalte klassifizierter Dateien als Vorteil betrachten und nutzen

Bei der Erstellung der Regeln zur Datenklassifikation sollte der Verantwortliche daran denken, welcher Inhalt in einer vertraulichen Datei enthalten sein könnte, um Schlüsselwörter und RegExes zu definieren und die Suche nach Dateien zu vereinfachen.

Auf diese Weise gefundene Dokumente können dabei helfen, zukünftige Suchen zu verfeinern. Wenn anhand der RegExes ein Anwender beispielweise Dokumente sucht, die geistiges Eigentum beinhalten, lässt sich davon ausgehen, dass es viele Falsche Negative gibt.

Daher ist es ratsam, einen zweiten Blick auf die gefundenen Dokumente zu werfen und unter Umständen noch Begriffe zu finden und diese zu den Schlüsselwörtern hinzuzufügen. Diese Schlüsselwörter lassen sich dann nutzen, um noch mehr Dokumente zu finden, die geistiges Eigentum enthalten. Unternehmen, die regelmäßig nach neuen Schlüsselworten suchen, verfügen so über Klassifizierungsregeln, die wie in diesem Fall geistiges Eigentum immer und überall finden sowie stets genau und auf dem neuesten Stand sind.

Repetitio est mater sapientiae

Datenklassifizierung ist eine kontinuierliche Bemühung. Diese Lösungen funktionieren nur sehr selten so vordefiniert, wie es gewollt ist. Und obwohl ein eigener Datenklassifizierungsexperte für die meisten Organisationen unverhältnismäßig ist, bedeutet das nicht, dass Datenklassifizierung ewig mit einem vorgegebenen Regelwerk und Parametersatz funktioniert. Nur das Unternehmen selbst weiß, wie seine Daten am besten zu klassifizieren sind. Den Vorgang sollte es daher kontinuierlich durchführen. Es sollte versuchen, das perfekte Gleichgewicht zwischen Genauigkeit und den erforderlichen Bemühungen zu finden, um diese auf hohem Niveau zu halten. Ab einem bestimmten Punkt lohnt sich eine höhere Genauigkeit nicht mehr.

Der iterative Charakter der Datenklassifizierung geht über die Verbesserung der Genauigkeit hinaus. So, wie sich die gespeicherten Daten und Geschäftsziele weiterentwickeln, sollte dies auch die Datenklassifizierungsstrategie des Unternehmens tun. In näherer Zukunft gibt es vielleicht einen neuen Typ vertraulicher Daten und die IT-Abteilung wird in der Lage sein müssen, diesen Typ zu erkennen und zu schützen. Oder ein F&E-Team benötigt Hilfe bei der Organisation seiner Dokumente, um effizienter zu werden. Um diesen neuen unternehmerischen Herausforderungen zu erreichen, sollte die gewählte Datenklassifizierungslösung nicht nur genau, sondern auch flexibel sein.

Jürgen Venhorst ist Country Manager DACH bei Netwrix, www.netwrix.de.