導入モード
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 |