DG0015-ORACLE11 - Database applications should be restricted from using static DDL statements to modify the application schema.

Information

Application users by definition and job function require only the permissions to manipulate data within database objects and execute procedures within the database. The statements used to define objects in the database are referred to as Data Definition Language (DDL) statements and include the CREATE, DROP, and ALTER object statements (DDL statements do not include CREATE USER, DROP USER, or ALTER USER actions). This requirement is included here as a production system would by definition not support changes to the data definitions. Where object creation is an indirect result of DBMS operation or dynamic object structures are required by the application function as is found in some object-oriented DBMS applications, this restriction does not apply. Re-use of static data structures to recreate temporary data objects are not exempted.

Solution

Document known object creation that supports dynamic object assignment in the System Security Plan and authorize with the IAO.

Coordinate with the application designer to modify the application to use static objects with temporary data rather than using temporary objects.

You may use the following code to periodically monitor for recently created objects:

select created, owner, object_name, object_type
from dba_objects
where owner not in
('SYS', 'SYSTEM', 'ORDSYS', 'XDB', 'OLAPSYS', 'ODM')
and object_type <> 'SYNONYM'
and created >= sysdate-30 -- Lists objects created within last 30 days
order by created, owner, object_name;

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_Oracle_Database_11g_Y21M10_STIG.zip

Item Details

Category: ACCESS CONTROL

References: 800-53|AC-6, CAT|III, Rule-ID|SV-24355r2_rule, STIG-ID|DG0015-ORACLE11, Vuln-ID|V-3727

Plugin: OracleDB

Control ID: fd9ddc10aaff7bd93c754835679141545d3a79f7eff928e9290cbb251528af5f