Sven Vetter schreibt in seinem Technik-Blog, dass es per dynamischen SQL sehr einfach möglich sei, Database Vault auszutricksen. Das wundert mich nicht, da wir schon vor Monaten Sicherheitslücken in Database Vault an Oracle secalert gemeldet haben. Nachträglich solch ein Konzept einzuführen, ist natürlich nicht einfach und vor allem nie fehlerfrei. Die aktuelle Version dient wohl eher dazu, Know-How aufzubauen und vor allem die internen Prozesse, wie z.B. die DBAs arbeiten, an das Produkt anzupassen.
Vielleicht erfahren wir von Sven seinem Vortrag auf der DOAG mehr über diese Lücken.
Weiterhin schreibt Sven, dass „Es sind zu viele Security Lücken vorhanden, die das Lesen und Ändern von vertraulichen Daten als Datenbank- oder Betriebssystemadministrator zulassen – genau das aber verspricht dieses Produkt zu unterbinden„.
Dies ist so nicht richtig. Oracle schreibt dazu: „Oracle Database Vault can prevent highly privileged users, including powerful application DBAs and others, from accessing sensitive applications and data in Oracle databases outside their authorized responsibilities„. Oracle spricht nicht von Betriebssystemadministratoren.
Database Vault wurde NUR dazu entworfen, einen Benutzer mit DBA Berechtigungen OHNE Betriebssystemzugriff (direkt bzw. indirekt (z.B. dbms_scheduler)) einzuschränken (z.B. select any table oder Passwort Änderungen). Sobald man Betriebssystemzugriff (erlangt) hat, ist es trivial, Database Vault auszutricksen/ zu umgehen, da man beispielsweise als Betriebssystembenutzer Database Vault einfach ausschalten kann (wird für das Einspielen der CPUs benötigt). Dies ist aber keine Lücke, sondern Teil der Architektur von Database Vault.