취약점 도입 방식
Architecture and Design
Implementation : REALIZATION: This weakness is caused during implementation of an architectural security tactic.
적용 가능한 플랫폼
언어
클래스: Not Language-Specific (Undetermined)
기술
클래스: Not Technology-Specific (Undetermined)
일반적인 결과
| 범위 |
영향 |
가능성 |
| Access Control | Bypass Protection Mechanism
참고: If a PRNG is used for authentication and authorization, such as a session ID or a seed for generating a cryptographic key, then an attacker may be able to easily guess the ID or cryptographic key and gain access to restricted functionality. | |
관찰된 예시
| 참고 자료 |
설명 |
| PHP framework uses mt_rand() function (Marsenne Twister) when generating tokens |
| Crypto product uses rand() library function to generate a recovery key, making it easier to conduct brute force attacks. |
| Random number generator can repeatedly generate the same value. |
| Web application generates predictable session IDs, allowing session hijacking. |
| SSL library uses a weak random number generator that only generates 65,536 unique keys. |
잠재적 완화 방법
Phases : Implementation
Use functions or hardware which use a hardware-based random number generation for all crypto. This is the recommended solution. Use CyptGenRandom on Windows, or hw_rand() on Linux.
탐지 방법
Automated Static Analysis
Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
효과성 : High
취약점 매핑 메모
근거 : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
댓글 : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
메모
As of CWE 4.5, terminology related to randomness, entropy, and
predictability can vary widely. Within the developer and other
communities, "randomness" is used heavily. However, within
cryptography, "entropy" is distinct, typically implied as a
measurement. There are no commonly-used definitions, even within
standards documents and cryptography papers. Future versions of
CWE will attempt to define these terms and, if necessary,
distinguish between them in ways that are appropriate for
different communities but do not reduce the usability of CWE for
mapping, understanding, or other scenarios.
참고 자료
REF-18
The CLASP Application Security Process
Secure Software, Inc..
https://cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf REF-44
24 Deadly Sins of Software Security
Michael Howard, David LeBlanc, John Viega.
제출
| 이름 |
조직 |
날짜 |
출시일 |
Version |
| CLASP |
|
2006-07-19 +00:00 |
2006-07-19 +00:00 |
Draft 3 |
수정 사항
| 이름 |
조직 |
날짜 |
댓글 |
| Eric Dalci |
Cigital |
2008-07-01 +00:00 |
updated Time_of_Introduction |
| CWE Content Team |
MITRE |
2008-09-08 +00:00 |
updated Common_Consequences, Relationships, Other_Notes, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2011-06-01 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2012-05-11 +00:00 |
updated Common_Consequences, Observed_Examples, References, Relationships |
| CWE Content Team |
MITRE |
2012-10-30 +00:00 |
updated Demonstrative_Examples, Potential_Mitigations |
| CWE Content Team |
MITRE |
2014-06-23 +00:00 |
updated Applicable_Platforms, Description, Name, Other_Notes |
| CWE Content Team |
MITRE |
2015-12-07 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2017-11-08 +00:00 |
updated Demonstrative_Examples, Description, Modes_of_Introduction, Relationships, Taxonomy_Mappings |
| CWE Content Team |
MITRE |
2019-01-03 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated References, Relationships |
| CWE Content Team |
MITRE |
2021-03-15 +00:00 |
updated Demonstrative_Examples |
| CWE Content Team |
MITRE |
2021-07-20 +00:00 |
updated Maintenance_Notes |
| CWE Content Team |
MITRE |
2021-10-28 +00:00 |
updated Relationships |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated Detection_Factors, Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2023-10-26 +00:00 |
updated Observed_Examples |
| CWE Content Team |
MITRE |
2025-12-11 +00:00 |
updated Applicable_Platforms, Relationships, Weakness_Ordinalities |