CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

cwe - 1204:代弱初始化向量(IV)

弱点ID: 1204
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品使用加密原语,使用一个初始化向量(IV),但产品不产生静脉注射,足够根据预期的加密需求不可预测的或独特的原始。
+扩展描述
通过设计,一些加密原语(如块密码)需要静脉注射必须拥有某些属性的独特性和/或不可预测性IV。原语在这些属性的重要性可能会有所不同。如果这些属性不维护,如一个错误的代码,那么密码可能会被削弱或被攻击的静脉注射。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 330年 使用随机值不足
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 329年 第四代可预测与CBC模式
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
实现
架构和设计
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
保密

技术的影响:读取应用程序数据

如果第四没有正确初始化,数据加密可以妥协和数据泄露的信息。参见[ref - 1179]。
+示范例子

示例1

在下面的例子中,CBC模式时使用加密数据:

(坏的代码)
例如语言:C
EVP_CIPHER_CTX ctx;
字符键(EVP_MAX_KEY_LENGTH);
第四char [EVP_MAX_IV_LENGTH];
RAND_bytes(关键,b);
第四memset (0 EVP_MAX_IV_LENGTH);
EVP_EncryptInit (ctx EVP_bf_cbc(),钥匙,(四);
(坏的代码)
例如语言:Java
公开课SymmetricCipherTest {
公共静态void main () {

byte[]文本= "秘密" .getBytes ();
第四byte [] = {
0 x00, 0 x00 0 x00 0 x00, 0 x00, 0 x00, 0 x00 0 x00
};
KeyGenerator公斤= KeyGenerator.getInstance (DES);
kg.init (56);
SecretKey关键= kg.generateKey ();
密码密码= . getinstance (“DES / CBC / PKCS5Padding”);
IvParameterSpec ips = new IvParameterSpec (iv);
cipher.init(密码。ENCRYPT_MODE、关键,ips);
返回cipher.doFinal (inpBytes);
}
}

在这两个例子中,初始化向量(IV)总是一块0。这使得生成的密文更加可预测和容易受到字典攻击。

示例2

有线等效隐私(WEP)协议802.11中使用的无线标准仅支持40位键,和静脉注射只有24位,增加的可能性相同的四对多个消息被重用。第四是包含在明文作为包的一部分,使得攻击者直接可见。只需要5000条消息碰撞发生之前由于“生日悖论”(ref - 1176]。有些实现对每个数据包重用相同的第四。这第四重用使得攻击者更容易恢复明文从第四两个相同的包,使用容易理解的攻击,特别是如果明文以一个包(ref - 1175]。

+观察到的例子
参考 描述
ZeroLogon脆弱性第四——使用一个静态的零AES-CFB8模式
在SSL / TLS 3.0 1.0中野兽的攻击。在CBC模式中,连接初始化向量是随机,允许解密HTTPS使用选择明文攻击流量。
无线路由器不使用6 24位的WEP加密,使得攻击者更容易破解交通
WEP卡生成预测IV值,使得攻击者更容易解密流量
在AES-CBC设备引导装载程序使用一个零初始化向量
加密框架使用PHP rand函数——不是密码安全——一个初始化向量
加密程序没有种子随机数生成器,造成重复相同的初始化向量生成
加密功能在身份验证框架使用一个固定的空IV CBC模式,允许攻击者破解交通应用程序中使用此功能
消息door-unlocking产品使用一个固定的四世在CBC模式,也就是每次重启后
应用程序使用AES在CBC模式中,但是使用数学生成伪随机密钥和IV。随机的,这不是密码地强大。
Blowfish-CBC实现构造一个第四,每个字节计算模8代替模256,导致第四少于12位的有效长度,第四,低于4096可能值。
+潜在的缓解措施

实施阶段:

他们的静脉注射不同的密码模式有不同的要求。在选择和实施一个模式,重要的是要理解这些需求来保持安全保证完好无损。一般来说,生成一个随机IV是安全的,因为这将是不可预知的和有一个非常低的非唯一的机会。静脉注射不需要保密的,如果产生重复的静脉注射是一种关注,一列已经使用静脉注射可以保持和检查。

NIST为模式提供建议代静脉注射的批准。这包括选择当随机静脉注射是不实际的。CBC,循环流化床,富含,b [ref - 1175];GCM,请参阅[ref - 1178]。

+功能区域
  • 密码学
+笔记

维护

CWE 4.5,相关术语随机性,熵,和可预测性可以相差很大。在开发人员和其他社区,使用“随机性”。然而,在密码学,“熵”是不同的,通常隐含的测量。没有常用的定义,甚至在标准文件和加密文件。CWE的未来版本将试图定义这些术语,如果有必要,区分他们的方式适合不同的社区,但不会减少可用性CWE的映射,理解,或者其他场景。
+引用
(ref - 1175)尼基塔·鲍里索夫,伊恩·戈德堡和大卫·瓦格纳。“拦截移动通信:802.11的不安全感”。3所示。Keystream重用的风险。《第七一年一度的移动计算和网络国际会议。ACM。2001 - 07。<http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf>。
(ref - 1175)尼基塔·鲍里索夫,伊恩·戈德堡和大卫·瓦格纳。“拦截移动通信:802.11的不安全感”。附录c程序的第七年移动计算和网络国际会议。ACM。2001 - 07。<http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf>。
(ref - 1176)维基百科。“生日问题”。2021-03-06。<https://en.wikipedia.org/wiki/Birthday_problem>。
(ref - 1177)维基百科。“初始化向量”。2021-03-08。<https://en.wikipedia.org/wiki/Initialization_vector>。
(ref - 1178)国家标准。“对分组密码的操作模式的建议:伽罗瓦/计数器模式(GCM)和通用汽车金融服务公司(GMAC)”。8.2第四建筑,2007 - 11。<https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf>。
[ref - 1179] Arxum道路安全。“CBC模式是可塑的。不要相信它为身份验证”。2019-10-16。<https://www.arxumpathsecurity.de/blog/2019/10/16/cbc-mode-is-malleable-dont-trust-it-for-authentication>。
+内容的历史
+提交
提交日期 提交者 组织
2021-03-09 CWE内容团队 主教法冠
+修改
修改日期 修饰符 组织
2021-07-20 CWE内容团队 主教法冠
更新Maintenance_Notes Observed_Examples,引用
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日