结构: Simple
Abstraction: Variant
状态: Draft
被利用可能性: Medium
Not using a random initialization Vector (IV) with Cipher Block Chaining (CBC) Mode causes algorithms to be susceptible to dictionary attacks.
cwe_Nature: ChildOf cwe_CWE_ID: 330 cwe_View_ID: 1000 cwe_Ordinal: Primary
cwe_Nature: ChildOf cwe_CWE_ID: 573 cwe_View_ID: 1000
Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}
范围 | 影响 | 注释 |
---|---|---|
['Confidentiality', 'Other'] | ['Read Application Data', 'Other'] | If the CBC is not properly initialized, data that is encrypted can be compromised and therefore be read. |
Integrity | Modify Application Data | If the CBC is not properly initialized, encrypted data could be tampered with in transfer. |
['Access Control', 'Other'] | ['Bypass Protection Mechanism', 'Other'] | Cryptographic based authentication systems could be defeated. |
策略:
It is important to properly initialize CBC operating block ciphers or their utility is lost.
In the following examples, CBC mode is used when encrypting data:
bad C
bad Java
In both of these examples, the initialization vector (IV) is always a block of zeros. This makes the resulting cipher text much more predictable and susceptible to a dictionary attack.
映射的分类名 | ImNode ID | Fit | Mapped Node Name |
---|---|---|---|
CLASP | Not using a random IV with CBC mode |