1554
Dynamic Analysis with Manual Results Interpretation
According to SOAR, the following detection techniques may be useful: Highly cost effective: Host
Application Interface Scanner Cost effective for partial coverage: Fuzz Tester Framework-based
Fuzzer Automated Monitored Execution Forced Path Execution
Effectiveness = High
Manual Static Analysis - Source Code
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Manual Source Code Review (not inspections) Cost effective for partial coverage: Focused
Manual Spotcheck - Focused manual analysis of source
Effectiveness = High
Automated Static Analysis - Source Code
According to SOAR, the following detection techniques may be useful: Cost effective for partial
coverage: Context-configured Source Code Weakness Analyzer
Effectiveness = SOAR Partial
Automated Static Analysis
According to SOAR, the following detection techniques may be useful: Cost effective for partial
coverage: Configuration Checker
Effectiveness = SOAR Partial
Architecture or Design Review
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Formal Methods / Correct-By-Construction Cost effective for partial coverage: Inspection (IEEE
1028 standard) (can apply to requirements, design, source code, etc.)
Effectiveness = High
Potential Mitigations
Phase: Implementation
When using a critical resource such as a configuration file, check to see if the resource has
insecure permissions (such as being modifiable by any regular user) [REF-62], and generate an
error or even exit the software if there is a possibility that the resource could have been modified
by an unauthorized party.
Phase: Architecture and Design
Divide the software into anonymous, normal, privileged, and administrative areas. Reduce the
attack surface by carefully defining distinct user groups, privileges, and/or roles. Map these
against data, functionality, and the related resources. Then set the permissions accordingly. This
will allow you to maintain more fine-grained control over your resources. [REF-207]
Effectiveness = Moderate
This can be an effective strategy. However, in practice, it may be difficult or time consuming to
define these areas when there are many different resources or user types, or if the applications
features change rapidly.
Phase: Architecture and Design
Phase: Operation
Strategy = Sandbox or Jail
Run the code in a "jail" or similar sandbox environment that enforces strict boundaries between
the process and the operating system. This may effectively restrict which files can be accessed
in a particular directory or which commands can be executed by the software. OS-level examples
include the Unix chroot jail, AppArmor, and SELinux. In general, managed code may provide
CWE Version 4.14
CWE-732: Incorrect Permission Assignment for Critical Resource
CWE-732: Incorrect Permission Assignment for Critical Resource