Individuelles Auditing von vielen Datenbanken

Werbung
Individuelles Auditing von
vielen Datenbanken
Agenda
¡ Einführung
¡ Audit-Ansätze
¡ Sicherheitsvorfälle
¡ Spinnennetz
¡ Lessons Learned
Einführung
Im Zuge eines großen Auditing-Projektes stellte sich die Frage:
Wie auditiere ich sinnvoll 1000+ Datenbanken (Instanzen) verschiedener
Hersteller?
Ansätze für Auditing
1.
Alle Aktivitäten mit auditieren (enorme
Datenmenge, Performance Impact, selten
verwendet)
2.
Alle DDL-Befehle + Logon mitprotokollieren (oft
Ansatz in der Oracle Welt)
3.
Auditierung von verdächtigen/gefährlichen
Aktivitäten
1. Ansatz (alles auditieren)
1.
Alle Aktivitäten werden mitprotokolliert und an ein
SIEM System gesendet (Security Information and
Event Management)
2.
Die enorme Menge an Daten ermöglicht das
Nachvollziehen aller Aktivitäten führt aber auch zu
hohem Platzbedarf und z.t. hohen Lizenzkosten.
3.
Die Vorfälle müssen in der Datenmenge „gefunden“
werden
2. Ansatz (DDL Befehle)
1.
Alle DDL-Befehle (=Rechte/Strukturänderungen/...)
werden mitprotokolliert und an ein SIEM System
gesendet
2.
Erheblich reduzierte Menge an Daten
(typischerweise 300-6000 Events pro Tag pro DB)
3.
Es werden nur DDL/Logon Aktivitäten mitprotokolliert
4.
Die Vorfälle müssen in der Datenmenge „gefunden“
werden
3. Ansatz (Sicherheitsvorfälle)
1.
Es werden nur Verletzungen von vorher definierten
Sicherheitsvorfällen mitprotokolliert und an ein SIEM
System gesendet
2.
Erheblich reduzierte Menge an Daten durch
individuelles Baselining je Datenbank
3.
Die Vorfälle können durch eine Klassifizierung in gut /
verdächtig / gefährlich sehr einfach identifiziert
werden
1.
Der Kunde entschied sich für Ansatz 3
2.
Da verschiedene DB Hersteller (Oracle, MySQL,
Sybase ASE und DB2 LUW) abgedeckt werden
mussten, entschied sich der Kunde für eine 3rd-partyLösung.
Grundlagen
DB-Logon
¡
Es gibt in der Regel unterschiedlichste Arten von Zugriffen
(z.T. 30+) auf eine Datenbank
DB-Logon
¡
Es gibt in der Regel unterschiedlichste Arten von Zugriffen
(z.T. 30+) auf eine Datenbank
¡
Wie erkennt man den verdächtigen Zugriff?
Faktoren
Für eine Datenbankverbindung benötigt man zumindest die
folgenden Parameter / Faktoren:
1.
Datenbank-Benutzer
2.
Executable
3.
Source-Host
4.
OS-Benuter
Diese Parameter erlauben die Definition von
gut/böse/verdächtig.
Wie unterscheidet man „gute“
von „bösen“ Zugriffen?
Aufzeichnung aller Zugriffe auf die Datenbank über einen
längeren Zeitraum (mind. 4 Wochen). Dies man man einfach
mit Hilfe eines Logon-Triggers oder spezieller 3rd-party-Tools
implementieren und automatisieren.
Damit werden alle in diesem Zeitraum auftretenden
Anwendungen und administrativen Werkzeuge
mitprotokolliert.
Danach neu auftretende Kombinationen (z.B. Quartals- oder
Jahresabschluss) werden nachgepflegt.
Beispiel
Detection (Objects)
Abnahme
Die Werte der Faktoren müssen von der
Fachabteilung/Anwendungs-DBA und der DB-Administration
abgenommen werden.
Da die Werte in der Regel passen, ist es für die Fachabteilung
„relativ“ einfach.
Nachfragen gab es selten.
Sicherheitsvorfälle (Auszug)
Die Sicherheitsvorfälle werden mit dem Kunden definiert und
entsprechend als Audit-Regel umgesetzt.
Spinnennetz
Die Sicherheitsvorfälle werden mit dem Kunden gemäß
seinem Sicherheitsbedarf definiert und entsprechend als
Audit-Regel umgesetzt.
Zum besseren Verständnis wurden der Zusammenhang
zwischen Regel und Faktoren (DBUser, Executable, Host) als
Spinnennetzgrafik implementiert.
Spinnennetz
Action
(Logon,
CC
Select,
...)
18
Spinnennetz
19
Unbekannter
DBUser
Action
(Logon,
<
CC
Select,
...)
Spinnennetz
20
Unbekannter
DBUser
Action
(Logon,
Z<<
<
CC
Select,
...)
Spinnennetz
Unbekannter
DBUser
Action
<<<<<<<<<<<<<<<<<<<<<<<
(Logon,
Z<<
<
CC
<<<<<<<<<<<<<<<<<<<<<<<
Select,
<<<<<<<<<<<<<<<<<<
...)
21
Spinnennetz
Alle 8 (=2^3)
Zugriffswege sind
definiert
Unbekannter
DBUser
Action
<<<<<<<<<<<<<<<<<<<<<<<
(Logon,
Z<<
<
CC
<<<<<<<<<<<<<<<<<<<<<<<
Select,
<<<<<<<<<<<<<<<<<<
...)
22
Auditing und §87 Betriebsverfassungsgesetzes
Betriebsverfassungsgesetz
§ 87 Mitbestimmungsrechte
(1) Der Betriebsrat hat, soweit eine gesetzliche oder tarifliche Regelung
nicht besteht, in folgenden Angelegenheiten mitzubestimmen:
[...]
6.Einführung und Anwendung von technischen Einrichtungen, die dazu
bestimmt sind, das Verhalten oder die Leistung der Arbeitnehmer zu
überwachen;
• Der gewählte Ansatz erlaubt es, die “guten“ Zugriffe, die in der
Regel mehr als 99,9% aller Zugriffe darstellen, von der Protokollierung
auszuschließen
• Dadurch wird keine Verhalten– oder Leistungskontrolle durchgeführt.
23
Beispiel
Login Unbekannter DB Benutzer
• Beschreibung Event:
Ein Datenbank-Benutzer, der bisher noch nicht für einen Login
verwendet wurde, wurde zum erfolgreichen Login benutzt. Dieser
Nutzer kann neu oder bisher noch nicht verwendet worden sein.
• Mögliche Erklärungen:
• Es wurde ein neuer DB Benutzer angelegt. Existiert ein Ticket?
• Es wurde eine neue Software installiert, die einen neuen
Benutzernamen verwendet (z.B. ANW4 statt ANW3).
• Es wird eine neue Funktionalität verwendet, die bisher nicht
verwendet wurde.
• Im Zugriff eines Angriffs legt der Benutzer einen neuen an (z.B.
HACKER)
24
Login unbekannter DB Benutzer
Regulär
Kein Log
25
<
CC
Login
illegal
Beispiel Database Export
• Beschreibung Event:
Ein Benutzer exportiert die gesamte Datenbank oder Teile davon.
• Mögliche Erklärungen:
• Export von Daten für einen Kunden zum Neuaufsetzen eines
Systems (Refresh)
• Diebstahl von Daten
26
Export Datenbank
rest
illegal
Export
Z<<
<
CC
DB
illegal
27
illegal
Regeln
Mittels der (abgenommenen) Werte der verschiedenen Faktoren kann
man nun die Sicherheitsvorfälle je Datenbank implementieren.
Die Regeln je DB Plattform sind für alle Anwendungen identisch, nur die
Parameterwerte (z.B. $executable) variieren.
Logon mit
unbekanntem
Executable
session_state = NEW_SESSION and
not (
(application contains $executable)
or
(application contains $sysadmexecutable )
)
Architektur
Die gesamte Architektur am Projektende folgendermaßen aus.
Andere Kunden implementieren den Ansatz ohne SIEM bzw. Ticket
System.
DAM Server
SIEM
DB Monitor
DB Monitor
DB Monitor
Ticket
System
Security
Operation
Center
2
Lessons learned
¡
Wesentlich bessere Übersicht, wie eine Datenbank verwendet wird und was
Abweichungen davon sind (Wer verbindet sich wie oft auf die Datenbank)
¡
Nach einer Lernphase geringe Anzahl von kritischen Events
¡
Regelwerk erforderte nur wenige Anpassungen
¡
Notwendigkeit die Parameterwerte zu pflegen (am besten an die
entsprechende Fachabteilung auslagern)
¡
Testen der gesamten Umgebung vom Incident bis zum Ticket sehr wichtig
¡
Gute Schulung der Mitarbeiter, die die Tickets/Incidents bearbeiten
¡
¡
Ansatz ist mit unterschiedlichen Produkten (Auditing, SIEM, Ticketing,...)
implentierbar
Bei kleineren Umgebungen (bis 100 DBs) mit sehr geringem Aufwand
implementierbar
F & A?
Danke
Kontakt:
Red-Database-Security GmbH
Eibenweg 42
D-63150 Heusenstamm
Deutschland
Herunterladen