Oracle DB

Aus IT-Forensik Wiki
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Oracle Database

Kurzbeschreibung: Datenbankmanagementsystem-Software der Firma Oracle für relationale und objektrelationale Daten.

Version: 2019 19c/19.3

Beim Oracle-Datenbankmanagementsystem handelt es sich (statista.com, Stand: 2021) um das meist verbreitete DBMS vor MySQL, Microsoft SQL-Server, PostgreSQL und MongoDB.

Das Oracle-DBMS bedient alle geläufigen Betriebssysteme und wurde bereits 1979 von Larry Ellison entwickelt. Dabei startete das System aus markttaktischen Gründen bereits mit der Version 2.

Eine Beschreibung findet sich auf: https://www.oracle.com/de/database/technologies/

bzw. auf:

https://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)


Wesentliche Funktionen sind:

  • Queries und Joins
  • Transaktionen mit COMMIT und ROLLBACK
  • Mulitversion Concurrency Control
  • Client-Server-Srchitektur
  • SQL mit ROLLUP und CUBE
  • Fremdschlüssel
  • Trigger
  • Oracle JVM
  • UTF-8
  • BLOB, CLOB, NCLOB (Datentypen)
  • Papierkorb-Funktion
  • Reguläre Ausdrücke
  • automatische Datenoptimierung
  • NFS-Server
  • teilweise Oracle-Lizenzen notwendig


forensische Ansatzpunkte:

  • Logdateien (Server Error-Logs, Webserver, DB-Server)
  • Redo-Log
  • V$LOGFILE
  • Serverstatistiken
  • Eventlogs (Traces/Betriebssystem)
  • Arbeitsspeicher (RAM-Dump)
  • u.a.


Oracle Auditing

Seit der Oracle Version 11g werden standardmäßig Audit-Daten in der Datenbank gespeichert. Es ist möglich nahezu alle Datenbankoperationen (erfolgreich und fehlgeschlagen) zu überwachen. Was alles auditiert wird sollte allerdings gut überlegt sein, da das Auditieren Ressourcen beansprucht, also auch zu größeren Performance-Einbüßen führen kann. Weiterhin sollen die Audit-Daten auch geprüft werden um Auffälligkeiten zu entdecken und umso mehr Daten erfasst werden, desto aufwendiger ist die Analyse. Es wird zwischen Traditional Audit, Unified Audit und Fine Grained Auditing unterschieden, wobei das Traditional Auditing deprecated ist, also zukünftig nicht mehr eingesetzt werden sollte.

Unified Auditing

Rolle erstellen (optional) - SYSTEM:
Screenshot 2022-02-21 125128x.jpg
Policy erstellen - SYSTEM:
Screenshot 2022-02-21 125917y.jpg

Eine Policy wird erst nach einer erneuten Anmeldung des überwachten Benutzers scharf geschaltet.

Anweisungen ausführen - FALLBEARBEITUNG:
Screenshot 2022-02-21 135103.jpg
Analyse - SYSTEM:
Screenshot 2022-02-21 135126.jpg
Screenshot 2022-02-21 135209.jpg

Das Erstellen des Users "testuser" ist fehlgeschlagen, da der User Fallbearbeitung nicht die notwendigen Rechte hat, daher auch der Return_Code mit der Nummer 1031.

Fine Grained Auditing

Das Fine Grained Auditing (FGA) ermöglicht ein feingranulares Auditing, z. B. auf Spaltenebene einer Tabelle inklusive Bedingung. Das folgende Beispiel ermöglicht die Überwachung der Spalte Erlaubnispflicht in der Tabelle TWaffe. Wird durch ein Update Statement der Wert auf "n" gesetzt, so wird dieser Vorgang protokolliert.

FGA Policy erstellen - SYSTEM:
Screenshot 2022-02-21 142318.jpg
Anweisungen ausführen - FALLBEARBEITUNG:
Screenshot 2022-02-21 142333.jpg
Analyse - SYSTEM:
Screenshot 2022-02-21 142349.jpg
Screenshot 2022-02-21 142434.jpg

Quellen

https://www.oracle.com/webfolder/technetwork/de/community/dbadmin/tipps/auditing/index.html
https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/AUDIT-Traditional-Auditing.html#GUID-ADF45B07-547A-4096-8144-50241FA2D8DD
https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/AUDIT-Unified-Auditing.html#GUID-B24D6874-4053-4E66-8238-6CD0C87E9DCA