Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Maskierung von Daten: Gewährleistung sicherer und konformer Testdaten für Softwaretests

Datenmaskierung spielt eine entscheidende Rolle beim Software-Testing, insbesondere bei der Beschaffung von Testdaten. Dabei werden Daten verändert, um sowohl sensible Informationen zu schützen, als auch die Verwendbarkeit der Daten für Testzwecke zu gewährleisten. Wie lassen sich Softwaretests durch das Beschaffen von Testdaten unter Berücksichtigung konsistenter Datenmaskierung bestehender Produktivdaten verbessern?

Author Image
Daniel Kirchner

Software Developer


  • 15.04.2025
  • Lesezeit: 10 Minuten
  • 299 Views

Bei der Beschaffung von Testdaten unterscheidet man grob zwischen zwei Ansätzen. Zum einen ist es möglich, Testdaten komplett synthetisch zu generieren. Hierbei werden zufällige Werte „aus dem Nichts“ erstellt, die sich sofort als Testdaten verwenden lassen.

Der zweite Ansatz verfolgt die Verwendung vorhandener Echtdaten. Diese bestehen in der Regel aus produktiv eingesetzten Daten und umfassen neben den geläufigeren, eindeutig beschreibbaren Szenarien nahezu sämtliche Randfälle, die in der Praxis vorkommen können und durch entsprechende Testszenarien abgedeckt werden sollten. Diese Randfälle resultieren daraus, dass die Produktionsdaten über die Laufzeit der Applikationen gewachsen und migriert wurden. Es handelt sich daher um Fälle, die in ihrer Art sowohl technisch als auch fachlich ausschließlich in den Produktionsdaten existieren.

Darüber hinaus ergibt sich daraus die Möglichkeit, im Falle eines Produktionsfehlers genau den zugehörigen Datensatz zur Fehlerbehebung nutzen zu können, durch den der Fehler verursacht wurde. So ist man zuvor nicht darauf angewiesen zu verstehen, wie die Fehlersituation reproduziert werden kann.

Mit Produktivdaten meint man in der Regel bestehende, persistente Daten, die bereits in vorhandenen Datenbanken vorliegen. Solche Daten sind beispielsweise Kunden- und Vertragsdaten.

Einhaltung von Datenschutzbestimmungen sicherstellen

Da personenbezogene Daten nicht ohne Weiteres zum Testen benutzt werden dürfen, sind sie entsprechend zu anonymisieren.

Eines der Hauptziele der Datenmaskierung besteht darin, die Einhaltung von Datenschutzbestimmungen wie DSGVO (engl. GDPR, in anderen Anwendungsgebieten HIPAA und CCPA) zu gewährleisten. Diese Vorschriften schreiben den Schutz personenbezogener Informationen (PII, Personal Identifiable Information) und sensibler Daten vor. Durch die Maskierung von Daten können Unternehmen realitätsnahe Daten in Testumgebungen verwenden, ohne Datenschutzverletzungen oder Strafen für die Nichteinhaltung von Vorschriften zu riskieren.

Ein Ansatz verfolgt die personalisierte, anpassungsfähige und skalierbare Maskierungslösung, die sich schnell für alle Anwendungsdaten initiieren und einsetzen lässt. Dabei wird die Einhaltung von Vorschriften für personenbezogene Daten wie DSGVO/GDPR, HIPAA (Health Insurance Portability and Accountability Act) und CCPA (California Consumer Privacy Act) gewährleistet (siehe Abb. 1).

Abb. 1: Schutz personenbezogener Informationen (PII)

Daten, die wie echte Daten aussehen

Eine wirksame Datenmaskierung verwandelt sensible Daten in etwas, das wie echte Daten aussieht und sich auch so anfühlt. Das ist unerlässlich, da das Testen mit realistischen Datensätzen sicherstellt, dass sich die Software später in einem realen Szenario wie erwartet verhält. Integrität und Konsistenz der Daten müssen gewahrt bleiben, um verzerrte Ergebnisse zu vermeiden und eine zuverlässige Grundlage für die Tests zu schaffen.

Für die Umsetzung der Maskierung ist es daher wichtig, alle in den eingesetzten Anwendungen verfügbaren Daten so zu maskieren, dass es so aussieht, als wären sie nie geändert worden. Namen, Adressen und Bankdaten lassen sich durch Äquivalente ersetzen, die nach bestimmten Verfahren aus Nachschlagetabellen mit echten Namen entnommen und neu zugewiesen werden. So können authentische Daten aus der realen Welt genutzt werden.

Konsistente Datenmaskierung über alle Plattformen hinweg

Konsistenz bei der Datenmaskierung ist der Schlüssel zur Wahrung der Datenintegrität. Maskierte Daten sind über alle Plattformen und Umgebungen hinweg einheitlich zu ändern, um sicherzustellen, dass die Beziehungen innerhalb der Daten intakt bleiben. Diese Konsistenz ist entscheidend für genaue Tests und zuverlässige Ergebnisse.

Eingesetzte Maskierungsroutinen müssen daher auf verschiedene Datentypen angewendet werden können, von Cloud-Speicherlösungen über relationale Datenbankprodukte bis hin zu älteren VSAM-Clustern (Virtual Storage Access Method). Dies ermöglicht eine konsistente Maskierung über alle Plattformen hinweg.

Erkennen von PII-Daten

Bereits vor der Maskierung ist es wichtig, alle personenbezogenen Daten in einem Datensatz zu erkennen und zu identifizieren. Hochentwickelte Erkennungswerkzeuge, wie XDM von UBS Hainer, können Datenbanken nach sensiblen Informationen durchsuchen und sicherstellen, dass nichts übersehen wird. Dieser Schritt ist entscheidend für die Durchsetzung einer umfassenden Datenmaskierung.

Zur Identifizierung dieser sensiblen Daten gibt es unterschiedliche Möglichkeiten. Ein Ansatz verfolgt das Durchsuchen aller Anwendungsdaten mithilfe von auf Wörterbüchern oder Ausdrücken basierten Algorithmen für PII-Daten, wie Namen und Adressen. Diese Algorithmen unterstützen sowohl allgemeine Aufgaben als auch spezifische Anforderungen.

Erzwingen der Maskierung

Die Durchsetzung von Maskierungsrichtlinien stellt sicher, dass alle identifizierten PII-Daten effektiv maskiert werden. Bei diesem Prozess ist es wichtig, die Maskierung unabhängig von benutzerdefinierter Maskierung durchzuführen. Das wird in manchen Ansätzen umgesetzt, indem die entsprechende Verfremdung der Daten stets eine Abstraktionsebene über der benutzerdefinierten Verfremdung stattfindet, also eine zentrale Konfiguration der Datenquelle möglich ist.

So wird die konsequente Durchsetzung dieser Regeln definiert und sichergestellt, dass alle Daten vor dem Kopiervorgang maskiert werden, wodurch sich die Daten sicher in Testumgebungen verwenden lassen. Das ist für die Einhaltung der Vorschriften und die Sicherheit unerlässlich.

Dazu autorisiert eine ACL-basierte (Access Control List) Berechtigungsverwaltung auf Objektebene die Konfiguration und Änderung der Maskierungseinstellungen.

Konsistente Maskierung über alle Datenoperationen hinweg

Die Maskierung sollte kein einmaliger Prozess sein, sondern konsequent bei allen Datenoperationen angewendet werden. Dazu gehören Datenübertragungen, Backups und jede Umgebung, in der die Daten repliziert werden. Eine konsistente Maskierung stellt sicher, dass sensible Informationen jederzeit geschützt bleiben. Technisch gesehen gibt es für das konsistente Maskieren die Optionen, Anwendungsdaten an Ort und Stelle, zusammen mit Massenkopien oder bei der Festlegung von Teilmengen bestimmter Geschäftsobjekte zu maskieren.

Entscheidet man sich bei einem Maskierungsprojekt für den Einsatz eines Maskierungstools, ist ein entscheidender Faktor häufig die Möglichkeit, vordefinierte Algorithmen sofort einsetzen zu können. Gleichzeitig ist aber auch die Möglichkeit nicht weniger wichtig, solche Algorithmen nach den eigenen Anforderungen anzupassen oder gar eine komplett eigene Maskierung zu definieren.

Sofort einsatzbereite Änderungsmethoden bieten schnelle und zuverlässige Lösungen für die Datenmaskierung. Solche vordefinierten Methoden bieten Standardverfahren für die Änderung von Daten und machen den Prozess auf Anhieb effizienter und weniger fehleranfällig. Das führt außerdem dazu, dass ein entsprechendes Werkzeug schneller einsatzbereit ist und zumindest Ideen für weitere, auf die inneren Anforderungen angepasste Modifizierungsmethoden vorliegen.

Maskierung mithilfe von Nachschlagetabellen

Die deterministische Maskierung von Daten wird in manchen Ansätzen mithilfe von Nachschlagetabellen umgesetzt. Dieser Grundgedanke wird durch das Bereitstellen (initial oder durch das nachträgliche Erstellen einer solchen Tabelle) entsprechend zugeordneter Key-Value-Paare umgesetzt. Dadurch entsteht eine konsistente Verfremdung von Daten, die die immer gleichen Ergebnisse liefert – häufig unterstützt durch vorhandene Hashing-Algorithmen, die die deterministische, nicht umkehrbare Auswahl der Einträge in den Nachschlagetabellen gewährleisten (siehe Abb. 2).

Abb. 2: Data Masking mittels Key-Value-Paaren als Inhalt einer Nachschlagetabelle

Ein wichtiger Faktor für den Einsatz von Nachschlagetabellen ist die Möglichkeit der Anpassung derselben.

Oft kommt es vor, dass man solche Key-Value-Tabellen mit eigenen Werten bestücken möchte, die im Zuge der Verfremdung quasi-zufällig gewürfelt werden sollen – wenn auch bei jedem Würfelwurf mit dem gleichen Ergebnis. Im Prinzip ist es dann möglich, die Originaldaten auszuwählen, diese einmal zu würfeln und dann als verfremdete Daten zu verwenden. Wichtig ist, dabei zu beachten, dass die Daten dennoch konsistent bleiben und beispielsweise Adressen nach wie vor valide sind.

So lassen sich Daten maskieren, ohne die spezifischen Bedürfnisse der Anwendung zu missachten. Diese Anpassung ermöglicht eine präzisere und relevantere Datenmaskierung und stellt sicher, dass die maskierten Daten die einzigartigen Anforderungen verschiedener Testszenarien erfüllen.

Anpassen der Maskierungsdivergenz

Durch das Anpassen der Maskierungsdivergenz können die maskierten Daten an verschiedene Kontexte angepasst werden, wobei die Gesamtintegrität der Daten erhalten bleibt. Diese Divergenz kann Muster verhindern, die sich potenziell zurückverfolgen lassen, und erhöht damit die Datensicherheit. Ein Aspekt wäre, den Grad der Abweichung von realen Daten für alle Arten von Daten konfigurierbar zu machen.

Sollen zum Beispiel maskierte Vornamen mit dem Geschlecht der Person übereinstimmen? Sollen Adressen in derselben Stadt, demselben Bundesland oder demselben Land liegen? Sollen personenbezogene Daten von Personen aus Regionen mit geringer Bevölkerungsdichte innerhalb einer breiteren geografischen Region einschließlich benachbarter Gebiete berücksichtigt werden? All das sollte konfigurierbar sein.

Generieren von Daten, die sich echt anfühlen

Wie erwähnt, sollen maskierte Daten nicht nur echt aussehen, sondern sich auch in Bezug auf Struktur und Format echt anfühlen. Das stellt sicher, dass die Software-Testumgebung den tatsächlichen Nutzungsbedingungen sehr nahekommt, was zu genaueren und zuverlässigeren Testergebnissen führt.

Als Testdatenmanager möchte man häufig realistische Daten für einzelne Tabellen, Dienste oder CSV-Dateien auf der Grundlage bereitgestellter Look-up-Tabellen erstellen. Daneben möchten sie möglicherweise vollständige Testszenarien konstruieren, indem Geschäftsobjekte über mehrere Tabellen hinweg multipliziert, neue ID-Werte generiert und die referenzielle Integrität gewahrt werden.

Einfaches Zusammenarbeiten und Audits

Effektive Datenmaskierung erleichtert die Zusammenarbeit zwischen Entwicklungs-, Test- und Compliance-Teams. Wenn alle Beteiligten mit konsistenten, sicheren Daten arbeiten, verbessert das die Zusammenarbeit und rationalisiert den Testprozess. Ein entsprechendes Tool sollte diese Zusammenarbeit zwischen verschiedenen Benutzern erleichtern, indem es die Implementierung individueller Änderungsmethoden von der Zuweisung persönlicher Informationsattribute trennt. Die Datenmaskierung kann dann an Ort und Stelle oder während eines beliebigen Datenbereitstellungsprozesses erfolgen.

Das Masking-Tool von XDM der UBS Hainer unterstützt diese Anforderungen und ist in der Lage, die Verfremdung von Daten durch unabhängige Methoden flexibel und wiederholbar umzusetzen.

Schließlich ist die Aufzeichnung aller Datenmaskierungsaktivitäten durch Audits für die Einhaltung der Vorschriften und die Transparenz unerlässlich. Audits bieten einen Überblick über alle Änderungen, gewährleisten die Rechenschaftspflicht und ermöglichen es Unternehmen, die Einhaltung von Datenschutzbestimmungen nachzuweisen.

Übersichtsberichte über Datenbereitstellung und -maskierung sollten vorhanden sein. Gleiches gilt für die effektive Handhabung von PII-Daten in verschiedenen Testumgebungen oder auf individueller Ebene, einschließlich der Möglichkeit, PII-Daten für bestimmte Kunden selektiv zu löschen.

Fazit

Zusammenfassend lässt sich festhalten, dass die Datenmaskierung ein unverzichtbares Werkzeug im Bereich des Software-Testings ist, das sicherstellt, dass sensible Daten geschützt bleiben und gleichzeitig realistische und zuverlässige Testdaten bereitgestellt werden. Durch die Nutzung spezieller Vorgehensweisen bei der Datenmaskierung, die sich in vielen Projekten bewährt haben, können Unternehmen die Einhaltung von Vorschriften gewährleisten, die Sicherheit erhöhen und die Gesamtqualität ihrer Softwareprodukte verbessern.

Die Anforderungen an einen gesetzeskonformen Datenmaskierungsprozess auf hohem und komfortablem Niveau müssen durch den Einsatz eines solchen Werkzeugs erfüllt sein. Dies ist eine wichtige Voraussetzung für eine professionelle und agile Testdatenautomatisierung.

. . .

Verwandte Inhalte

slide 3 to 4 of 10

Author Image

Daniel Kirchner

Software Developer
Zu Inhalten

Daniel Kirchner ist als Software Developer seit über zehn Jahren Teil der Entwicklungsabteilung von XDM, einem Tool der UBS Hainer GmbH im Bereich Test Data Management und Data Masking. Seine Fachgebiete sind Backend-Entwicklung und Datenmaskierung, zum letzteren Thema hat er bereits mehrere Kundenprojekte begleitet


Artikel teilen