
Datenklassifizierung

Einführung
In der heutigen digitalen Landschaft sind Daten das Lebenselixier von Organisationen. Von Kundenaufzeichnungen bis zu Finanztransaktionen verlassen sich Unternehmen auf große Mengen an Informationen, um fundierte Entscheidungen zu treffen und Wachstum voranzutreiben. Allerdings sind nicht alle Daten gleichwertig. Einige Daten sind sensibler als andere und benötigen spezielle Handhabung und Schutz. Hier kommt die Datenklassifizierung ins Spiel.
Datenklassifizierung ist der Prozess der Kategorisierung von Daten basierend auf deren Sensibilität, Kritikalität und Wert für die Organisation. Durch die Klassifizierung von Daten können Unternehmen sicherstellen, dass geeignete Sicherheitsmaßnahmen ergriffen werden, um sensible Informationen vor unbefugtem Zugriff, Missbrauch oder Datenverletzungen zu schützen. In diesem Artikel werden wir die Grundlagen der Datenklassifizierung erkunden und Beispiele betrachten, wie sie mit Python und Regular-Expressions implementiert werden kann.
Verständnis der Datenklassifizierung
Die Datenklassifizierung beinhaltet die Organisation von Daten in vordefinierte Kategorien oder Klassen basierend auf deren Eigenschaften und Sensibilitätsgrad. Das Hauptziel der Datenklassifizierung ist es, Daten zu identifizieren und zu priorisieren, die verstärkten Sicherheitskontrollen und Schutz erfordern.
Es gibt zwei Hauptansätze zur Datenklassifizierung:
Klassifizierung nach Schema
Dieser Ansatz beinhaltet die Analyse von Datenbank-Metadaten für die Namen von Spalten, Tabellen, Ansichten und Funktionen. Wenn zum Beispiel eine Spalte als ‘Nachname’ benannt ist, wird sie als sensible Daten klassifiziert.
Klassifizierung nach Daten
In diesem Ansatz wird der tatsächliche Inhalt der Daten analysiert, um deren Sensibilität und Klassifizierung zu bestimmen. Diese Methode erfordert eine granularere Untersuchung der Daten selbst, oft unter Verwendung von Techniken wie Mustererkennung oder Regular-Expressions, um sensible Informationen zu identifizieren.
Diese beiden Ansätze können nach Wunsch kombiniert werden. Darüber hinaus kombiniert DataSunrise diese Ansätze, wenn der Benutzer Attribute für den Informationstyp erstellt, der in der Entdeckung sensibler Daten-Funktion verwendet wird. Später werden wir erkunden, wie die Verwendung von Regular-Expressions zu einer erheblichen Anzahl von Prüfungen für jeden Ausdruck führt. Daher ist die zentrale Kontrolle aller Datenklassifizierungsmechanismen äußerst wichtig. Diese Funktionalität ist in DataSunrise zusammen mit anderen leistungsstarken Funktionen wie der OCR-basierten Datenerkennung standardmäßig verfügbar.
Klassifizierung von Daten mit Python und Regular Expressions
Ein leistungsstarkes Werkzeug zur Klassifizierung von Daten sind Regular-Expressions. Regular-Expressions oder Regexen sind eine Folge von Zeichen, die ein Suchmuster definieren. Sie ermöglichen, bestimmte Muster innerhalb von Textdaten zu matchen und zu extrahieren.
Betrachten wir ein Beispiel, bei dem wir eine virtuelle Datenbanktabelle mit verschiedenen Arten von Informationen haben, einschließlich E-Mails, Kreditkartennummern und Sozialversicherungsnummern (SSNs). Unser Ziel ist es, diese Daten zu klassifizieren und die sensiblen Informationen zu identifizieren.
import re # Beispiel Daten data = [ ['John Doe', 'john@example.com', '5555-5555-5555-4444', '123-45-6789'], ['Jane Smith', 'jane.smith@example.com', '4111-1111-1111-1111', '987-65-4321'], ['Bob Johnson', 'bob.johnson@example.com', '1234-5678-9012-3456', '456-78-9012'] ] # Regular-Expressions für sensible Daten email_regex = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b' mastercard_regex = r'\b(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}\b' ssn_regex = r'\b(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}\b' # Klassifiziere die Daten for row in data: for cell in row: if re.match(email_regex, cell): print(f"E-Mail gefunden: {cell}") elif re.match(mastercard_regex, cell): print(f"Mastercard-Nummer gefunden: {cell}") elif re.match(ssn_regex, cell): print(f"SSN gefunden: {cell}")
In diesem Beispiel haben wir eine Liste von Listen, die eine Datenbanktabelle darstellen. Jede innere Liste repräsentiert eine Zeile, und jedes Element innerhalb der Zeile repräsentiert einen Spaltenwert.
Wir definieren Regular-Expressions zur Identifizierung von E-Mails, Mastercard-Nummern und SSNs. Diese Regular-Expressions erfassen die spezifischen Muster, die mit jeder Art sensibler Daten verbunden sind.
Ein Rohstring-Literal r’…’ in Python behandelt Backslashes (\) als eigentliche Zeichen. Dies ist besonders in Regular-Expressions nützlich, da Backslashes häufig als Escape-Zeichen verwendet werden. Durch die Verwendung von Rohstring-Literalen müssen Backslashes nicht doppelt (einmal für Python und einmal für die Regular-Expression-Engine) escaped werden.
Unter Verwendung einer verschachtelten Schleife iterieren wir über jede Zeile und Zelle in den Daten. Für jede Zelle verwenden wir die re.match() Funktion, um zu überprüfen, ob der Zellwert mit einer der definierten Regular-Expressions übereinstimmt. Wenn eine Übereinstimmung gefunden wird, drucken wir den entsprechenden sensiblen Datentyp und den übereinstimmenden Wert aus.
Das Ausführen dieses Codes ergibt folgende Ausgabe:
E-Mail gefunden: john@example.com Mastercard-Nummer gefunden: 5555-5555-5555-4444 SSN gefunden: 123-45-6789 E-Mail gefunden: jane.smith@example.com Mastercard-Nummer gefunden: 4111-1111-1111-1111 SSN gefunden: 987-65-4321 E-Mail gefunden: bob.johnson@example.com SSN gefunden: 456-78-9012
Es ist wichtig zu beachten, dass das Erstellen umfassender Regular-Expressions für alle möglichen Varianten sensibler Daten herausfordernd sein kann. Verschiedene Datenformate, Randfälle und sich entwickelnde Muster können es schwierig machen, jede Instanz genau zu erfassen. Deshalb ist es eine gute Idee, einfache Regular-Expressions als Ausgangspunkt zu verwenden und sie kontinuierlich basierend auf den spezifischen Anforderungen und Daten in realen Szenarien zu verfeinern.
Zusätzliche Muster für sensible Daten
Hier sind einige weitere Regular-Expressions zur Klassifizierung sensibler Daten:
Telefonnummer (US-Format, mit +1 und ohne):
^\\(?([0-9]{3})\\)?[-.\\s]?([0-9]{3})[-.\\s]?([0-9]{4})$
oder
^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$
Diese Regular-Expressions matchen Telefonnummern in verschiedenen Formaten. Wie Sie aus dem obigen Link sehen können, gibt es eine große Anzahl von Regular-Expressions, die helfen, Telefonnummern in unterschiedlichen Formaten und in verschiedenen Ländern zu klassifizieren. Diese Komplexität erschwert den Klassifizierungsprozess, da alle diese Regular-Expressions einbezogen werden müssen, um die Daten genau zu klassifizieren.
IP-Adresse (IPv4):
^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}$
Diese Regular-Expression matcht IPv4-Adressen und stellt sicher, dass jedes Oktett im gültigen Bereich (0-255) liegt.
Reisepassnummer (US-Format):
^(?!^0+$)[a-zA-Z0-9]{3,20}$
Diese Regular-Expression matcht US-Reisepassnummern.
Bankkontonummer (IBAN-Format):
^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$
Diese Regular-Expression matcht internationale Bankkontonummern (IBAN) im Standardformat. Eine Liste verschiedener Formate (Regular-Expressions) finden Sie im Apache Validator.
Kreditkartennummer (American Express):
^3[47][0-9]{13}$
Diese Regular-Expression matcht American Express-Kreditkartennummern, die entweder mit 34 oder 37 beginnen und insgesamt 15 Ziffern haben.
Sozialversicherungsnummer (SSN) mit Bindestrichen:
^(?!666|000|9\\d{2})\\d{3}-(?!00)\\d{2}-(?!0{4})\\d{4}$
Diese Regular-Expression matcht SSNs im Format XXX-XX-XXXX und schließt bestimmte ungültige Muster wie 000 im Bereichsnummer oder 0000 in der Seriennummer aus.
E-Mail-Adresse:
^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$
Diese Regular-Expression matcht E-Mail-Adressen und erlaubt eine Kombination aus alphanumerischen Zeichen, Punkten, Unterstrichen und Bindestrichen im lokalem Teil und Domainnamen. Dies ist eine kurze Variante. Sie können leicht die Diskussionen auf Stackoverflow finden, die fortgeschrittenere Varianten vorschlagen.
Denken Sie daran, diese Regular-Expressions sind Beispiele und müssen möglicherweise basierend auf Ihren spezifischen Anforderungen und den Datenformaten, denen Sie begegnen, angepasst werden. Zusätzlich sind Regular-Expressions allein nicht ausreichend für umfassenden Datenschutz. Sie sollten sie in Verbindung mit anderen Sicherheitsmaßnahmen, wie Datenverschlüsselung, Zugangskontrollen und sicheren Speicherpraktiken verwenden.
Beim Umgang mit sensiblen Daten ist es wichtig, die spezifischen Anforderungen und Vorschriften zu berücksichtigen, die für Ihr Gebiet gelten. Konsultieren Sie stets die relevanten Sicherheits- und Compliance-Rahmenwerke und -Richtlinien, um den angemessenen Umgang und Schutz sensibler Informationen zu gewährleisten.
Fazit
Datenklassifizierung ist ein entscheidender Aspekt der Datensicherheit und Compliance. Durch die Kategorisierung von Daten basierend auf deren Sensibilität und die Anwendung geeigneter Sicherheitskontrollen können Organisationen sensible Informationen vor unbefugtem Zugriff und Datenverletzungen schützen.
Python und Regular-Expressions bieten leistungsstarke Werkzeuge zur Klassifizierung von Daten basierend auf deren Inhalt. Durch die Definition von Regular-Expressions, die spezifische Muster matchen, können wir sensible Daten in strukturierten oder unstrukturierten Datensätzen identifizieren und markieren.
Es ist jedoch wichtig, die Herausforderungen zu erkennen, die mit der Erstellung umfassender Regular-Expressions für alle möglichen Datenvariationen verbunden sind. Regular-Expressions sollten in Verbindung mit anderen Sicherheitsmaßnahmen, wie Verschlüsselung, Zugangskontrollen und Überwachung, verwendet werden, um einen robusten Datenschutz zu gewährleisten.
Bei DataSunrise bieten wir herausragende und flexible Werkzeuge zur Entdeckung, Sicherheit, Auditierung, Maskierung und Compliance sensibler Daten. Unsere Lösungen befähigen Organisationen, ihre sensiblen Daten zu schützen und regulatorische Anforderungen effektiv zu erfüllen. Wir ermutigen Sie, eine Online-Demo zu vereinbaren, um zu erfahren, wie DataSunrise Ihnen helfen kann, Ihre kritischen Datenressourcen zu klassifizieren und zu schützen.