Zranitelnost databáze a ochrana vašich citlivých dat Michal Lukanič, Database Specialist
IDS / IPS ACS / XML FW DLP / IRM / šifrování Standardně je chráněn pouze perimetr DB admin DMZ Partneři L3-L4 L7+ Aplikační servery Databázové servery Externí uživatelé Externí aplikace Interní zaměstnanci
ÚTOK
LiveHacking Praktická ukázka útoku pomocí SQL Injection Testované prostředí Výchozí instalace databáze Oracle Verze DB 11.2.0.1, Oracle Linux 64 bit Odemknuté implicitní účty Stručný popis útoku Přístup k databázi pomocí standardních prostředků Implicitní DB účet s minimálními právy, výchozí heslo SQL Injection útok Zneužití chyb interní DB logiky
Testované zranitelnosti CVE-2012-3132 Neoprávněné získání DBA role (Oracle DB) SQL Injection útok Zneužití chyby v interní DB logice Uživatel s právy CREATE SESSION, CREATE TABLE a CREATE PROCEDURE http://web.nvd.nist.gov/view/vuln/detail?vulnid=cve-2012-3132&cid=2 Ohrožená prostředí OS libovolný DB verze 10.2.0.3, 10.2.0.4, 10.2.0.5, 11.1.0.7, 11.2.0.1, 11.2.0.2 a 11.2.0.3 Nainstalovaný Oracle Text
Testované zranitelnosti Bez přiřazeného CVE Neoprávněné získání DBA role (Oracle DB) SQL Injection útok Pomocí DBMS_JAVA, eskalace na DBA práva Možnost spouštět příkazy přímo na OS Uživatel s právem CREATE SESSION Ohrožená prostředí OS libovolný DB verze 11.1.0.6, 11.1.0.7, 11.2.0.1
CO BYLO ŠPATNĚ?
Chyby v administraci databáze První testovaná zranitelnost - CVE-2012-3132 Neaplikované bezpečnostní záplaty CVE přiřazeno 6.6.2012 Upozornění a záplata vydána 10.8.2012 Critical Patch Update 10/2012 Odemknutý implicitní DB účet, výchozí heslo Druhá testovaná zranitelnost bez CVE Práva na balík DBMS_JAVA přidělena roli PUBLIC
ŘEŠENÍ PROBLÉMU
Aplikace bezpečnostních záplat na časové ose Útočník ví, co potřebuje Čas Zranitelná databáze Zranitelnost zveřejněna Vydána záplata Instalace záplaty na testovací prostředí Instalace záplaty na produkční prostředí
Workaround Odstranění přebytečných práv Hlídání mrtvých a implicitních účtů Výchozí hesla Problémy Nutnost sledovat jednotlivé zranitelnosti Omezení funkcionality pro uživatele Nutnost testování
Listener Bequeath Virtual patching Database Activity Monitoring/ Virtual Patching DB Admins Sys Admins Programátoři Místní připojení DBMS PL/SQL SAP Shared Memory Trigger Hrozby z databáze Síťová spojení Data View
Virtual Patching Principy Řešení stojící mimo DB Pravidelně aktualizovaná databáze zranitelností Monitoruje provoz nad DB v reálném čase a blokuje útoky Přínosy Ochrana před vydáním či aplikací oficiálních záplat Ochrana pro již nepodporované verze DB Sjednocení databázových odstávek
Řešení formou Virtual Patchingu na časové ose Virtual Patching Čas Zranitelná databáze Zranitelnost zveřejněna Vydána záplata Instalace záplaty na testovací prostředí Instalace záplaty na produkční prostředí
Shrnutí Ochrana perimetru není dostatečná Většina dat je ukládána a kompromitována skrze databázi Jen málo společností se věnuje přímé ochraně DB Výchozí instalace DB obvykle obsahuje nevyhovující konfiguraci Standardní proces záplatování DB je zdlouhavý Michal Lukanič lukanic@sefira.cz
Zranitelnost databází Odborný seminář 13. února 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