| If all user accounts are managed and authenticated by the OS or an enterprise-level authentication/access mechanism, and not by Oracle, this is not a finding. |
For each profile that can be applied to accounts where authentication is under Oracle's control, determine the password verification function, if any, that is in use:
SELECT * FROM SYS.DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION'
[AND PROFILE NOT IN (
ORDER BY PROFILE;
Bearing in mind that a profile can inherit from another profile, and the root profile is called DEFAULT, determine the name of the password verification function effective for each profile.
If, for any profile, the function name is null, this is a finding.
For each password verification function, examine its source code.
If it does not enforce the organization-defined minimum number of special characters (1 unless otherwise specified), this is a finding.