| Phân tích tĩnh tự động | This weakness can often be detected using automated static analysis tools. Many modern tools use data flow analysis or constraint-based techniques to minimize the number of false positives.
Automated static analysis generally does not account for environmental considerations when reporting potential errors in buffer calculations. This can make it difficult for users to determine which warnings should be investigated first. For example, an analysis tool might report buffer overflows that originate from command line arguments in a program that is not expected to run with setuid or other special privileges.Detection techniques for buffer-related errors are more mature than for most other weakness types. | Cao |
| Phân tích động tự động | This weakness can be detected using dynamic tools and techniques that interact with the software using large test suites with many diverse inputs, such as fuzz testing (fuzzing), robustness testing, and fault injection. The software's operation may slow down, but it should not become unstable, crash, or generate incorrect results.Without visibility into the code, black box methods may not be able to sufficiently distinguish this weakness from others, requiring follow-up manual methods to diagnose the underlying problem. | Khá |
| Phân tích động tự động | Use tools that are integrated during compilation to insert runtime error-checking mechanisms related to memory safety errors, such as AddressSanitizer (ASan) for C/C++ [REF-1518].Crafted inputs are necessary to reach the code containing the error, such as generated by fuzzers. Also, these tools may reduce performance, and they only report the error condition - not the original mistake that led to the error. | Khá |
| Phân tích thủ công | Manual analysis can be useful for finding this weakness, but it might not achieve desired code coverage within limited time constraints. This becomes difficult for weaknesses that must be considered for all inputs, since the attack surface can be too large. | - |
| Phân tích thủ công | This weakness can be detected using tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session.
Specifically, manual static analysis is useful for evaluating the correctness of allocation calculations. This can be useful for detecting overflow conditions (CWE-190) or similar weaknesses that might have serious security impacts on the program.These may be more effective than strictly automated techniques. This is especially the case with weaknesses that are related to design and business rules. | Cao |
| Phân tích tĩnh tệp nhị phân hoặc bytecode tự động | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Bytecode Weakness Analysis - including disassembler + source code weakness analysis
Binary Weakness Analysis - including disassembler + source code weakness analysis | Cao |
| Phân tích tĩnh tệp nhị phân hoặc bytecode thủ công | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Cost effective for partial coverage:
```
Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies | SOAR một phần |
| Phân tích tĩnh mã nguồn thủ công | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Cost effective for partial coverage:
```
Focused Manual Spotcheck - Focused manual analysis of source
Manual Source Code Review (not inspections) | SOAR một phần |
| Phân tích tĩnh mã nguồn tự động | According to SOAR [REF-1479], the following detection techniques may be useful:
```
Highly cost effective:
```
Source code Weakness Analyzer
Context-configured Source Code Weakness Analyzer
```
Cost effective for partial coverage:
```
Source Code Quality Analyzer | Cao |
| Rà soát kiến trúc hoặc thiết kế | According to SOAR [REF-1479], 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.) | Cao |