Oracle Database Vault i szyfrowanie przstrzeni tabel VS administrator


15.03.2013
by Kamil Stawiarski

Oracle stworzył Database Vault’a, żeby chronić wrażliwe dane przed administratorem DB. Po instalacji produktu i stworzeniu tzw. REALM’ów, SYSDBA traci uprawnienia do określonych czynności (m.in. zakładanie kont i wiele poleceń ALTER) ale głównie traci możliwość wybierania danych z tabel chronionych takim REALM’em. Sam Vault jednak nie wystarczy, bo admin mający dostęp do plików danych może pojechać sobie po nich poleceniem strings i przegrepować po odpowiednich wyrażeniach regularnych, szukając np. numerów kart kredytowych – na to jednak Oracle też ma odpowiedź – transparentne szyfrowanie przestrzeni tabel i wszystko gra!

Tylko, że jest jeden problem – jeśli w 11gR2 używamy automatycznego zarządzania pamięcią (MEMORY_TARGET), granulki pamięci zaczynają być reprezentowane poprzez pliki na urządzeniu tmpfs – /dev/shm. Na podstawie polecenia ipcs i lsof, można łatwo skorelować pamięć współdzieloną zaalokowaną przez bazę danych z plikami na urządzeniu /dev/shm… Standardowo użytkownik, będący właścicielem binariów bazy ma swobodny dostęp do tych pliczków a bloki danych po odczycie rezydują w pamięci w postaci niezaszyfrowanej – więc sytuacja się powtarza jak przy plikach danych – strings i egrep 🙂 Czy to bug? Czy może feature?

Pozdrawiam i polecam przetestować 🙂

P.S.

Dokładniej temat opisałem tutaj: http://ora-600.pl/art/oracle_database_vault_tde.pdf


Contact us

Database Whisperers sp. z o. o. sp. k.
al. Jerozolimskie 200, 3rd floor, room 342
02-486 Warszawa
NIP: 5272744987
REGON:362524978
+48 508 943 051
+48 661 966 009
info@ora-600.pl

Newsletter Sign up to be updated