Datamasking und Subsetting Überblick und Einführung Axel Kraft Manuel Blickle BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Unser Unternehmen. Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem Solution Engineering und der Erbringung von IT-Services mit Fokussierung auf - und -Technologien in der Schweiz, Deutschland, Österreich und Dänemark. Trivadis erbringt ihre Leistungen aus den strategischen Geschäftsfeldern: B E T R I E B Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme. 2
Mit über 600 IT- und Fachexperten bei Ihnen vor Ort. KOPENHAGEN HAMBURG 14 Trivadis Niederlassungen mit über 600 Mitarbeitenden. Über 200 Service Level Agreements. Mehr als 4'000 Trainingsteilnehmer. DÜSSELDORF Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. / EUR 4.0 Mio. FRANKFURT Finanziell unabhängig und nachhaltig profitabel. GENF BASEL BERN LAUSANNE FREIBURG BRUGG ZÜRICH STUTTGART MÜNCHEN WIEN Erfahrung aus mehr als 1'900 Projekten pro Jahr bei über 800 Kunden. 3
Axel Kraft Senior Consultant IMS Seit 1990 im IT-Bereich tätig Seit 2012 bei der Trivadis GmbH in Stuttgart IT Erfahrung Consultant für Oracle Datenbank Administration und Oracle Datenbank Security Lösungen Administration von komplexen und heterogenen Oracle Datenbank Umgebungen Spezialgebiet Oracle Datenbankbetrieb und Security Standardisierung Oracle Datenbankbetrieb Oracle Backup & Recovery Skills Oracle Backup & Recovery Oracle Database Security Oracle Advanced Security Audit Vault und Database Firewall, Database Vault Oracle Database Administration 4
Manuel Blickle Consultant IMS Seit 2004 im IT-Bereich tätig Seit 2015 bei der Trivadis GmbH in Stuttgart IT Erfahrung Consultant für Datenbanken und Infrastrukturlösungen Administration von komplexen und heterogenen Oracle Datenbank Umgebungen Disaster-Recovery, Monitoring, Hosting Spezialgebiet Datenbank Backup&Recovery Datenbank Reviews Fokusierung auf Best Practices Integration von Betriebskonzepten Datenbank Virtualisierung Skills Oracle Datenbank Adminstration MS SQL Server Adminstration Vmware Virtualisierung Training Knowledge Transfer 5
Technik allein bringt Sie nicht weiter. Man muss wissen, wie man sie richtig nutzt. 6
Agenda 1. Einleitung 2. Lizenzveränderungen 3. Aktivierung Management Pack 4. Implementierung Data Masking + Subsetting 5. Formatdefinitionen 6. Skriptgenerierung 7. Subsettingdefinitionen 8. Best Practices 9. Fazit 7
8 Einleitung
Einleitung Data Encryption Data Masking Data Redaction Daten werden nicht verändert Daten werden anonymisiert Daten on-the-fly anonymisieren Zugriffsrechte benötigt Keine speziellen Zugriffsrechte benötigt Policy basierte Zugriffsrechte Ursprüngliche Daten können nicht rekonstruiert werden 9
Einleitung Verbreitung von sensitiven Daten 50 % Entwicklungs-DB 5 % Partner 30 % Produktions-DB Schulungen 30 % Cloud 100 % Test-DB 10
Einleitung Compliance-Verfahren Payment Card Industry (PCI) Datensicherheitsstandard V 3.0 European Data Protection Directive HIPAA Health Insurance Portability and Accountability Act of 1996 11
Einleitung Ziele Sensitive Daten werden durch fiktive Daten vor der Verbreitung ersetzt. Einhalten von Compliance Richtlinien. Herausforderungen Herausfiltern relevanter sensitiver Daten. Erhalten der Datenintegrität. (Fremdschlüssel usw.) 12
Einleitung 13
14 Lizenzveränderungen
Lizenzveränderungen Oracle Data Masking Pack war traditionell eine Oracle Security Lösung. Oracle Test Management Pack war traditionell eine Applikationsqualitätslösung mit Subsetting Möglichkeiten. Ab Oracle 12c wurden diese beiden Packs zum Oracle Data Masking und Subsetting Pack vereint. Es wird nur noch eine Lizenz benötigt. Oracle Data Masking und Subsetting Pack ermöglicht Data Masking Data Subsetting Data Modeling 15
16 Aktivierung Management Pack
Aktivierung Management Pack Setup -> Management Packs -> Management Pack Access 17
Implementierung Data Masking + Subsetting 18
19 Implementierung Data Masking
Application Data Modeling Startseite 20 17.05.2016
Application Data Modeling Festlegen der Tabellen 21 17.05.2016
Application Data Modeling Ergebnis sensitive Spalten. 22 17.05.2016
23 Formatdefinitionen
Formatdefinitionen Die Art der Maskierung festlegen. 24 17.05.2016
Data Masking Formate (Auszug) SHUFFLE Dieses Format ermöglicht es, über eine Gruppe von Datensätzen den Wert zu maskieren. (Group Shuffle) Beispiel: Der Wert der Spalte GEHALT wird maskiert über ein Group Shuffle mit JOB_ID EMP_ID JOB_ID GEHALT GEHALT nach Maskierung 102 DBA 1000 1200 103 DBA 1200 1000 105 PROJEKTLEITER 2000 2200 106 PROJEKTLEITER 2200 2000 25
Data Masking Formate (Auszug) RANDOM DATES Maskiert mit zufälligen Datumswerten. Beispiel: Wert WOHNBEZUG wird durch ein zufälliges Datum im Intervall 01.11.2000 bis 30.11.2015 ersetzt. Spalte Datentyp Spaltenwert Maskierter Wert WOHNBEZUG DATE 01.10.1998 02.10.2003 01.01.2005 25.10.2014 01.03.2009 01.12.2000 26
Data Masking Formate (Auszug) ENCRYPT Durch Angabe einer "regular Expression" wird der Spaltenwert verschlüsselt. Vorgegebener Eingangswert hat immer den gleichen Ausgangswert. Das Format Encrypt benutzt einen 3DES Verschlüsselungsalgorithmus. Beispiel: Der Wert der Spalte EMP_ID wird verschlüsselt. Regular Expression: [0-9]{3} Spalte Datentyp Spaltenwert Maskierter Wert EMP_ID NUMBER(3) 100 402 102 814 310 731 27
Data Masking Formate (Auszug) User Defined Function (UDF) Dieses Format ermöglicht es, eigenen Programmcode für eine individuelle Maskierungslogik zu schreiben. Deterministische Maskierung sowie stärkere Verschlüsselung möglich. Standardformat einer User Defined Function (UDF) FUNCTION udf_func (rowid VARCHAR2, column_name VARCHAR2, original_value VARCHAR2) RETURN VARCHAR2; rowid: Oracle ROWID der zu maskierenden Spalte column_name: Name der zu maskierenden Spalte original_value: Spaltenwert der zu maskierenden Spalte 28
Data Masking Formate (Auszug) Weitere Formatdefinitionen (Nicht vollständig.) SQL Expression Substitute Conditional Masking Table Column Random Strings Random Numbers Fixed String 29
30 Skriptgenerierung
Skriptgenerierung Schritt 1 31 17.05.2016
Skriptgenerierung Schritt 2 32 17.05.2016
33 Subsettingdefinitionen
Subsetting Definition TABLE RULES Es gibt folgende Möglichkeiten die Größe und den Inhalt des Subsets zu definieren: Tabellen-Ebene Zeilen-Ebene Zeilen-Ebene Standard (no Rules) Alle Alle WHERE Einschränkung Keine Zeilen Bestimmte % Prozentual zur Anzahl Alle Zeilen Nach Typ (Partitioniert) 34
Subsetting Definition RULE PARAMETERS Wenn man die WHERE Einschränkung wie folgt benutzt, muss auch eine Bindvariable hinterlegt werden: Beispiel: Employee_ID=100 TABLE RULE WHERE employee_id=:emp_id RULE PARAMETER Example Name: emp_id Value: 100 35
Subsetting Definition COLUMN MASK RULES Hierbei handelt es sich um die Inline-Maskierung als Teil des Subsettings. Pro Tabelle können maximal 10 Spalten beim Export exkludiert werden. Beim der In-Database Methode gibt es diese Beschränkung nicht. Beispiel: Anwendung Tabelle Spalte Datentyp HR_TEST PRODUCTS SPECIFICATION BLOB 36
Subsetting Definition DATA MASKING DEFINITIONS Damit das Datenmaskieren mit dem Subsetting kombiniert wird, müssen hier noch die zuvor erstellten Definitionen ausgewählt werden. Dies kann sowohl mit der Methode In-Export als auch In-Database erfolgen. Hier gilt auch wieder die Einschränkung von 10 maskierten Spalten pro Tabelle jedoch nur beim Export. 37
Subsetting Definition Beispiel Table Rule Estimated 38
Subsetting Data Subset :: Ergebnis (Export) 39 17.05.2016
Best Practices 40 17.05.2016
Best Practices Implementierung Funktionierendes Backup/Restore Verfahren vorhanden Storageanforderungen beachten Performance I/O Tuning der Zieldatenbank Oracle Patch Empfehlungen beachten Datenbank Statistiken der Zieldatenbank aktuell halten. Prüfen, ob Parallel Execution möglich ist SQL Tuning Advisor verwenden Bei Export maximum number of threads tunen 41 17.05.2016
Fazit Oracle Data Masking and Subsetting ist der richtige Ansatz um rechtlichen Vorschriften gerecht zu werden. Keine Best Practices vorhanden sowie umgesetzte Projekte. 42
Weitere Informationen Oracle Dokumentation http://www.oracle.com/us/products/database/data-masking-subsetting/overview/index.html Trivadis expert Team Security http://www.trivadis.com/de/security 43
Fragen und Antworten Axel Kraft Senior Consultant Manuel Blickle Consultant Tel. +49 711 903 63 230 Tel. +49 711 903 63 232 0 axel.kraft@trivadis.com manuel.blickle@trivadis.com 44