Poke schaltet Oracles Datenbank-Auditing ab

Mit einem schon aus der Programmiersprache Basic bekannten Befehl sollen Unbefugte die Auditing-Funktionen von Oracle-Datenbanken abschalten können. Nach Meinung eines Experten seien darauf aufsetzende Produkte wie Oracle Audit Vault damit "fast nutzlos".

In Pocket speichern vorlesen Druckansicht 85 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Auf der diesjährigen Hacktivity-Konferenz in Budapest hat der Sicherheitsexperte László Tóth ein Verfahren (PDF) gezeigt, mit dem sich die Auditing-Funktionen und die Authentifizierung in allen Versionen von Oracles Datenbank lahmlegen lassen sollen. Dazu nutzt er den nicht dokumentierten, aber bei jeder Oracle-Installation vorhandenen Befehl oradebug. Auditing soll das zuverlässige Protokollieren von Datenbankaktionen gewährleisten, sodass sich Manipulationen zurückverfolgen lassen.

oradebug kennt unter anderem den bereits vor Jahrzehnten in Basic zum Ändern von Speicherinhalten benutzten Befehl Poke. Damit lässt sich laut Tóth das Auditing für System-Benutzer mit Privilegien wie SYSDBA und SYSOPER abstellen. Voraussetzung sei lediglich, dass der Angreifer oradebug ausführen könne – dazu genügt das SYSDBA-Privileg, das für einen Datenbankadministrator leicht zu erlangen ist. Auch das zeigt Tóths Präsentation.

Für das Abschalten des Auditing reicht es, per SQL-Statement die Speicheradresse einer Systemvariablen aus der internen Tabelle X$KSMFSV auszulesen. Anschließend setzt man sie auf Null:

SQL> oradebug poke 0×60031bb0 1 0
BEFORE: [060031BB0, 060031BB4) = 00000001
AFTER: [060031BB0, 060031BB4) = 00000000

Der Oracle-Sicherheitsexperte Alexander Kornbrust hält deshalb Produkte wie Oracle Audit Vault, die auf den Auditing-Funktionen der Datenbank aufsetzen und laut Eigenwerbung auch die Aktionen privilegierter Benutzer protokollieren sollen, für "fast nutzlos". Ein SYSDBA/SYSOPER-Nutzer könne das Auditing kurz abschalten, einige Operationen durchführen und es dann wieder aktivieren. (ck)