CWE

常见的弱点枚举

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

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

cwe - 309:使用主密码系统的身份验证

弱点ID: 309
抽象:基地
结构:简单的
视图定制的信息:
+描述
使用的密码系统,身份验证的主要方式可能会受到一些缺陷或不足,每减少机制的有效性。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 654年 依赖单一因素在一个安全的决定
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 1390年 弱的身份验证
PeerOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 262年 不使用密码老化
PeerOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 308年 使用单因素身份验证
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1211年 身份验证错误
+背景细节
密码系统是最简单、最普遍的身份验证机制。然而,他们受到这种众所周知的袭击,这样频繁的妥协,他们使用最简单的实现是不实际的。
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

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

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

技术的影响:旁路保护机制;获得特权或假设的身份

密码身份验证机制错误几乎总是会导致攻击者被授权为有效用户。
+利用的可能性
+示范例子

示例1

在这两个例子中,一个用户是否登录,如果他们给密码匹配存储密码:

(坏的代码)
例如语言:C
unsigned char * check_passwd (char *明文){
ctext = simple_digest (sha1,明文,strlen(明文),…);
/ /登录如果哈希匹配存储散列
如果(等于(ctext secret_password ())) {
login_user ();
}
}
(坏的代码)
例如语言:Java
字符串明文=新的字符串(plainTextIn);
MessageDigest ence = MessageDigest.getInstance (SHA);
encer.update (plainTextIn);
byte[]消化= password.digest ();
/ /登录如果哈希匹配存储散列
如果(平等(消化,secret_password ())) {
login_user ();
}

这段代码只依赖一个密码机制(cwe - 309)使用只有一个因素身份验证(cwe - 308)。如果攻击者可以窃取或猜测用户的密码,他们给出了完全访问帐户。注意这段代码还使用sha - 1,这是一个弱散列(cwe - 328)。它还不使用盐(cwe - 759)。

+潜在的缓解措施

阶段:体系结构和设计

为了保护密码系统妥协,应该注意如下:

  • 密码应该存储安全,防止内部攻击,并确保,如果系统被破坏,密码是无法复原。由于密码重用,这些信息可能是有用的在这些用户使用其他系统的妥协。为了保护这些密码,他们应该存储加密,不可逆状态,这样不能从存储中提取原始文本密码值。
  • 密码老化应严格执行,以确保密码不要长时间维持不变。密码仍在使用的时间越长,它已经破坏的概率就越高。出于这个原因,密码需要定期刷新,和用户密码的风险,应告知仍使用太久。
  • 密码强度应该明智地执行。而不是限制密码具体内容,或者特定的长度,用户应该鼓励使用大写和小写字母,数字和符号的密码。系统还应该确保没有密码是来源于字典单词。

阶段:体系结构和设计

使用0知识密码协议,如SRP。

阶段:体系结构和设计

确保密码安全存储和不可逆的。

阶段:体系结构和设计

实现密码老化功能一定程度后,需要密码被改变。

阶段:体系结构和设计

使用一种机制来确定密码的强度,并通知用户使用弱密码。

阶段:体系结构和设计

通知用户的密码保护,它们是如何工作的保护数据的完整性,以及为什么重要的是要注意他们的警告。
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 724年 OWASP十大2004类别A3 -破碎的认证和会话管理
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 947年 SFP二级集群:认证绕过
+分类法映射
映射分类名称 节点ID 适合 映射节点名
使用密码系统
OWASP十大2004 A3 CWE更具体 破碎的认证和会话管理
+引用
[REF-18]安全软件公司. .“扣应用程序安全性的过程”。2005年。<https://cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf>。
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19
+修改
修改日期 修饰符 组织
2008-08-15 Veracode
建议OWASP 2004年排名前十的映射
2008-09-08 CWE内容团队 主教法冠
更新Background_Details Common_Consequences,关系,Taxonomy_Mappings
2010-12-13 CWE内容团队 主教法冠
更新Common_Consequences
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系
2012-10-30 CWE内容团队 主教法冠
更新Demonstrative_Examples
2014-07-30 CWE内容团队 主教法冠
更新的关系
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms Likelihood_of_Exploit
2020-02-24 CWE内容团队 主教法冠
更新引用关系
2020-08-20 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2021-03-15 CWE内容团队 主教法冠
更新Demonstrative_Examples
2022-10-13 CWE内容团队 主教法冠
更新的关系
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 使用密码系统
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2022年10月13日