Oracle Database Vault


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Welcome, today I’d like to present an overview of the latest security product from Oracle – Database Vault. We announced this new product in late April at the huge Oracle user group conference called Collaborate 06 in Nashville, TN. You may have seen some press releases for Oracle and our partners around this exciting new product.
  • Database Vault is designed to address what customers have told us are some of their most pressing security related business problems. At Oracle Headquarters in California, we frequently get the opportunity to talk to customers from around the world and virtually every industry imaginable and these are business problems seem to resonate with virtually every customer. I’m sure you’ve all heard the phrase “regulatory compliance”, who hasn’t, it’s certainly being used a lot. I think one of the biggest benefits of regulatory compliance has been awareness, it’s really forced customers to take a long hard look at their business practices. Two of the common themes in many regulations are strong internal controls and separation of duty. Database Vault provides the technology to address these two security problems. In addition, customers are much more concerned about the internal threat today. I don’t mean to say that everyone’s DBA is up to no good, but rather customers are looking for preventative measures to put in place. They want the ability to enforce operational policies on who, when and where data can be accessed, Another common security problem is the powerful DBA. Most applications out there today were not designed with the principle of least privilege – meaning that the application owner only has the minimum privileges necessary. In fact, it’s exactly the opposite. Database Vault provides the ability to restrict the powerful application owners and DBA which reside in a consolidated database environment.
  • Earlier we showed how a command rule can be associated with the Alter System command. Here’s a list of some of the other commands which can have rules associated. As you can see the list is quite extensive.
  • In addition, to Realms, Database Vault also delivers Command Rules and Multi-Factor Authorization. Command Rules provide the ability to instruct the database to evaluate conditions prior to allowing a database command to execute. Combined with Multi-Factor authorization, this provides an extremely powerful tool to limit and restrict access to databases and applications. Let’s take another example. Here I’m showing a database with a single application and the DBA. One of the common problems customers have faced from a compliance perspective is unauthorized activity in the database. This may mean that additional database accounts or application tables have been created. This can raise alarms with auditors because it can point toward lax internal controls. Using a command rule, Database Vault gives the ability to control the conditions under which a command is allowed to execute. For example, a command rule can be associated with the database “Alter System….” command. Perhaps your policy states that all ‘alter system’ commands have to be executed from a connection originating from the server hosting the database. The command rule can check the IP address and reject the command. So the rule based on IP address blocks the action. Perhaps a powerful application DBA creates a new table, command rules combined with multi-factor authorization can block this action. In summary, command rules and multi-factor provide the flexibility to meet operational security requirements.
  • Oracle Database Vault

    1. 1. Database Vault Marco Alamanni
    2. 2. Why Database Vault? <ul><li>Compliance to regulations such as Sarbanes-Oxley </li></ul><ul><li>(SOX), European Data Protection Directive </li></ul><ul><li>(95/46/EC) and Health Insurance Portability and </li></ul><ul><li>Accountability Act (HIPAA) require Strong Internal </li></ul><ul><li>Controls and Separation of Duty </li></ul><ul><li>Internal threats are a much bigger concern today require enforcement of operational security policies - Who, When, Where can data be accessed? </li></ul><ul><li>Database consolidation strategy requires preventive measures against access to application data by Powerful (DBA) users </li></ul>
    3. 3. Common Security Problems <ul><li>I have requirements around SOX and PCI, how can I prevent my DBA from looking at the application data, including Credit Cards and Personal Information? </li></ul><ul><li>No protection from users with DBA privileges </li></ul><ul><li>DBA role with full access to user and business data </li></ul><ul><li>Only few apps built with least-privilege model: </li></ul><ul><li>various utilities require powerful administrator privileges </li></ul><ul><li>Cannot meet new compliance requirements: </li></ul><ul><li>separation of duty not enforced </li></ul><ul><li>Cannot control user creation, role assignment, etc. </li></ul>
    4. 4. Oracle Database Vault Goals <ul><li>Integrated security framework to provide full control: </li></ul><ul><li>Network, users, DBA, data, roles, SQL Multi-factor Authorization and Policies across various checks </li></ul><ul><li>Compliance requirements: </li></ul><ul><li>Built-in Separation of Duty </li></ul><ul><li>Prevent misuse of powerful privileges </li></ul><ul><li>Support Database consolidation </li></ul>
    5. 5. Database Vault Versus VPD and OLS <ul><li>Virtual Private Database (VPD): </li></ul><ul><li>Restricts access to certain rows for a user by modifying the WHERE clause </li></ul><ul><li>Oracle Label Security (OLS): </li></ul><ul><li>Mediates access to a given row, based on the label on the row and the security level of the user </li></ul><ul><li>VPD and OLS restrict access at the row level, whereas Database Vault restricts access at the object and command levels. </li></ul><ul><li>DBV is integrable with both VPD and OLS </li></ul>
    6. 6. DBV Administration Model <ul><li>DV Administrative roles: </li></ul><ul><li>DV_SECANALYST: Reporting only </li></ul><ul><li>DV_ACCTMGR: Maintain db accounts/profiles (but no roles) </li></ul><ul><li>DV_OWNER: Big boss but cannot grant any direct access rights </li></ul><ul><li>DV Realm Roles: </li></ul><ul><li>DV_REALM_OWNER: Manages realm and associated roles </li></ul><ul><li>Security: </li></ul><ul><li>Provide separation of duties with different admin roles sys, system, sysdba and sysoper cannot grant DV_OWNER, DV_ADMIN roles </li></ul>
    7. 7. Separation of Duty
    8. 8. Key Components <ul><li>Realms </li></ul><ul><li>Command Rules </li></ul><ul><li>Rule sets </li></ul><ul><li>Factors </li></ul><ul><li>Secure application roles </li></ul>
    9. 9. Realms <ul><li>Collections of schemas, objects and roles to be secured </li></ul><ul><li>Controls SELECT, DML, DDL, EXECUTE on protected objects </li></ul><ul><li>Prevents super user (ANY) access to security sensitive data </li></ul><ul><li>Does not impact direct object privileges </li></ul><ul><li>Realm owner determines: </li></ul><ul><li>Who can access the realm using system privileges </li></ul><ul><li>Grants/revokes applicable roles </li></ul><ul><li>Authorization enforced at every data object access during SQL execution </li></ul>
    10. 10. Default Realms <ul><li>Database Vault Account Management: Protects user accounts/profiles and account management role </li></ul><ul><li>Data Dictionary: Protects all DBMS meta-data </li></ul><ul><li>Enterprise Manager: Protects all objects required by Enterprise Manager </li></ul><ul><li>Database Vault: </li></ul><ul><li>Protects all Database Vault meta-data </li></ul><ul><li>All object owned by Database Vault schemas </li></ul><ul><li>All objects owned by LBACSYS </li></ul><ul><li>All Security Administration Roles </li></ul>
    11. 11. Benefits of Data Protection with Realms <ul><li>Ability to restrict access to privileged users based upon a collection of objects </li></ul><ul><li>Separation of Duty regarding user administration, and role management </li></ul><ul><li>Ability to define additional realm authorization rules based upon requirements </li></ul><ul><li>Limit damage even if privileges escalate to DBA </li></ul><ul><li>Minimize risks associated with an army of DBAs for 7 * 24 operation whether in-house, outsourced </li></ul><ul><li>No changes required to applications </li></ul>
    12. 12.
    13. 13. Command rules
    14. 14. Command Rules Mechanics <ul><li>Works very similar to DDL event triggers </li></ul><ul><li>Built into the SQL engine for optimization and security </li></ul><ul><li>Cover all basic DDL and DML commands </li></ul>
    15. 15. Command Rule Flexibility Alter Database Alter Database Alter Table Alter Function Audit Alter Tablespace Alter Package Body Alter Procedure Alter Profile Alter Session Alter System Alter Synonym Alter Table Alter Trigger Alter User Password Alter Tablespace Alter View Change Password Connect Comment Create Function Create Index Create Package Create Database Link Create Procedure Create Role Create Package Body Create User Create View Create Table Grant Insert Noaudit Rename Lock Table Create Tablespace Create Trigger Truncate Table Update Insert Delete Execute Select
    16. 16. Rules and Rule Set
    17. 17. Factors <ul><li>A factor: </li></ul><ul><li>Is an attribute of a database session </li></ul><ul><li>Can have a value, which can be labeled as an identity </li></ul><ul><li>Can easily be referenced in other Database Vault components to discern access </li></ul><ul><li>Can be combined with other factors to provide for multifactored authentication </li></ul>
    18. 18. Factor’s Identity <ul><li>An identity: </li></ul><ul><li>Is a value </li></ul><ul><li>Is associated to a factor </li></ul><ul><li>Has a trust level </li></ul><ul><li>Can have a label </li></ul><ul><li>Can be resolved from other factors </li></ul><ul><li>Can be retrieved with PL/SQL functions associated with the factor </li></ul>
    19. 19. Built-In Factors <ul><li>User Factors: Name Authentication type Session User </li></ul><ul><li>Network Factors: Machine name Client IP Network Protocols </li></ul><ul><li>Database Factors: Database IP Database Instance DatabaseHostname </li></ul><ul><li>Runtime Factors: Language Date Time </li></ul>
    20. 20. Examples of Security Policies <ul><li>IP address based policy: </li></ul><ul><li>Allow access from intranet IP addresses </li></ul><ul><li>Allow access only from application servers </li></ul><ul><li>DBA policies: </li></ul><ul><li>Allow updates to the database structure only on the weekend </li></ul><ul><li>Allow DBA access only with PKI/Kerberos authentication </li></ul><ul><li>Allow DDL but only with strong authentication </li></ul><ul><li>Permit DDL (CREATE INDEX) but not SELECT </li></ul><ul><li>Implement a different set of policies for different types of DBAs </li></ul><ul><li>Time/date based policies </li></ul><ul><li>Disallow access from ad-hoc tools (SQL*plus) </li></ul>
    21. 21. Oracle Database Vault Rules & Multi-factor Authorization HR DBA Factors and Command Rules provide flexible and adaptable security controls DBA HR <ul><li>Database DBA attempts remote “ alter system ” </li></ul>alter system……. <ul><ul><li>Rule based on IP Address blocks action </li></ul></ul>create … <ul><li>HR DBA performs unauthorized actions during production </li></ul>3pm Monday <ul><ul><li>Rule based on Date and Time blocks action </li></ul></ul>HR Realm HR
    22. 22. Deployment Flow
    23. 23. Database Vault Access Algorithm
    24. 24. Integration with OLS and VPD <ul><li>Oracle Label Security: Association of factors identities with OLS labels to enforce row-level security policies </li></ul><ul><li>Virtual Private Database: Factors can be used in PL/SQL functions that implement VPD policies </li></ul>
    25. 25. PL/SQL API to Database Vault <ul><li>PL/SQL interface for scriptable administration and tools </li></ul><ul><li>API includes: </li></ul><ul><li>Create, modify, and delete Database Vault components </li></ul><ul><li>Allow a session to define their security environment </li></ul><ul><li>Query the state and values of components </li></ul><ul><li>Administer and configure system-wide Database Vault parameters </li></ul>
    26. 26. Oracle Database Vault Summary <ul><li>Integrated security framework to provide full control: </li></ul><ul><li>Control access based upon Network, users, DBA, data, roles, SQL access </li></ul><ul><ul><ul><li>Multi-factor Authorization and Policies across various checks </li></ul></ul></ul><ul><li>Baked-in Security controls </li></ul><ul><li>Compliance requirements: </li></ul><ul><li>Built-in Separation of Duty (Users mgmt, data mgmt, apps mgmt) </li></ul><ul><li>Prevent misuse of powerful privileges </li></ul><ul><li>Operational requirements: </li></ul><ul><li>No application changes required </li></ul><ul><li>Minimal Performance impact </li></ul><ul><li>Easy-to-use PLUS customization flexibility </li></ul><ul><li>Support Database consolidation </li></ul>
    27. 27. Credits and references <ul><li>Oracle Database Vault – Under the covers , Vipin Samar, Oracle </li></ul><ul><li>Dividing the Keys to the Kingdom - Separation of Duties with Oracle 10g Database Vault, Eric Siglin, Oracle </li></ul><ul><li>Patricia Huey, Oracle Database Vault Administrator’s Guide 11g Release 2 (11.2), </li></ul><ul><li>Oracle, 2010 </li></ul>