Title: The DBMS must isolate security functions enforcing access and information flow control from both non-security functions and from other security functions.
Vulnerability ID: V-32538
IA Controls: None
Description: Application functionality is typically broken down into modules that perform various tasks or roles. Examples of non-privileged application functionality include, but are not limited to, application modules written for displaying data or printing reports.
Application security functionality that performs security tasks, such as enforcing access and information flow control, requires additional system privilege and can have a large impact on the security of the application and its data. Rather than allowing the entire application access to this security functionality, application developers must isolate these critical functions from non-privileged application functions and other security functions.
Database Management Systems typically separate security functionality from non-security functionality via separate databases or schemas. Database objects or code implementing security functionality should not be commingled with objects or code implementing application logic. When security and non-security functionality is commingled, users who have access to non-security functionality may be able to access security functionality.
Check Text: Check DBMS settings to determine whether objects or code implementing security functionality are located in a separate security domain, such as a separate database or schema created specifically for security functionality. If security related database objects or code are not kept separate, this is a finding.
Fix Text: Locate security related database objects and code in a separate database, schema, or other separate security domain from database objects and code implementing application logic.[divider]