19.3
Hackerangriffe abwehren
453
19.3 Hackerangriffe abwehren
Hackerangriffe werden in der Regel von Personen durchgeführt, die tiefe Kennt-
nisse über die Architektur des Systems besitzen. Hacker informieren sich über die
Schwächen des Systems und legen sich einen Plan zurecht, bevor sie mit dem
Angriff beginnen. Ihr Ziel ist es, in das System einzudringen, sich weitreichende
Rechte zu verschaffen, um dann Daten zu stehlen oder die Verfügbarkeit des Sys-
tems zu beeinträchtigen.
Gehen Sie bei der Einstufung des Gefährdungspotenzials Ihrer Datenbanken
davon aus, dass ausschließlich Datenbanken mit sensitiven Daten das Ziel von sol-
chen Attacken sind. In vielen Fällen steckt die Absicht dahinter, einen persönli-
chen finanziellen Vorteil zu erlangen oder dem Unternehmen Schaden
zuzufügen.
Während für die Mehrzahl Ihrer Datenbanken ein normaler Sicherheitsstandard
ausreicht, so wie er in den Sicherheitspolicen des Unternehmens beschrieben ist,
ist für unternehmenskritische Datenbanken oder Datenbanken mit sensitiven
Daten ein erhöhter Sicherheitsstandard erforderlich. Im vorliegenden Abschnitt
finden Sie eine Zusammenstellung, wie Sie professionelle Hackerangriffe erken-
nen und abwehren können.
Das Thema Sicherheit hat in der IT-Industrie unterschiedliche Phasen durchlebt.
Während es in der Wachstums- und Boom-Phase Mitte bis Ende der neunziger
Jahre kaum eine Rolle spielte, wurde es mit der Jahrtausendwende viel stärker
beachtet und spielt heute eine zentrale Rolle in vielen Unternehmen. IT-Sicherheit
ist inzwischen ein wichtiger Bestandteil im Risk Management. Analog dazu hat
sich auch die Sicherheit des Produkts Oracle RDBMS entwickelt. Mit dem Druck
der Kunden nach einem höheren Sicherheitsstandard wurde die Firma Oracle
überrascht. Mann konnte in der Kürze der Zeit die vielen Sicherheitslücken nicht
schließen. Daraufhin wurde die Marketing-Kampagne »Unbreakable« ins Leben
gerufen, die den Kunden glauben machen sollte, dass Oracle sicher ist. Dass dies
zum damaligen Zeitpunkt nicht der Fall war, bestätigen alle Insider, die sich länger
mit diesem Thema beschäftigen. Heute hat Oracle mit der Version 11g in vielen
Bereichen einen guten Standard erreicht. Leider existieren immer noch Sicher-
heitslücken, die durch das Medium Internet einem breiten Interessenkreis zur
Verfügung gestellt werden.
Hinweis
Transparent Data Encryption ist Teil des Advanced Security-Pakets und muss
zusätzlich lizenziert werden.
Kapitel 19
Erweiterte Sicherheitsthemen
454
19.3.1 Angriffe auf den Authentifizierungsprozess abwehren
Angriffe starten häufig mit Versuchen, Informationen wie Version und Instanz-
name über die Datenbanken zu erlangen. Primäre Angriffsziele sind dabei der Lis-
tener und der Authentifizierungsprozess. Im Prozess der Authentifizierung selbst
ist es sogar möglich, Passwörter zu erlangen, obwohl sie von Oracle verschlüsselt
über das Netzwerk gesandt werden. Doch wie genau funktioniert der Oracle-
Authentifizierungsprozess?
Zuerst kontaktiert der Client den Listener und verlangt Zugriff auf einen Daten-
bankdienst. Wenn der Dienstname nicht mit dem Listener registriert ist, wird ein
Fehler erzeugt und der Prozess abgebrochen. Ist der Dienst bekannt, dann leitet
der Listener den Client auf einen anderen Port. Nachdem der Client mit dem
neuen Port verbunden ist, sendet er die Verbindungsanfrage erneut, und der
eigentliche Authentifizierungsprozess beginnt. Dabei sendet der Client auch den
Benutzernamen.
Der Server überprüft, ob es sich um einen gültigen Benutzernamen handelt.
Wenn nicht, wird der Prozess mit einem Fehler abgebrochen. Handelt es sich um
einen registrierten Benutzer, dann liest Oracle den Passwort-Hash aus der Daten-
bank aus und erstellt daraus eine Secret Number. Der Algorithmus für das Estellen
der Secret Number ist bekannt und verwendet eine DES-Verschlüsselung. Die
Secret Number wird dann nochmals mit dem Passwort-Hash verschlüsselt, und es
entsteht ein Schlüssel, der AUTH_SESSKEY genannt wird.
Der Server sendet den AUTH_SESSKEY zum Client, dieser entschlüsselt ihn und
erhält somit die Secret Number. Dazu erstellt der Client eine Kopie seines Pass-
wort-Hashs und benutzt ihn, um den AUTH_SESSKEY zu entschlüsseln. Damit
erhält der Client die Secret Number. Der Client benutzt die Secret Number, um das
Klartextpasswort des Benutzers zu verschlüsseln. Dafür wird wiederum ein eine
DES-Verschlüsselung verwendet. Das verschlüsselte Passwort erhält den Namen
AUTH_PASSWORD. Der Client sendet das AUTH_PASSWORD an den Server.
Der Server entschlüsselt das AUTH_PASSWORD mithilfe der Secret Number.
Damit ist der Server nunmehr in Besitz des Klartextpassworts. Daraus erstellt er
den Passwort-Hash und vergleicht ihn mit dem in der Datenbank gespeicherten
Hashcode. Bei Übereinstimmung prüft der Server, ob der Account das CREATE
SESSION-Privileg besitzt, und gibt ihm dann Zugriff auf die Datenbank.
Tipp
Eine der ersten Maßnamen für eine verschärfte Sicherheit sollte das Einspielen
der vierteljährlich erscheinenden Sicherheitspatches oder Patchbundle PSU von
Oracle sein. Hier werden kontinuierlich Sicherheitslücken geschlossen.

Get Oracle 12c - Das umfassende Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.