Vergleich der Datenbankmanagementsysteme MySQL und Oracle unter der besonderen Berücksichtigung des gesetzlichen Anforderungen an den Datenschutz

Aus Winfwiki

Wechseln zu: Navigation, Suche
Name des Autors: Alexander Meister
Titel der Arbeit: Vergleich der Datenbankmanagementsysteme MySQL und Oracle unter der besonderen Berücksichtigung der gesetzlichen Anforderungen an den Datenschutz
Hochschule und Studienort: Fachhochschule für Oekonomie und Management Neuss

Inhaltsverzeichnis


1 Abkürzungsverzeichnis

AbkürzungBedeutung
BDSGBundesdatenschutzgesetz
BSIBundesamt für Sicherheit in der Informationstechnik
BSIGGesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik
DBDatenbank
DBMSDatenbankmanagementsystem
FGACFine Grained Access Control
ODBCOpen Database Connectivity
RFIDRadio Frequency Identification
SSLSecure Socket Layer
TDETransparent Data Encryption
UACUser Account Control
XMLExtensible Markup Language

2 Abbildungsverzeichnis

Abb.-Nr.Abbildung
1Cypherlock zur Zutrittskontrolle
2Marktanteil Betriebssystemversionen
3Schematische Darstellung der Kontrollen

3 Tabellenverzeichnis

Tab.-Nr.Tabelle
1Beispielvergabe von Berechtigungen
2Entwickelte Scorecard
3Privilegienvergabe in MySQL
4Scorecard MySQL
5Scorecard Oracle

4 Einleitung

Die Öffentlichkeit in der Bundesrepublik Deutschland stellt sich nach den Datenschutzskandalen der letzten Monate die Frage, wie sicher personenbezogene Daten in Unternehmen wirklich sind. Nach der unrechtmäßigen Überprüfung von Mitarbeitern der Deutschen Bahn oder dem Diebstahl von 17 Millionen Kundendaten bei T-Mobile wird in der Öffentlichkeit der Ruf nach mehr Datenschutz laut. Oft wird jedoch in der Öffentlichkeit vernachlässigt, dass bereits zahlreiche Gesetze und Regularien zum personenbezogenen Datenschutz existieren.

Ein Datenbankmanagementsystem (DBMS) unterstützt Unternehmen in der Verwaltung einer Datenbank (DB). Im Rahmen dieser Hausarbeit sollen zunächst die gesetzlichen Anforderungen an ein DBMS, welches personenbezogene Daten verwaltet, dargestellt werden. Aus den Ergebnissen soll dann ein Scoring-Modell entwickelt werden, welches insbesondere diese gesetzlichen Anforderungen berücksichtigt. Um einen Gesamtüberblick über das DBMS zu geben, werden auch allgemeine Vergleichskriterien für ein DBMS in das Scoring-Modell mit einbezogen. Im weiteren Verlauf der Hausarbeit sollen das DBMS MySQL und das DBMS Oracle mit Hilfe einer Scorecard bewertet und verglichen werden. Diese DBMS wurden vom Autor aufgrund der häufigen Verwendung in der Praxis ausgewählt[1].

Die Darstellung der Gesetzeslage wird sich aufgrund des Umfangs der Hausarbeit im Wesentlichen auf das Bundesdatenschutzgesetz (BDSG) und das Gesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik (BSIG) beschränken. Wird in der Hausarbeit von MySQL gesprochen, ist die Version ”MySQL 5.1 Community Server“ inklusive der frei verfügbaren Tools (z.B. Workbench) gemeint[2]. Oracle bezeichnet im Rahmen dieser Arbeit die Version ”Oracle Database 10g Release 2 (10.2.0.1)“[3]. Weiterhin wird in der Hausarbeit nicht die Umsetzung der technischen Mechanismen in einem DBMS erläutert, diese werden jeweils nur genannt.

5 Gesetzliche Anforderungen

”IT-Sicherheitsrecht ist kein ”eigenes“ Gesetz, sondern die Summe aller Normen, die der Verwirklichung der Ziele der IT-Sicherheit dienen.[4] Auch für den Datenschutz, als Bestandteil der IT-Sicherheit, gibt es kein eigenes, einzelnes Gesetz. Eines haben jedoch alle Gesetze gemein: die Grundlage für den Datenschutz in der Form der Verfassungsartikel:

  • “Die Würde des Menschen ist unantastbar. Sie zu achten und zu schützen ist Verpflichtung aller staatlichen Gewalt.[5]
  • “Jeder hat das Recht auf die freie Entfaltung seiner Persönlichkeit, soweit er nicht die Rechte anderer verletzt und nicht gegen die verfassungsmäßige Ordnung oder das Sittengesetz verstößt.[6]

Aus den Verfassungsartikeln lässt sich das so genannte Persönlichkeitsrecht ableiten[7]. Auf der Grundlage dieses Persönlichkeitsrechts existieren das BDSG und das BSIG, welche nachfolgend näher mit ihren Anforderungen an ein DBMS beschrieben werden.

5.1 Bundesdatenschutzgesetz

Das Ziel des BDSG wird in §1 Absatz 1 BDSG wie folgt beschrieben: ”Zweck dieses Gesetzes ist es, den einzelnen davor zu schützen, dass er durch den Umgang mit seinen personenbezogenen Daten in seinem Persönlichkeitsrecht beeinträchtigt wird.[8]

Um dieses Ziel zu erreichen, verlangt der Gesetzgeber in §9 BDSG technische und organisatorische Maßnahmen zu treffen, um die Ausführung des Gesetzes zu gewährleisten. Besonders genannt wird die Anlage zu § 9 Satz 1 BDSG, welche konkrete Vorschriften zur automatisierten Verarbeitung von personenbezogenen Daten gibt[9]. In dieser Anlage werden verschiedene Kontrollverfahren vom Gesetzgeber verlangt[10]. Da ein DBMS personenbezogene Daten automatisiert verarbeitet, sind diese Kontrollverfahren auch als gesetzliche Anforderungen an ein DBMS zu verstehen.

Abbildung 1: Cypherlock zur Zutrittskontrolle
Abbildung 1: Cypherlock zur Zutrittskontrolle
  • Zutrittskontrolle
    Die Zutrittskontrolle soll Unbefugten den Zutritt zu Datenverarbeitungsanlagen verwehren. In der Praxis besteht diese Zutrittskontrolle meist aus physikalischen Hindernissen, welche nur Zutrittsberechtigte passieren können. Als Zutrittskontrolle werden mechanische oder digitale Schließanlagen eingesetzt, in den letzten Jahren aber auch Biometrie oder Radio Frequency Identification (RFID)[11]. Ein DBMS kann naturgemäß keine Zutrittskontrolle gewährleisten.
  • Zugangskontrolle
    Die Zugangskontrolle muss sicherstellen, dass das DBMS nur von befugten Personen genutzt werden kann. Die Zugangskontrolle wird in einem DBMS oft über Nutzeraccounts mit zugehörigem Passwort realisiert.
  • Zugriffskontrolle
    In der Praxis wird auf die Daten einer DB von vielen Nutzern zugegriffen. Der Gesetzgeber fordert, dass der einzelne Nutzer der DB nur den Ausschnitt der Daten sehen, kopieren, verändern und entfernen kann, für die er eine Zugriffsberechtigung hat. Unzulässig ist es, dass alle Nutzer des DBMS Zugriff auf alle Daten der DB haben. Der Datenbankadministrator ist hier teilweise als Ausnahme anzusehen. In einem DBMS wird die Zugriffskontrolle über Nutzerberechtigungen umgesetzt.


Nutzer Berechtigung
Nutzer A alle Datensätze lesen
Nutzer B Datensätze, welche mit A beginnen lesen und verändern
Nutzer C Datensätze, welche mit B beginnen kopieren und entfernen

Tabelle 1: Beispielvergabe von Berechtigungen


  • Weitergabekontrolle
    Über die Einrichtung einer Weitergabekontrolle muss sichergestellt werden, dass bei der Datenübertragung (bspw. vom Server zum Client) oder der Speicherung von Daten auf Datenträgern (z.B. Festplatten, CDs, DVDs) personenbezogene Daten nicht unbefugt gelesen, kopiert, verändert oder entfernt werden können. Hier kommt der Einsatz von Datenverschlüsselungen in Betracht. Weiter fordert der Gesetzgeber, dass festgestellt werden kann, an welchen Stellen eine Übermittlung von personenbezogenen Daten vorgesehen ist. Dies kann durch ein DBMS nicht realisiert werden, da es lediglich Daten verwaltet, unabhängig von ihrem Typ. Es empfiehlt sich die Verwendung von personenbezogenen Daten in einem DBMS extern gesondert zu dokumentieren.
  • Eingabekontrolle
    Bei der Verwendung von einem DBMS muss sichergestellt werden, dass nachträglich überprüft und festgestellt werden kann, wie und von wem Daten eingegeben, verändert oder entfernt worden sind. Für eine Eingabekontrolle ist es erforderlich, dass Zutritt, Zugangs- und Zugriffskontrolle bereits vorhanden sind[12].
  • Auftragskontrolle
    Es muss gewährleistet werden, dass personenbezogene Daten, die in einem Auftrag verarbeitet werden, nur entsprechend den Weisungen des Auftraggebers verarbeitet werden können.
  • Verfügbarkeitskontrolle
    Das BDSG fordert, dass personenbezogene Daten gegen zufällige Zerstörung oder Verlust geschützt werden. Diese Anforderung kann z.B. über Backups erfüllt werden.
  • Trennung des Zwecks
    Es wird gefordert, dass zu unterschiedlichen Zwecken erhobene Daten getrennt verarbeitet werden können. So sollten z.B. Daten die für Werbezwecke erhoben wurden und Daten für Aufträge getrennt verarbeitet werden.

5.2 Gesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik

Die Tatsache, dass es seit 1991 ein eigenes Bundesamt für Sicherheit in der Informationstechnik gibt, macht den hohen Stellenwert der IT-Sicherheit in Deutschland klar. Aus §2 Absatz 2 BSIG lassen sich die Schutzziele für die IT-Sicherheit ableiten, welche selbstverständlich auch für ein DBMS gelten.

”Sicherheit in der Informationstechnik im Sinne dieses Gesetzes bedeutet die Einhaltung bestimmter Sicherheitsstandards, die die Verfügbarkeit, Unversehrtheit oder Vertraulichkeit von Informationen betreffen, durch Sicherheitsvorkehrungen [...] [13]

  • Verfügbarkeit
    Unter Datenverfüugbarkeit wird verstanden, dass die gespeicherten Daten grundsätzlich jederzeit für Zugriffe verfügbar sind. Bei einem DBMS muss auch die Zeitspanne zwischen Anforderung und Lieferung der Daten beachtet werden. Die Anforderung an die Verfügbarkeit ist ähnlich wie die Anforderung der Verfügbarkeitskontrolle aus dem BDSG zu sehen.
  • Unversehrtheit (Integrität)
    Die Integrität in einer DB gilt dann als gewährleistet, wenn keine Änderungen an Daten durchgeführt werden können, welche nicht nachvollziehbar sind. Auch hier sind Überschneidungen mit dem BDSG (Eingabekontrollen) zu erkennen.
  • Vertraulichkeit
    Die Vertraulichkeit von Daten ist gewährleistet, wenn diese vor unbefugtem Zugang, Zugriff, Manipulation und Nutzung geschützt sind. Auch hier sind Parallelen zum BDSG erkennbar.

Im Gegensatz zum BDSG werden im BSIG keine konkreten Kontrollmechanismen zur Umsetzung genannt. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) gibt jedoch den so genannten IT-Grundschutz-Katalog heraus, welcher Maßnahmen zur IT-Sicherheit beinhaltet[14]. Aus den Maßnahmenkatalogen sollten bei der Verwendung eines DBMS insbesondere die in Anhang A aufgeführten Maßnahmen beachtet werden[15].

6 Scoring-Modell

Um das DBMS MySQL mit dem DBMS Oracle objektiv vergleichen zu können, wird ein Scoring-Modell entwickelt. Zunächst werden allgemein anerkannte Vergleichskriterien für ein DBMS definiert. Aus den gesetzlichen Anforderungen an ein DBMS, die om vorherigen Kapitel herausgearbeitet wurden, werden Kriterien für einen Vergleich abgeleitet und definiert. Für jedes Kriterium ist eine Ausprägung zwischen 1 (schwache Ausprägung) und 9 (starke Ausprägung) möglich.

Jedes Kriterium wird in der Gesamtbewertung unterschiedlich gewichtet. Die Gewichtung der allgemeinen Vergleichskriterien beträgt in der Summe 0,3. Um die gesetzlichen Anforderungen an den Datenschutz besonders zu berücksichtigen, werden die datenschutzrechtlichen Vergleichskriterien in der Summe mit 0,7 gewichtet. Mit der entwickelten Scorecard sollen die Ergebnisse der Untersuchung der DBMS messbar gemacht werden.

6.1 Allgemeine Vergleichskriterien

Abbildung 2: Marktanteil Betriebssystemversionen
Abbildung 2: Marktanteil Betriebssystemversionen
  • Unterstützte Betriebssysteme
    Mit diesem Kriterium wird bewertet, ob das DBMS auf den 3 Betriebssystemen mit dem höchsten Marktanteil betrieben werden kann[16]. Es wird nicht bewertet, wie performant der Einsatz auf den einzelnen Betriebssystemen ist. Das Kriterium unterstützte Betriebssysteme wird in der Gesamtbewertung mit 0,05 gewichtet.
  • Support/Dokumentation
    Über das Kriterium Support/Dokumentation wird bewertet, wie umfangreich frei verfügbare Dokumentationen sind. Das Kriterium Support/Dokumentation wird in der Gesamtbewertung mit 0,05 gewichtet.
  • Benutzerfreundlichkeit
    Über dieses Kriterium werden die verfügbaren Administrationstools für das DBMS bewertet. Bewertet werden Tools des DBMS zur Gestaltung der DB (Tabellen, Beziehungen, View, etc.). Auch graphische Frontends des DBMS fließen in die Bewertung mit ein. Das Kriterium Administrationstools wird mit 0,10 in der Gesamtbewertung gewichtet.
  • Skalierbarkeit
    Das Kriterium Skalierbarkeit bewertet, welche Möglichkeiten das DBMS zur Anpassung an Anwendungen bietet. Das Kriterium Skalierbarkeit wird in der Gesamtbewertung mit 0,10 gewichtet.

6.2 Datenschutzrechtliche Vergleichskriterien

Abbildung 3: Schematische Darstellung der Kontrollen
Abbildung 3: Schematische Darstellung der Kontrollen
  • Zugangskontrolle
    Anhand dieses Kriteriums wird bewertet, ob das DBMS Über Zugangskontrollen verfügt. Weiter wird bewertet, wie die Zugangskontrollen umgesetzt sind. Dieses Kriterium wird fÜr die Gesamtbewertung mit 0,10 gewichtet[17].
  • Zugriffskontrolle
    Bewertet wird, wie die Zugriffe von Anwendungen und Nutzern auf die DB reglementiert werden kÖnnen und wie restriktiv die Rechtevergabe gestaltet werden kann. Da die im BDSG geforderte Auftragskontrolle und die geforderte Zwecktrennung fÜr erhobene Daten Über Zugriffskontrollen gestaltet werden können, fließen diese Aspekte in das Bewertungskriterium Zugriffskontrolle mit ein. Die im BSIG geforderte Vertraulichkeit wird aufgrund der starken Parallelen zu der geforderten Zugriffskontrolle aus dem BDSG ebenfalls mit diesem Kriterium bewertet. Das Kriterium Zugriffskontrolle wird, aufgrund des Umfangs und der erhöhten Bedeutung für den Datenschutz, in der Gesamtbewertung mit 0,20 gewichtet[18].
  • Weitergabekontrolle
    Das Kriterium Weitergabekontrolle bewertet, ob der Datenaustausch zwischen der DB und den Anwendungen/Benutzern verschlüsselt werden kann. Weiter wird bewertet, ob die Speicherung der Daten verschlüsselt werden kann. Dieses Kriterium wird für die Gesamtbewertung mit 0,10 gewichtet[19].
  • Integrität
    Über das Kriterium Integrität wird bewertet, ob Mechanismen im DBMS vorhanden sind, die die Integrität der DB gewährleisten. Wichtig ist, dass nachvollziehbar ist wer wann welche Eingaben getätigt hat und ob diese Eingaben gültig waren. Weiter werden Mechanismen bewertet, welche die Datenbankkonsistenz sicherstellen sollen. Die geforderte Eingabekontrolle aus dem BDSG und die Integrität aus dem BSIG werden in diesem Kriterium zusammengefasst. Das Kriterium Eingabekontrolle wird in der Gesamtbewertung mit 0,15 gewichtet[20].
  • Verfügbarkeit
    Das Kriterium Verfügbarkeit bewertet, ob das DBMS über Tools verfügt, die Backups von einem bestehenden Datenbestand erstellen können. Weiterhin werden über dieses Kriterium Mechanismen des DBMS bewertet, welche zu einer Steigerung der Performance (Zugriffszeit) beitragen können. Nicht bewertet wird die gesamte Performance des DBMS. Das Kriterium Verfügbarkeit wird in der Gesamtbewertung mit 0,15 gewichtet[21].


6.3 Entwickelte Scorecard

Tabelle 2 zeigt die aufgrund der gewählten Kriterien entwickelte Scorecard. Eingetragen sind die maximal möglichen Werte.


Scorecard
GewichtungAusprägungGewichtete Ausprägung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme0,0590,45
Support/Dokumentation0,0590,45
Benutzerfreundlichkeit0,1090,90
Skalierbarkeit0,1090,90
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle0,1090,90
Zugriffskontrolle0,2091,80
Weitergabekontrolle0,1090,90
Integrität0,1591,35
Verfügbarkeit0,1591,35
Ergebnis
9
Ergebnis in %
100

Tabelle 2: Entwickelte Scorecard

7 Datenbankmanagementsysteme im Vergleich

7.1 MySQL

MySQL lässt sich unter Windows XP problemlos installieren und betreiben. Unter Windows Vista muss für die Installation die User Account Control (UAC) deaktiviert werden[22]. MySQL lässt sich nach dem offiziellen Handbuch unter Mac OS X 10.5 betreiben[23].

Unter http://dev.mysql.com/doc/ befindet sich das Referenzhandbuch. Die Dokumentation steht unter der GNU General Public License. Der Support für den Community Server beschränkt sich auf den Community Support[24]. Einige Features, wie z.B. Update-Benachrichtigung oder die automatisierte Zustellung von technischen Warnhinweisen, sind mit dem Community Server nicht verfügbar[25].

Über die MySQL workbench[26] lässt sich die Datenmodellierung vornehmen. Die GUI-Tools[27] lassen eine einfache Administration von MySQL zu. Grundsätzlich existieren aufgrund der GNU General Public License zahlreiche frei verfügbare Administrations- und Modellierungstools für MySQL.

Unter anderem können Java, .NET und C++ Anwendungen MySQL über die entsprechenden "Connectors" ansprechen. Auch Open Database Connectivity (ODBC) oder die Extensible Markup Language (XML) werden von MySQL unterstützt. Die frei verfügbaren Treiber sorgen für die Skalierbarkeit von MySQL.

Bei MySQL wird bei jedem Versuch von Nutzern/Anwendungen, sich mit dem Server zu verbinden, zuerst überprüft, ob eine Verbindung mit der DB gestattet ist. Dafür werden die Anmeldedaten mit der in MySQL vorhandenen Tabelle user verglichen. Abgeglichen werden der Host, der User und das Passwort. Ist ein Host oder ein User nicht in der Tabelle user eingetragen oder ist das Passwort falsch, wird die Verbindung zum Server nicht gestattet.

MySQL sieht vor, dass jeder Nutzer/jede Anwendung eine eigene ID erhält, für die unterschiedliche Rechte vergeben werden können. Für die Zugriffskontrolle in MySQL spielen die Tabellen user, db, host, tables priv und columns priv aus der DB mysql die Hauptrolle. Über diese Tabellen werden Nutzern/Anwendungen die in MySQL so genannten Privilegien gewährt[28]. Privilegien können u.A. für das Auslesen, Ändern, Löschen und Hinzufügen von Daten gewährt werden. Ob ein Zugriff auf Daten gestattet wird, hängt von den eingeräumten Privilegien ab. Ist ein Privileg nicht gewährt, wird von MySQL überprüft, ob in einer untergeordneten Tabelle das spezifische Recht gewährt ist. Die Rechtevergabe kann also mit MySQL sehr detailliert und restriktiv gestaltet werden. So lässt sich auch eine Auftragskontrolle oder eine Zwecktrennung von Daten vornehmen. Die Gestaltung von Benutzerrollen lässt sich in MySQL nur über Umwege, namentlich wildcards, realisieren[29] [30].


Tabelle Privelegien
user globale Privilegien, Anwendung auf alle DB auf dem Server
db, host Privilegien auf DB-Ebene
tables priv, columns priv Privilegien auf Tabellen und Spaltenebene

Tabelle 3: Privilegienvergabe in MySQL


Grundsätzlich ist MySQL darauf ausgelegt, dass andere Komponenten in der Infrastruktur die Verschlüsselung von Daten übernehmen, auch wenn es bestimmte Mechanismen bereits mit einer Standardinstallation mitliefert. MySQL unterstützt verschiedene Secure Socket Layer (SSL) Verschlüusselungsmethoden zwischen Server und angebundenen Clients. Ausdrücklich darauf hingewiesen wird im Referenzhandbuch, dass die Verschlüsselung der Daten die Geschwindigkeit des Servers stark beeinträchtigen kann[31]. Explizit genannt werden im Referenzhandbuch OpenSSL[32] und yaSSL[33] zur Anwendung am MySQL Server. Weiter kann MySQL so konfiguriert werden, dass eine Authentifizierung mit X509-Zertifikat[34] vom Client verlangt wird.

MySQL kann bei jeder Anfrage an die Datenbank überprüfen, ob die Konsistenz der Datenbank bei Ausführung der Anfrage verletzt werden würde. Dazu betrachtet das DBMS jede Anfrage an die Datenbank als Transaktion. Diese Transaktion wird mit timestamp, NutzerID und einigen weiteren Daten in Logfiles gespeichert. Über die Logfiles lässt sich als Nebeneffekt auch nachvollziehen, wer wann welche Eingaben getätigt hat. Ist die Transaktion nach den eingerichteten Regeln zulässig, so wird die Transaktion ausgeführt, ein so genanntes commit. Würde diese Transaktion die Konsistenz der Datenbank verletzen, verweigert MySQL die Ausführung der Transaktion, ein so genanntes rollback. Parallelen Schreibzugriff auf einen Datensatz, der die Konsistenz der Datenbank gefährdet, verhindert MySQL über Locking. Demnach kann z.B. jeweils immer nur ein Nutzer schreibenden Zugriff auf einen Datensatz haben.

MySQL bringt mit der Installation einige Möglichkeiten für Backups mit. Die erste ist der Konsolenbefehl mysqldump. Über ihn können gesamte Datenbanken in eine eigene Datei gespeichert werden. Einzelne Tabellen lassen sich über den Befehl backup table sichern. Auch der select into outfile Befehl kommt für eine Datensicherung in Betracht[35]. MySQL unterstützt stored procedures, views und trigger. Die Verwendung von diesen Techniken kann wesentlich zu einer Verringerung der Zugriffszeiten auf Daten führen.


Scorecard MySQL
GewichtungAusprägungGewichtete Ausprägung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme0,0590,45
Support/Dokumentation0,0560,30
Benutzerfreundlichkeit0,1090,90
Skalierbarkeit0,1090,90
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle0,1090,90
Zugriffskontrolle0,2061,20
Weitergabekontrolle0,1060,60
Integrität0,1591,35
Verfügbarkeit0,1591,35
Ergebnis
7,95
Ergebnis in %
83,33

Tabelle 4: Scorecard MySQL

7.2 Oracle

Oracle lässt sich sowohl unter Windows XP als auch unter Windows Vista installieren und betreiben. Ein Betrieb von Oracle 10g (Release 2) unter Mac OS X 10.5 ist offziell nicht möglich und es wird auch kein Support dafür angeboten.

Die Dokumentation ist online unter http://www.oracle.com/pls/db102/homepage verfügbar, jedoch nur in englischer Sprache. Weiter sind online noch zahlreiche Tutorials hinterlegt, welche den Einstieg in Oracle erleichtern sollen. Um Support von Oracle zu beziehen, ist grundsätzlich der Abschluss eines Support-Vertrages nötig.

Eine Installation von Oracle beinhaltet zahlreiche Tools zur Administration. Herzstück ist der so genannte Enterprise Manager. Er bietet eine Web-Oberfläche, über die alle Einstellungen am DBMS vorgenommen werden können. Besonders genannt werden sollten aber auch die zahlreichen Assistenten, welche den Nutzer komfortabel durch einzelne Prozesse leiten.

Oracle kann an Java, .NET, C++ Anwendungen angebunden werden. Auch ODBC und XML werden von Oracle standardmäßig unterstützt. Die Skalierbarkeit ist also, teilweise über nachträglich zu installierende Treiber, ausreichend sichergestellt.

In Oracle bekommt jeder Nutzer/jede Anwendung eine User-ID zugewiesen. Über diese User-ID und das zugehörige Passwort identifiziert sich der Nutzer/die Anwendung gegenüber dem Server. Die Zugangskontrolle ist in Oracle also ausreichend umgesetzt.

Jeder Benutzer/jede Anwendung kann in Oracle objektbezogene Rechte und Systemrechte besitzen. Dem Nutzer/der Anwendung werden, ähnlich wie in MySQL,Rechte zum Auslesen, Ändern, Löschen und Hinzufügen von Daten gewährt. Oracle unterstützt die Rechtevergabe detailiert bis auf Spaltenebene über die Tabelle dba col privs. Hier werden die einzelnen Berechtigungen gewährt. Zusätzlich zu der Rechtevergabe auf User-Ebene unterstützt Oracle auch die Einrichtung von Rollen. Eine Rolle beinhaltet dann immer mehrere Einzelrechte. Ein Nutzer oder eine Anwendung kann immer mehreren Rollen zugeordnet werden. Hierbei ist zu beachten, dass für jede DB, die auf dem Server betrieben wird, eigene Rollen erstellt werden können[36]. Somit lässt sich eine Auftragskontrolle oder eine Zwecktrennung von Daten umsetzen. Ein weiteres Feature bei Oracle ist die so genannte Fine Grained Access Control (FGAC). Hier werden Policies definiert und Benutzern zugeordnet. Über diese Policies lässt sich der Zugriff von einzelnen Nutzern bis auf Zeilen- und Spaltenebene reglementieren. Da die Zugriffskontrolle über Policies in der Datenbank selbst geregelt wird und nicht in Tabellen ausgelagert ist, gilt es als erschwert, die Zugriffskontrolle in Oracle zu umgehen[37].

Oracle ist klar darauf ausgelegt, schon über das DBMS umfangreiche Möglichkeiten zur Verschlüsselung von Daten und zur verschlüsselten Übertragung von Daten zu bieten. Über den so genannten Wallet Manager unterstützt Oracle die Verwendung von SSL-Übertragungen und die Authentifizierung via X509[38]. Mit dem Release 2 hat Oracle die Transparent Data Encryption (TDE) eingeführt. Hiermit können Daten direkt automatisch bei der Speicherung verschlüsselt werden. Beim Auslesen werden die Daten automatisch wieder entschlüsselt. TDE lässt sich auch für Übertragungen im Netzwerk benutzen[39]. Die Schlüssel werden außerhalb des DBMS abgelegt, was die Sicherheit zusätzlich erhöht. Eine weitere Möglichkeit, Daten zu verschlüsseln, bietet Oracle mit dem Package dbms crypto. Hierüber lassen sich Hashes und die Algorithmen MD4, MD5 und SHA-1 zur Verschlüsselung nutzen[40].

Oracle arbeitet zur Sicherung der Konsistenz der DB mit Transaktionen. Abgeschlossene oder offene Transaktionen werden in redo log Dateien gespeichert. Würde die Konsistenz der DB verletzt, wird die verursachende Transaktion über die redo log Dateien identifiziert und rückgängig gemacht (rollback). In so genannten Control Files speichert Oracle Informationen über die Struktur der Datenbank, die bei Bedarf wieder hergestellt werden kann. Oracle unterstützt das Verfahren des Locking, welches den gleichzeitigen schreibenden Zugriff auf Datensätze verhindert.

Für Backups bietet Oracle mehrere Methoden an. Eine Möglichkeit ist das Data Pump. Weitere Möglichkeiten Backups einer bestehenden DB zu erstellen, bietet der Oracle Recovery Manager[41]. Oracle unterstützt stored procedures, views und trigger.


Scorecard Oracle
GewichtungAusprägungGewichtete Ausprägung
Allgemeine Vergleichskriterien
Unterstützte Betriebssysteme0,0560,30
Support/Dokumentation0,0530,15
Benutzerfreundlichkeit0,1090,90
Skalierbarkeit0,1070,70
Datenschutzrechtliche Vergleichskriterien
Zugangskontrolle0,1090,90
Zugriffskontrolle0,2091,80
Weitergabekontrolle0,1090,90
Integrität0,1591,35
Verfügbarkeit0,1591,35
Ergebnis
8,35
Ergebnis in %
92,77

Tabelle 5: Scorecard Oracle

7.3 Vergleich

Die erreichten Scores von MySQL mit 7,95 und Oracle mit 8,35 sind in etwa gleich. Beide Systeme beinhalten Maßnahmen, welche zur Erfüllung der gesetzlichen Anforderungen beitragen. Keines der beiden Systeme vernachlässigt einen geforderten Teilaspekt der gesetzlichen Forderungen gänzlich. Kleine Unterschiede zwischen MySQL und Oracle sind lediglich in der Umsetzung der Maßnahmen zu sehen. So ist z.B. die Zugriffskontrolle in MySQL auf die Gewährung von Privilegien beschränkt, während Oracle auch rollenbasierte Privilegienvergabe unterstützt. Im Ganzen kann gesagt werden, dass Oracle und MySQL aus datenschutzrechtlicher Sichtweise durchaus vergleichbar sind.

8 Fazit

Das DBMS MySQL und das DBMS Oracle unterscheiden sich in den gewichteten Kriterien kaum. Beide DBMS erfüllen die gesetzlichen Anforderungen an den Datenschutz und sind in dieser Hinsicht absolut vergleichbar.

Im Verlauf der Hausarbeit hat sich gezeigt, dass die DBMS selbst nicht an erster Stelle für die einleitend genannten Datenschutzskandale verantwortlich sein können. Die Verletzungen der Persönlichkeitsrechte haben offensichtlich andere Ursachen. Dies kann z.B. eine mangelnde Umsetzung der von den DBMS zur Verfügung gestellten Kontrollen sein. Auch andere Aspekte, wie z.B. eine schlechte Zutrittskontrolle, welche über ein DBMS nicht realisiert werden kann, kommen in Betracht. Auch bewusste Verletzungen der Persönlichkeitsrechte sind denkbar. Diese Ursachen könnten das Thema einer weiteren Hausarbeit sein.

Abschließend ist festzustellen, dass MySQL und Oracle mit ihren Kontrollmöglichkeiten einen großen Anteil an einem ganzheitlichen IT-Sicheheitskonzept für den Bereich Datenbankmanagement abdecken können. Ein weiterer Teil eines IT-Sicherheitskonzeptes sollte sicherlich durch andere Maßnahmen abgedeckt werden.

9 Fußnoten

  1. Vgl. Schauer(2009), o.S.
  2. Download unter: http://dev.mysql.com/downloads/
  3. Download unter: http://www.oracle.com/technology/software/products/database/index.html
  4. Vgl. Hoffmann (2009), o.S.
  5. Vgl. Art. 1(1) GG
  6. Vgl. Art. 2 (1) GG
  7. Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), S.11
  8. Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), §1 Abs. 1 BDSG
  9. Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), §9 BDSG
  10. Vgl. Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007), Anlage zu §9 Satz 1 BDSG
  11. Vgl. Haluschak (2009), o.S.
  12. Vgl. Kron (o.J.), o.S.
  13. Vgl. Regierung der Bundesrepublik Deutschland (o.J.), §2 Absatz 2 BSIG
  14. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. a), o.S.
  15. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), o.S.
  16. Vgl. Net Applications (2009), o.S.
  17. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.128
  18. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.129, M 2.132, M 4.67
  19. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 4.72
  20. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.130, M 2.133, M 4.68
  21. Vgl. Bundesamt für Sicherheit in der Informationstechnik (o.J. b), M 2.134, M 2.138, M 6.49, M 6.51
  22. Vgl. Kofler (2008), S.32f
  23. Vgl. MySQL AB (2006), S.108ff
  24. Verfügbar unter http://www.mysql.de/support/community_support.html
  25. Vgl. Sun Microsystems, Inc (o.J. a), o.S.
  26. Download unter: http://dev.mysql.com/downloads/workbench/5.1.html
  27. Download unter: http://dev.mysql.com/downloads/gui-tools/5.0.html
  28. Vgl. Kofler (2005), Kapitel 9
  29. Vgl. Raymans (2002), S.413
  30. Vgl. Reese (2002), S.109ff
  31. Vgl. Sun Microsystems, Inc (o.J. b), o.S.
  32. Vgl. Sun Microsystems, Inc (o.J. c), o.S.
  33. Vgl. Sun Microsystems, Inc (o.J. d), o.S.
  34. Vgl. C.H. Ostfeld SAS (o.J.), o.S.
  35. Vgl. Zawodny (2004), Kapitel 9
  36. Vgl. Raymans (2002), S.427
  37. Vgl. Günther (2007), o.S.
  38. Vgl. Ahrends (2005), S.399ff
  39. Vgl. Deutsche Oracle-Anwendergruppe e.V. (2007), S.55ff
  40. Vgl. Haas (2006), S.145ff
  41. Vgl. Gschoßmann (2008), Kapitel 2

10 Anhang A

Auszug aus Maßnahmenkatalog BSI

Maßnahmen Organisation
M 2.124Geeignete Auswahl einer Datenbank-Software
M 2.125Installation und Konfiguration einer Datenbank
M 2.126Erstellung eines Datenbanksicherheitskonzeptes
M 2.127Inferenzprävention
M 2.128 Zugangskontrolle einer Datenbank
M 2.129 Zugriffskontrolle einer Datenbank
M 2.130 Gewährleistung der Datenbankintegrität
M 2.131 Aufteilung von Administrationstätigkeiten bei Datenbanksystemen
M 2.132 Regelung für die Einrichtung von Datenbankbenutzern/-benutzergruppen
M 2.133 Kontrolle der Protokolldateien eines Datenbanksystems
M 2.134 Richtlinien für Datenbank-Anfragen
M 2.135 Gesicherte Datenübernahme in eine Datenbank
M 2.137 Beschaffung eines geeigneten Datensicherungssystems
M 2.138 Strukturierte Datenhaltung
Maßnahmen Hardware / Software
M 4.67 Sperren und Löschen nicht benötigter Datenbank-Accounts
M 4.68 Sicherstellung einer konsistenten Datenbankverwaltung
M 4.69 Regelmäßiger Sicherheitscheck der Datenbank
M 4.70 Durchführung einer Datenbanküberwachung
M 4.71 Restriktive Handhabung von Datenbank-Links
M 4.72 Datenbank-Verschlüsselung
M 4.73 Festlegung von Obergrenzen für selektierbare Datensätze
Maßnahmen Notfallvorsorge
M 6.48 Verhaltensregeln nach Verlust der Datenbankintegrität
M 6.49 Datensicherung einer Datenbank
M 6.50 Archivierung von Datenbeständen
M 6.51 Wiederherstellung einer Datenbank

11 Literaturverzeichnis

Monographien
Ahrends (2005)Ahrends Johannes / Lenz Dierk / Schwanke Patrick / Unbescheid Günther: Oracle 10g für den DBA: Effizient konfigurieren, optimieren und verwalten, Addison-Wesley München 2005
Deutsche Oracle-Anwendergruppe e.V. (2007)Deutsche Oracle-Anwendergruppe e.V.: DOAG Oracle-Jahrbuch 2007/2008. Praxisleitfaden und Partnerkatalog für die Oracle-Community: Praxisleitfaden und Partnerkatalog für die Oracle-Welt, Hanser-Verlag 2008
Gschoßmann (2008)Gschoßmann Christine / Langenegger Klaus: Das Oracle Backup und Recovery-Praxisbuch: Für alle Versionen bis einschließlich Oracle 11g, Addison-Wesley München 2008
Haas (2006)Haas Frank: Oracle Security in der Praxis: Sicherheit für Ihre Oracle-Datenbank, Hanser Fachbuchverlag München 2006
Kofler (2008)Kofler Michael / Öggl Bernd: PHP 5.3 & MySQL 5.1: Grundlagen, Programmiertechniken, Beispiele, Addison-Wesley München 2008
Kofler (2005)Kofler Michael: MySQL 5. Einführung, Programmierung, Referenz, 3.Auflage, Addison-Wesley München 2005
MySQL AB (2006)MySQL AB: Das offizielle MySQL 5-Handbuch: Konfiguration, Administration, Entwicklung und Optimierung, Addison-Wesley München 2006
Raymans (2002)Raymans Heinz-Gerd: Nitty Gritty SQL, Addison-Wesley München 2002
Reese (2002)Reese George / Yarger Randy J. / King Tim: MySQL. Einsatz und Programmierung, 2.Auflage, O'Reilly Köln 2002
Zawodny (2004)Zawodny Jeremy D. / Balling Derek J.: High Performance MySQL. Optimierung, Datensicherung, Replikation & Lastverteilung, O'Reilly Köln 2004
Internet-Quellen
Bundesamt für Sicherheit in der Informationstechnik (o.J. a)Bundesamt für Sicherheit in der Informationstechnik (Hrsg.): IT-Grundschutz-Katalog, http://www.bsi.bund.de/gshb/index.htm (15.03.2009 20:17)
Bundesamt für Sicherheit in der Informationstechnik (o.J. b)Bundesamt für Sicherheit in der Informationstechnik (Hrsg.): IT-Grundschutzkatalog - Maßnahmen, http://www.bsi.bund.de/gshb/deutsch/download/massnahmen.zip (08.05.2009 18:48)
C.H. Ostfeld SAS (o.J.)C.H. Ostfeld SAS (Hrsg.): X.509-Zertifikate, http://www.pentaware.com/pw_de/X509.htm (08.05.2009 20:50)
Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (2007)Der Bundesbeauftragte für den Datenschutz und die Informationsfreiheit (Hrsg.): Bundesdatenschutzgesetz -Text und Erläuterung-, http://www.bfdi.bund.de/cln_027/nn_531948/SharedDocs/Publikationen/Infobroschueren/INFO1,templateId=raw,property=publicationFile.pdf/INFO1.pdf (14.03.2009, 20:57)
Günther (2007)Günther Klaus: Oracle Zugriffskontrolle: Fine Grained Access Control (FGAC), Februar 2007, http://www.ordix.de/ORDIXNews/2_2007/Datenbanken/fine_grained_access_control.html (28.03.2009, 18:19)
Haluschak (2009)Haluschak Bernhard: Zutrittskontrolle Serverräume wirkungsvoll vor unbefugtem Zutritt schützen, 24.02.2009, http://www.tecchannel.de/server/hardware/1780627/server_serverraeume_rechenzentrum_zutrittskontrolle_biometrie_rfid/ (15.03.2009, 10:37)
Hoffmann (2006)Dr. Hoffann Mathis: IT-Sicherheit - ein Überblick, Veranstaltung des AKIT e.V., 06.07.2006, http://www.kegom.de/site/fcke_files/File/IT-Sicherheit_Dr.Hoffmann06.07.06.pdf?PHPSESSID=hm6rhfeb02dcjbl2mjforqao91 (14.03.2009, 19:52)
Kron (o.J.)Kron Gerhard (Hrsg.): Artikel über Eingabekontrollen, http://www.kronsoft.de/DSGlossar/Glossar/eingabekontrolle/eingabekontrolle.html (15.03.2009, 11:54)
Net Applications (2009)Net Applications (Hrsg.): Operating System Market Share, http://marketshare.hitslink.com/operating-system-market-share.aspx?qprid=10 (21.03.2009 15:16)
Regierung der Bundesrepublik Deutschland (o.J.)Regierung der Bundesrepublik Deutschland (Hrsg.): Gesetz über die Errichtung des Bundesamtes für Sicherheit in der Informationstechnik, http://www.bsi.bund.de/bsi/bsiges.pdf (08.05.2009, 17:04)
Schauer (2009)Dr. Schauer Manfred: Open Source auf der Überholspur, Juni 2006, http://www.joinvision.com/jv/ext/infow/itfacts/200606/itfacts200606.pdf (14.03.2009, 17:44)
Sun Microsystems, Inc (o.J. a)Sun Microsystems, Inc (Hrsg.): Was soll ich einsetzen: MySQL Enterprise oder MySQL Community Server?, http://www.mysql.de/products/which-edition.html (08.05.2009 19:33)
Sun Microsystems, Inc (o.J. b)Sun Microsystems, Inc (Hrsg.): Verwendung sicherer Verbindungen, http://dev.mysql.com/doc/refman/5.1/de/secure-connections.html (08.05.2009 20:41)
Sun Microsystems, Inc (o.J. c)Sun Microsystems, Inc (Hrsg.): Verwendung von SSL-Verbindungen mit OpenSSL, http://dev.mysql.com/doc/refman/5.1/de/secure-connections.html (08.05.2009 20:41)
Sun Microsystems, Inc (o.J. d)Sun Microsystems, Inc (Hrsg.): Verwendung von SSL-Verbindungen mit yaSSL, http://dev.mysql.com/doc/refman/5.1/de/secure-using-yassl.html (08.05.2009 20:41)
Persönliche Werkzeuge