759
Effectiveness = SOAR Partial
Dynamic Analysis with Manual Results Interpretation
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Network Sniffer Cost effective for partial coverage: Fuzz Tester Framework-based Fuzzer
Automated Monitored Execution Man-in-the-middle attack tool
Effectiveness = High
Manual Static Analysis - Source Code
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Focused Manual Spotcheck - Focused manual analysis of source Manual Source Code Review
(not inspections)
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
Architecture or Design Review
According to SOAR, the following detection techniques may be useful: Highly cost effective:
Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.) Formal
Methods / Correct-By-Construction Cost effective for partial coverage: Attack Modeling
Effectiveness = High
Potential Mitigations
Phase: Requirements
Clearly specify which data or resources are valuable enough that they should be protected by
encryption. Require that any transmission or storage of this data/resource should use well-vetted
encryption algorithms.
Phase: Architecture and Design
Ensure that encryption is properly integrated into the system design, including but not necessarily
limited to: Encryption that is needed to store or transmit private data of the users of the system
Encryption that is needed to protect the system itself from unauthorized disclosure or tampering
Identify the separate needs and contexts for encryption: One-way (i.e., only the user or recipient
needs to have the key). This can be achieved using public key cryptography, or other techniques
in which the encrypting party (i.e., the product) does not need to have access to a private key.
Two-way (i.e., the encryption can be automatically performed on behalf of a user, but the key
must be available so that the plaintext can be automatically recoverable by that user). This
requires storage of the private key in a format that is recoverable only by the user (or perhaps
by the operating system) in a way that cannot be recovered by others. Using threat modeling
or other techniques, assume that data can be compromised through a separate vulnerability or
weakness, and determine where encryption will be most effective. Ensure that data that should
be private is not being inadvertently exposed using weaknesses such as insecure permissions
(CWE-732). [REF-7]
Phase: Architecture and Design
Strategy = Libraries or Frameworks
When there is a need to store or transmit sensitive data, use strong, up-to-date cryptographic
algorithms to encrypt that data. Select a well-vetted algorithm that is currently considered to be
strong by experts in the field, and use well-tested implementations. As with all cryptographic
mechanisms, the source code should be available for analysis. For example, US government
systems require FIPS 140-2 certification. Do not develop custom or private cryptographic
CWE Version 4.14
CWE-311: Missing Encryption of Sensitive Data
CWE-311: Missing Encryption of Sensitive Data