DDBMS - Sicherheit in verteilten Datenbanken

Ein verteiltes System benötigt zusätzliche Sicherheitsmaßnahmen als ein zentrales System, da es viele Benutzer, diversifizierte Daten, mehrere Standorte und verteilte Kontrolle gibt. In diesem Kapitel werden die verschiedenen Facetten der verteilten Datenbanksicherheit untersucht.

In verteilten Kommunikationssystemen gibt es zwei Arten von Eindringlingen:

  • Passive eavesdroppers - Sie überwachen die Nachrichten und erhalten private Informationen.

  • Active attackers - Sie überwachen nicht nur die Nachrichten, sondern beschädigen auch Daten, indem sie neue Daten einfügen oder vorhandene Daten ändern.

Sicherheitsmaßnahmen umfassen Sicherheit in der Kommunikation, Sicherheit in Daten und Datenprüfung.

Kommunikationssicherheit

In einer verteilten Datenbank findet aufgrund des diversifizierten Standorts von Daten, Benutzern und Transaktionen viel Datenkommunikation statt. Daher ist eine sichere Kommunikation zwischen Benutzern und Datenbanken sowie zwischen den verschiedenen Datenbankumgebungen erforderlich.

Sicherheit in der Kommunikation umfasst Folgendes:

  • Daten sollten während der Übertragung nicht beschädigt werden.

  • Der Kommunikationskanal sollte sowohl vor passiven Lauschern als auch vor aktiven Angreifern geschützt sein.

  • Um die oben genannten Anforderungen zu erfüllen, sollten genau definierte Sicherheitsalgorithmen und -protokolle übernommen werden.

Zwei beliebte, konsistente Technologien für eine durchgängige sichere Kommunikation sind:

  • Secure Socket Layer Protocol oder Transport Layer Security Protocol.
  • Virtuelle private Netzwerke (VPN).

Datensicherheit

In verteilten Systemen müssen unbedingt Maßnahmen zur Sicherung von Daten außerhalb der Kommunikation getroffen werden. Die Datensicherheitsmaßnahmen sind -

  • Authentication and authorization- Dies sind die Maßnahmen zur Zugriffskontrolle, mit denen sichergestellt wird, dass nur authentische Benutzer die Datenbank verwenden können. Zur Bereitstellung der Authentifizierung werden digitale Zertifikate verwendet. Außerdem ist die Anmeldung durch die Kombination aus Benutzername und Passwort eingeschränkt.

  • Data encryption - Die beiden Ansätze zur Datenverschlüsselung in verteilten Systemen sind:

    • Interner bis verteilter Datenbankansatz: Die Benutzeranwendungen verschlüsseln die Daten und speichern die verschlüsselten Daten in der Datenbank. Zur Verwendung der gespeicherten Daten rufen die Anwendungen die verschlüsselten Daten aus der Datenbank ab und entschlüsseln sie anschließend.

    • Externe zu verteilter Datenbank: Das verteilte Datenbanksystem verfügt über eigene Verschlüsselungsfunktionen. Die Benutzeranwendungen speichern Daten und rufen sie ab, ohne zu bemerken, dass die Daten in verschlüsselter Form in der Datenbank gespeichert sind.

  • Validated input- Bei dieser Sicherheitsmaßnahme überprüft die Benutzeranwendung jede Eingabe, bevor sie zum Aktualisieren der Datenbank verwendet werden kann. Eine nicht validierte Eingabe kann eine Vielzahl von Exploits verursachen, z. B. Pufferüberlauf, Befehlsinjektion, standortübergreifendes Scripting und Beschädigung von Daten.

Datenprüfung

Ein Datenbanksicherheitssystem muss Sicherheitsverletzungen erkennen und überwachen, um die Sicherheitsmaßnahmen zu ermitteln, die es ergreifen sollte. Es ist oft sehr schwierig, Sicherheitsverletzungen zum Zeitpunkt des Auftretens zu erkennen. Eine Methode zum Identifizieren von Sicherheitsverletzungen besteht darin, Überwachungsprotokolle zu untersuchen. Überwachungsprotokolle enthalten Informationen wie -

  • Datum, Uhrzeit und Ort fehlgeschlagener Zugriffsversuche.
  • Details zu erfolgreichen Zugriffsversuchen.
  • Wichtige Änderungen im Datenbanksystem.
  • Zugriff auf große Datenmengen, insbesondere aus Datenbanken an mehreren Standorten.

Alle oben genannten Informationen geben einen Einblick in die Aktivitäten in der Datenbank. Eine regelmäßige Analyse des Protokolls hilft dabei, unnatürliche Aktivitäten zusammen mit dem Ort und dem Zeitpunkt des Auftretens zu identifizieren. Dieses Protokoll wird idealerweise auf einem separaten Server gespeichert, sodass Angreifer nicht darauf zugreifen können.