Check: APSC-DV-002310
Application Security and Development STIG:
APSC-DV-002310
(in versions v5 r3 through v4 r2)
Title
The application must fail to a secure state if system initialization fails, shutdown fails, or aborts fail. (Cat I impact)
Discussion
Failure to a known safe state helps prevent systems from failing to a state that may cause loss of data or unauthorized access to system resources. Applications or systems that fail suddenly and with no incorporated failure state planning may leave the hosting system available but with a reduced security protection capability. Preserving information system state information also facilitates system restart and return to the operational mode of the organization with less disruption of mission-essential processes. In general, application security mechanisms should be designed so that a failure will follow the same execution path as disallowing the operation. For example, security methods, such as isAuthorized(), isAuthenticated(), and validate(), should all return false if there is an exception during processing. If security controls can throw exceptions, they must be very clear about exactly what that condition means. Abort refers to stopping a program or function before it has finished naturally. The term abort refers to both requested and unexpected terminations.
Check Content
Review application design documentation, vulnerability scanner reports and interview application administrator to identify application components. The design of the application should account for the following: - Connections to databases are left open - Access control mechanisms are disabled - Data left in temporary locations Testing application failure will require taking down parts of the application. Review the vulnerability assessment configuration settings included in vulnerability report. Examine the application test plans and procedures to determine if this type of failure was previously tested. If test plans exist, validate the tests by performing a subset of the checks. If test plans do not exist, an application failure must be simulated. Simulate a failure. This can be accomplished by stopping the web server service and/or the database service. Also, for applications using web services stop the web service and/or the database. Check to ensure that application data is still protected. Some examples of tests follow: - Try to submit SQL queries to the database. Verify that the database requires authentication before returning data. - Try to read the application source files; access should not be granted to these files because the application is not operating. - Try to open database files; data should not be available because the application is not operational. If the application fails in such a way that the application security controls are rendered inoperable, this is a finding.
Fix Text
Fix any vulnerability found when the application is an insecure state (initialization, shutdown and aborts).
Additional Identifiers
Rule ID: SV-222585r879640_rule
Vulnerability ID: V-222585
Group Title: SRG-APP-000225
Expert Comments
CCIs
Number | Definition |
---|---|
CCI-001190 |
The information system fails to an organization-defined known-state for organization-defined types of failures. |
Controls
Number | Title |
---|---|
SC-24 |
Fail In Known State |