Bundesamt für Sicherheit in der Informationstechnik

G 2.39 Mangelhafte Konzeption eines DBMS

In der Konzeption eines Datenbank-Managementsystems ( DBMS ) werden die Anforderungen an Auswahl, Aufbau, Betrieb und eventuell Erweiterung des geplanten Systems festgelegt.

Die Auswahl und der Einsatz einer Datenbank-Standardsoftware erfordert sorgfältige Planung, Installation und Konfiguration des Datenbank-Managementsystems (DBMS), um einen störungsfreien Einsatz zu gewährleisten. Die Vielzahl möglicher Gefährdungen sollen durch die nachfolgenden Beispiele verdeutlicht werden.

Auswahl einer ungeeigneten Datenbank-Standardsoftware

  • Es wird ein DBMS ausgewählt, welches in der geplanten Einsatzumgebung nicht lauffähig ist. Dies kann daraus resultieren, dass das DBMS an ein bestimmtes Betriebssystem gebunden ist oder die Mindestanforderungen an die Hardware nicht erfüllt werden.
  • Das ausgewählte DBMS stellt ein Sicherheitsrisiko dar, weil die vom Hersteller zur Verfügung gestellten Sicherheitsmechanismen nicht ausreichen, um die geforderte Verfügbarkeit, Integrität und Vertraulichkeit der Daten zu gewährleisten.

Fehlerhafte Installation bzw. Konfiguration der Datenbank-Standardsoftware

Die empfohlenen Sicherheitsmaßnahmen werden fehlerhaft, unvollständig oder gar nicht durchgeführt.

Beispiele:

  • Die Kontrolldateien eines Datenbanksystems werden nicht gespiegelt bzw. die gespiegelte Kontrolldatei wird nicht auf einer anderen Festplatte abgelegt. Ein Plattencrash führt dabei mit großer Wahrscheinlichkeit zur Zerstörung der Datenbank.
  • Während der Installation wird der automatisch erzeugten Systemadministrator-Kennung ein triviales Passwort zugewiesen, das nachfolgend nicht abgeändert wird.
  • Die physikalischeVerteilung der Daten ist unzureichend (falls das DBMS eine physikalische Verteilung vorsieht). Werden anwendungsspezifische Daten nicht physikalisch voneinander getrennt gespeichert, kann bereits der Ausfall einer einzigen Festplatte zu einem Komplettausfall aller Anwendungen führen.
  • Durch falsche Parametereinstellungen kann der Zugriff auf bestimmte Daten verhindert werden.
  • Durch eine falsche Ländereinstellung in einer Datenbank-Software kann die Darstellung von Umlauten unmöglich gemacht werden.

Fehlerhafte Konzeption der Datenbank

Im Datenbankkonzept werden neben den einzelnen Tabellen und ihren Spalten und Schlüsseln auch die Relationen der Tabellen untereinander dargestellt.

Einem Element einer Tabelle können kein, ein oder mehrere Elemente einer anderen Tabelle zugeordnet sein. Aus diesen Relationen ergeben sich Restriktionen, die bei Lösch-, Update- oder Einfüge-Operationen zu erfüllen sind, um die Datenbank-Integrität zu erhalten.

Beispiel:

  • Jeder Einwohner muss einen Wohnort haben. Einwohner können mehrere Wohnorte besitzen. Sollte ein Einwohner sterben, so fallen auch alle zugeordneten Wohnorte weg. Mehrere Einwohner können sich einen Wohnort teilen. Wohnorte können leer stehen.

In der Datenbank wird eine solche Relation durch eine zusätzliche Tabelle dargestellt, die für jedes Element der Relation (im Beispiel Einwohner / Wohnort) als Verweise auf die Datensätze die Schlüssel der zugehörigen Datensätze der einzelnen Tabellen enthält. Wenn ein Datensatz in der Tabelle der Einwohner oder der Wohnorte gelöscht wurde, darf es auch in der Tabelle zur Zuordnungsrelation keinen Verweis mehr auf diesen Datensatz geben. Die Einhaltung solcher Bedingungen kann in der Datenbank selbst definert werden, durch Bedingungen oder automatisch ablaufende Prozeduren.

Aus dem Zusammenwirken dieser Konstrukte kann es zu kaskadierenden Datenbankoperationen kommen, die aber in verschiedenen DBMS durch unterschiedliche Einschränkungen begrenzt werden.

Fehlende Relationen zwischen einzelnen Tabellen können, wenn nicht die Anwendung diese Funktionalität nachbildet, zu einem Verlust der sogenannten referenziellen Datenbankintegrität führen.

Beispiele:

  • Ein Wohnort wird ohne Prüfung gelöscht, ob diesem noch Einwohner zugeordnet sind.
  • Werden Datenbanktrigger falsch eingesetzt, kann es zu Inkonsistenzen der Daten kommen, wenn die Anwendung dies nicht selbst berücksichtigt.
  • Ein Einwohner verstirbt und wird daher aus der Datenbank gelöscht. Nachdem die Löschoperation durchgeführt ist, werden durch einen Delete-Trigger alle Datensätze in der zusätzlichen Tabelle gelöscht, die die verschiedenen Wohnorte des verstorbenen Einwohners beschreiben.
  • Durch eine mangelhafte Konzeption des Einsatzes von Datenbanktriggern kann es zu einem Verlust der Datenintegrität oder unkontrollierten Datenmanipulationen kommen.

Stand: 9. EL Stand 2007