Analýza zranitelností databází Michal Lukanič, Database Specialist
Kompromitace databáze Potenciální útočníci Externí útočníci Interní zaměstnanci Dodavatelé IS/IT DB admin
Příklad útoku Prolomení hesel Zjednodušená verze brute force útoku Test na výchozí hesla Jednoduchý, volně dostupný program Zjištění verze DB Oracle 11.1.0.6 Nalezení vhodné zranitelnosti CVE-2012-3132
Zneužití zranitelnosti CVE-2012-3132 Testované prostředí Výchozí instalace databáze Oracle 11.1.0.6, Linux 64 bit Neoprávněné získání DBA role (Oracle DB) SQL Injection útok, zneužití chyby v interní DB logice Jakýkoli uživatel s právy CREATE SESSION, CREATE TABLE a CREATE PROCEDURE Ohrožená prostředí OS libovolný, DB verze 10.2.0.3-11.2.0.3 Nainstalovaný Oracle Text
ZRANITELNOSTI VYUŽITÉ V UKÁZCE
1. Implicitní databázové účty Účty vytvářené s instalací databáze Administrační (např. CTXSYS), vzorové (např. SCOTT) Potenciální cesta do databáze pro útočníka Ošetření zranitelnosti: Uzamknout/zrušit implicitní účty Změnit/obnovit hesla na jiná než výchozí Od Oracle 10g se již instalují jako uzamknuté s expirovaným heslem
2. Slabá hesla Základ pro kompromitaci databáze Výchozí nebo příliš jednoduchá hesla Brute force útoky Ošetření zranitelnosti: Identifikace -> Vulnerability skener Nepoužívat výchozí hesla Vyžadovat komplexní hesla + interval změny Funkce pro ověření komplexity hesla
3. Chyby v interní DB logice Chyby v interním kódu DB logiky Zneužitelné typicky pomocí SQL Injection útoků Velmi často vedoucí na eskalaci oprávnění Ošetření zranitelnosti: Záplatování Virtual Patching Workaround (+ CVE)
4. Nadbytečná oprávnění Oprávnění nepotřebná pro daného uživatele Přidělení oprávnění s WITH GRANT OPTION PUBLIC role (oprávnění na balíky DBMS_JAVA, LDAP ad.) Ošetření zranitelnosti: Důsledná politika autorizace Pravidlo minimálních nutných oprávnění Ochrana před nekontrolovaným šířením práv
DALŠÍ SLABÁ MÍSTA ZABEZPEČENÍ
Další slabá místa zabezpečení Chyby nadstavbových aplikací Nevalidované vstupy aplikace Databáze nezná koncové uživatele Nelze řídit oprávnění na úrovni DB Přístup privilegovaných uživatelů DB administrátoři mají přístup k citlivým datům Replikace ostrých dat na neprodukční prostředí Citlivá data utíkají na méně sledovaná prostředí
Shrnutí Většina dat je dnes ukládána a kompromitována skrze databázi DB administrátoři často nevěnují pozornost základním konfiguracím Výchozí instalace DB obvykle obsahují mnoho konfiguračních nedostatků Nezáplatovaná databáze = Zranitelná databáze Existuje mnoho kvalitních nástrojů pro zabezpečení DB Michal Lukanič lukanic@sefira.cz
Proof-Of-Value testování zranitelností Co nabízíme Neintrusivní otestování zranitelností vybrané neprodukční DB Podrobný report zranitelností s komentářem Návrh dalších opatření pro eliminaci zranitelností Co je pro to nutné Neprodukční DB s vytvořeným uživatelem pro vlastní test Jednorázové napojení NTB s bezpečnostním skenerem do sítě s prostupem k testované DB
Zranitelnost databází Odborný seminář 29. dubna 2014 a 22. května 2014 Administrativní centrum Budějovická alej Antala Staška 77, Praha 4 Cílem semináře je představit principy zabezpečení databází pomocí standardních bezpečnostních nástrojů. Více informací a registrace účasti na www.sefira.cz