描述
扩展描述
加密算法是数据被炒的方法以防止未经授权的演员观察或影响。不安全的加密可以利用暴露敏感信息,修改数据以意想不到的方式,欺骗其他用户的身份或设备,或其他影响。
很难产生一个安全的算法,甚至高调算法完成加密专家已经坏了。著名的技术存在破坏或削弱各种加密。因此,有少量的易于理解和大量研究的算法应该是大多数产品使用。使用非标准或known-insecure算法是危险的,因为坚定的对手可能会打破算法和妥协的任何数据保护。
加密的状态以来进步如此之快,是常见的一种算法被认为是“不安全的”即使它曾经被认为是强大的。这可能发生在发现新的攻击,或者如果计算能力增加,加密算法不再提供了最初的保护思想。
由于诸多原因,这一弱点是更具挑战性的管理与硬件部署加密算法与软件实现。首先,如果发现一个缺陷hardware-implemented密码学,不能固定在大多数情况下没有缺陷产品的召回,因为硬件不轻易更换喜欢的软件。第二,因为硬件产品预计工作多年来,对手的计算能力随着时间的推移只会增加。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
支柱——一个弱点是最抽象类型的弱点和代表一个主题类/基地/变体相关弱点。支柱是不同于一个类别作为支柱技术上仍然是一种弱点,描述了一个错误,而一个类别代表一个共同特征用于组相关的东西。 |
693年 |
保护机制失败 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
328年 |
使用弱散列 |
ParentOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
780年 |
没有OAEP使用RSA算法 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1240年 |
使用加密的原始风险实现 |
PeerOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
311年 |
失踪的敏感数据的加密 |
PeerOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
301年 |
反射攻击在身份验证协议 |
光束 |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
208年 |
可观测的时间差异 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 |
类型 |
ID |
的名字 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
916年 |
使用的密码哈希计算努力不足 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关视图”架构概念”(cwe - 1008)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1013年 |
加密数据 |
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
委员会:这个弱点是指一个不正确的设计与架构相关的安全策略。 |
实现 |
与硬件兼容的体系结构或设计阶段可能加密,但它被替换为一个不一致的密码在以后实现阶段由于实现的限制(例如,熵不足以让它正常工作,或没有足够的硅房地产可用来实现)。或者,在极少数情况下(尤其是长跨越多年的项目),建筑规范可能开始加密当时最初的建筑规格写,但随着时间变得不一致的攻击密码取得的进展。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
|
保密的敏感数据可能会被损坏或危险的使用加密算法。 |
|
完整性
|
敏感数据的完整性可能被使用损坏或危险的密码算法。 |
|
问责制 不可抵赖性
|
如果密码算法是用于确保数据来源的身份(如数字签名),然后破碎的算法会妥协方案和数据的来源无法证实。 |
|
利用的可能性
示范例子
示例1
这些代码示例使用数据加密标准(DES)。
密码des = . getinstance (“des…”); des.initEncrypt (key2);
函数encryptPassword(密码){
$ iv_size = mcrypt_get_iv_size (MCRYPT_DES MCRYPT_MODE_ECB); (iv = mcrypt_create_iv美元iv_size MCRYPT_RAND); 美元关键=“这是密码加密密钥”; $ encryptedPassword = mcrypt_encrypt (MCRYPT_DES关键美元,美元密码,MCRYPT_MODE_ECB,美元(四); 返回encryptedPassword美元; }
一度被认为是一个强大的算法,DES现在认为是足够的对于许多应用程序。取而代之的是高级加密标准(AES)。
示例2
假设一个芯片制造商决定实现一个哈希方案验证某些比特流的完整性属性,并选择来实现SHA1硬件加速器实现方案。
制造商选择SHA1硬件加速器来实施这项计划,因为它已经有一个工作SHA1知识产权(IP),制造商已经创建和使用之前,所以这重用IP节省设计成本。
然而,SHA1实际上于2005年从理论上打破,打破2017年110美元的成本。这意味着攻击者访问cloud-rented计算能力将可以提供一个恶意的比特流相同的散列值,从而击败的目的使用散列。
这个问题本来是可以避免的,更好的设计。
制造商可以选择一个加密解决方案,建议由宽安全社区(包括标准制定机构像NIST)和预计不会被打破(甚至更好,削弱)在合理的硬件产品的寿命。在这种情况下,架构师可以使用SHA-2或SHA-3,即使这意味着这样的选择将额外的成本。
示例3
2022年,OT:冰崩研究调查了10个不同的操作技术(OT)供应商的产品。研究人员报道,56个漏洞,说产品是“不安全的设计”(ref - 1283]。如果这些漏洞利用,往往让对手改变产品运营,从拒绝服务改变产品执行的代码。因为这些产品经常被应用于行业,如电力、电气、水,和其他人,甚至会出现安全问题。
多个产品使用弱密码。
观察到的例子
参考 |
描述 |
|
SCADA-based协议支持遗留的加密模式,利用微小加密算法(茶)在ECB模式中,泄漏模式的消息和无法保护的完整性 |
|
可编程序逻辑控制器(PLC)与密码不安全散列算法使用协议的密码。 |
|
产品采用“ROT-25”混淆密码在注册表中。 |
|
产品只使用“异或”混淆敏感数据 |
|
产品只使用“异或”混淆和固定关键敏感数据 |
|
产品替代品的角色与其他角色在一个固定的方式,也使得某些输入字符不变。 |
|
攻击者可以推断出私有IP地址除以每八隅体的MD5哈希“20”。 |
|
产品采用DES MD5已经指定的配置时,导致弱于预期的密码散列。 |
|
默认配置的产品使用MD5代替强算法可用,简化伪造的证书。 |
|
产品采用的哈希散列进行验证,允许攻击者获得特权,如果他们可以获得原来的散列。 |
潜在的缓解措施
阶段:体系结构和设计
当有需要存储或传送敏感数据,使用强,最新的加密算法加密数据。选择一个严格的审查算法,目前被认为是强大的由该领域的专家,并使用经过良好测试的实现。正如所有加密机制,应该用于分析源代码。
不开发自定义或私人密码算法。他们可能会暴露于攻击易于理解的密码。逆向工程技术是成熟的。如果可以攻破的算法如果攻击者了解它是如何工作的,那么它尤其薄弱。
定期确保加密并没有过时。一些老算法,一度被认为需要十亿年的计算时间,现在可以打破在几天或几小时。这包括MD4 MD5、SHA1 DES和其他曾被认为是强大的算法。( ref - 267]
|
阶段:体系结构和设计
确保设计允许一个密码算法在下一代或替换为另一个版本。在可能的情况下,使用包装器进行统一的接口。这将使它更容易升级到更强的算法。与硬件、设计产品在知识产权(IP)级别这一个密码算法可以被替换为另一个下一代的硬件产品。
|
阶段:体系结构和设计
精心管理和保护的密钥(见 cwe - 320)。如果键可以猜测或被盗,那么密码本身的强度是无关紧要的。 |
阶段:体系结构和设计
使用审查库或框架不允许这个弱点发生或提供了结构,使这个弱点更容易避免的。
行业标准的实现将节省开发时间和更有可能避免错误可能发生在加密算法的实现。考虑到ESAPI加密功能。
|
阶段:实施;架构和设计
当使用有技术,正确地使用它们。不偷工减料,跳过资源密集型步骤( cwe - 325)。这些步骤通常是必不可少的预防常见的攻击。 |
检测方法
自动化分析
识别常用的自动化方法可能是有用的库或特性,已经变得过时了。
注意:可能出现假阴性的工具不知道加密库使用,或者如果使用自定义加密。 |
手动分析
这个弱点可以检测使用的工具和技术,需要手动(人类)的分析,如渗透测试、威胁建模和交互工具,允许测试人员记录和修改一个活跃的会话。
注意:这些可能是更有效的比严格的自动化技术。尤其如此弱点设计和相关的业务规则。 |
自动静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
-
字节码的弱点分析,包括反汇编程序+源代码弱点分析
-
二进制弱点分析,包括反汇编程序+源代码弱点分析
-
二进制/字节码简单器-字符串,精灵读者等。
|
人工静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
动态分析与自动化的结果解释
根据飙升,以下检测技术可能是有用的:
-
Web应用程序扫描
-
Web服务的扫描仪
-
数据库扫描仪
|
动态分析与人工解释结果
根据飙升,以下检测技术可能是有用的:
|
人工静态分析源代码
根据飙升,以下检测技术可能是有用的:
|
自动静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
源代码缺陷分析仪
-
Context-configured源代码分析器
|
自动静态分析
根据飙升,以下检测技术可能是有用的:
|
体系结构或设计审查
根据飙升,以下检测技术可能是有用的:
|
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
729年 |
OWASP 2004年十大类别A8——不安全存储 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
753年 |
2009年前25 -多孔防御 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
803年 |
2010年前25 -多孔防御 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
816年 |
OWASP十大2010类别A7 -不安全的加密存储 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
866年 |
2011年前25 -多孔防御 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
883年 |
CERT c++安全编码部分49 -杂项(MSC) |
MemberOf |
视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 |
884年 |
CWE横截面 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
934年 |
OWASP十大2013类别A6 -暴露敏感数据 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
958年 |
SFP二级集群:破碎的加密 |
MemberOf |
视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 |
1003年 |
弱点简化映射的漏洞发布 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1029年 |
OWASP十大2017类别A3 -暴露敏感数据 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1131年 |
方案》(2016)——安全质量措施 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1152年 |
SEI CERT甲骨文Java安全编码标准,指南49。杂项(MSC) |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1170年 |
SEI CERT 48 C编码标准指导方针。杂项(MSC) |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1346年 |
OWASP十大2021类别A02:2021 -密码失败 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1366年 |
ICS通讯:脆弱的安全协议 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1402年 |
综合分类:加密 |
脆弱性映射笔记
用法:Allowed-with-Review
(CWE ID可以用来映射到实际的漏洞在有限的情况下需要仔细审查) |
原因:抽象 |
理由是: 这个CWE条目是一个类并会基本的孩子可能更合适 |
评论: 检查这个条目的孩子是否有一个更好的选择 |
笔记
维护
CWE 4.4以来,各种cryptography-related条目,包括 cwe - 327和 cwe - 1240已定于广泛的研究、分析和社区协商定义一致的术语,改善人际关系,减少重叠或重复。CWE 4.6,这项工作仍在进行中。
维护
Taxonomy_Mappings ISA / IEC 62443 CWE 4.10中加入了,但他们仍在审查和将来可能会改变CWE版本。这些映射草案是由“CWE映射到62443”小组的成员 CWE -CAPEC ICS / OT特殊利益集团(团体),CWE 4.10的和他们的工作是不完整的。映射是包括促进讨论和审查由更广泛的ICS / OT的社区,他们可能会改变在未来CWE版本。
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
扣 |
|
|
使用损坏或危险的密码算法 |
OWASP十大2004 |
A8 |
CWE更具体 |
不安全的存储 |
CERT C安全编码 |
MSC30-C |
CWE更抽象 |
不要使用兰德()函数生成伪随机数 |
CERT C安全编码 |
MSC32-C |
CWE更抽象 |
适当的伪随机数生成器的种子 |
CERT甲骨文安全Java编码标准(2011) |
MSC02-J |
|
产生强烈的随机数 |
OMG ASCSM |
ASCSM -cwe - 327 |
|
|
ISA / IEC 62443 |
3 - 3部分 |
|
4.3要求老 |
ISA / IEC 62443 |
4 - 2部分 |
|
点播CR 4.3 |
引用
|
|
|
|
|
|
迈克尔•霍华德(REF-44)大卫·勒布朗和Viega约翰。软件安全的“24宗罪”。“罪21:使用错误的密码”。Page 315. McGraw-Hill. 2010. |
|
(ref - 62)马克·多德约翰麦克唐纳和贾斯汀Schuh。“软件安全评估的艺术”。第二章,“不足或过时的加密”,44页。1版。艾迪生卫斯理》2006。 |
|
|
|
|
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2006-07-19 (CWE草案3,2006-07-19) |
扣 |
|
|
贡献 |
贡献的日期 |
贡献者 |
组织 |
2019-12-10 |
Parbati k吗哪 |
英特尔公司 |
提供一个特定于硬件的提交的内容集成到该条目,影响扩展描述,适用的平台,示范例子和移植 |
修改 |
修改日期 |
修饰符 |
组织 |
2008-08-15 |
|
Veracode |
建议OWASP 2004年排名前十的映射 |
2008-09-08 |
CWE内容团队 |
主教法冠 |
更新Background_Details Common_Consequences、描述关系,Taxonomy_Mappings |
2009-01-12 |
CWE内容团队 |
主教法冠 |
Demonstrative_Examples更新,描述、Observed_Examples Potential_Mitigations引用关系 |
2009-03-10 |
CWE内容团队 |
主教法冠 |
更新Potential_Mitigations |
2009-07-27 |
CWE内容团队 |
主教法冠 |
更新Maintenance_Notes、人际关系 |
2009-10-29 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2009-12-28 |
CWE内容团队 |
主教法冠 |
更新的引用 |
2010-02-16 |
CWE内容团队 |
主教法冠 |
更新Detection_Factors、引用关系 |
2010-04-05 |
CWE内容团队 |
主教法冠 |
更新Applicable_Platforms、Potential_Mitigations Related_Attack_Patterns |
2010-06-21 |
CWE内容团队 |
主教法冠 |
更新Common_Consequences、Detection_Factors Potential_Mitigations、引用关系 |
2010-09-27 |
CWE内容团队 |
主教法冠 |
更新Potential_Mitigations、人际关系 |
2011-03-29 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples、描述 |
2011-06-01 |
CWE内容团队 |
主教法冠 |
更新的关系,Taxonomy_Mappings |
2011-06-27 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2011-09-13 |
CWE内容团队 |
主教法冠 |
更新Potential_Mitigations、关系、Taxonomy_Mappings |
2012-05-11 |
CWE内容团队 |
主教法冠 |
更新引用,Related_Attack_Patterns、关系、Taxonomy_Mappings |
2012-10-30 |
CWE内容团队 |
主教法冠 |
更新Potential_Mitigations |
2013-02-21 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2014-02-18 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
2014-06-23 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2014-07-30 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples Detection_Factors,关系 |
2015-12-07 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2017-01-19 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
2017-11-08 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples、Likelihood_of_Exploit Modes_of_Introduction、引用关系,Taxonomy_Mappings |
2018-03-27 |
CWE内容团队 |
主教法冠 |
更新引用关系 |
2019-01-03 |
CWE内容团队 |
主教法冠 |
更新引用关系,Taxonomy_Mappings |
2019-06-20 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns、关系类型 |
2020-02-24 |
CWE内容团队 |
主教法冠 |
更新Applicable_Platforms Detection_Factors Maintenance_Notes,关系 |
2021-03-15 |
CWE内容团队 |
主教法冠 |
更新的引用 |
2021-10-28 |
CWE内容团队 |
主教法冠 |
更新Maintenance_Notes Potential_Mitigations,关系 |
2022-04-28 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2022-10-13 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples Observed_Examples,引用 |
2023-01-31 |
CWE内容团队 |
主教法冠 |
更新Applicable_Platforms、Background_Details Demonstrative_Examples、描述Maintenance_Notes, Modes_of_Introduction, Observed_Examples, Potential_Mitigations,引用,Taxonomy_Mappings Time_of_Introduction |
2023-04-27 |
CWE内容团队 |
主教法冠 |
更新引用关系 |
2023-06-29 |
CWE内容团队 |
主教法冠 |
更新Mapping_Notes、人际关系 |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2008-04-11 |
使用损坏或危险的密码算法 |
|
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|