CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

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

CWE-287:身份验证不当

弱点ID:287
抽象:班级
结构:简单的
查看自定义信息:
+描述
当演员声称具有给定身份时,该软件不会证明或不充分证明索赔是正确的。
+替代条款
身份验证:
另一种术语是“身份验证”,这似乎是来自非英语国家的人们最常用的。
Authn:
“ Authn”通常用作Web应用程序安全社区中“身份验证”的缩写。它也与“ Authz”不同,这是“授权”的缩写。不建议使用“ auth”作为缩写,因为它可用于身份验证或授权。
authc:
“ authc”用作“身份验证”的缩写,但似乎比“ authn”频率少。
+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 支柱支柱 - 弱点是最抽象的弱点类型,代表了与之相关的所有类别/基础/变体弱点的主题。从技术上讲,柱子与类别不同,因为在技术上仍然是一种描述错误的弱点,而类别代表用于分组相关事物的常见特征。 284 不当访问控制
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 295 证书验证不当
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 306 缺少关键功能的身份验证
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 645 过于限制的帐户锁定机制
父母 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 1390 弱身份验证
可以按照 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 613 会话到期不足
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“简化已发表漏洞的简化映射”(CWE-1003)相关的视图相关(CWE-1003)
自然 类型 ID 姓名
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 290 通过欺骗的身份验证旁路
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 294 通过捕获重新播放的身份验证旁路
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 295 证书验证不当
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 306 缺少关键功能的身份验证
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 307 不当限制过度身份验证尝试
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 521 密码要求弱
父母 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 522 不充分保护凭据
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 640 弱密码恢复机制被遗忘的密码
父母 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 798 使用硬编码凭证
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“建筑概念”(CWE-1008)有关
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1010 认证演员
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“ CISQ数据保护措施”(CWE-1340)有关
自然 类型 ID 姓名
Childof 支柱支柱 - 弱点是最抽象的弱点类型,代表了与之相关的所有类别/基础/变体弱点的主题。从技术上讲,柱子与类别不同,因为在技术上仍然是一种描述错误的弱点,而类别代表用于分组相关事物的常见特征。 284 不当访问控制
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
建筑和设计
执行 实现:这种弱点是在实施建筑安全策略期间引起的。
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

班级:不是特定语言的(不确定的患病率)

技术

班级:ICS/OT(通常很普遍)

+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 影响 可能性
正直
保密
可用性
访问控制

技术影响:阅读应用程序数据;获得特权或假定身份;执行未经授权的代码或命令

这种弱点会导致资源或功能暴露于意外的参与者,可能会为攻击者提供敏感信息甚至执行任意代码。
+利用的可能性
高的
+示例的例子

示例1

以下代码旨在确保用户已经登录。如果没有,则代码可以使用用户提供的用户名和密码执行身份验证。如果成功的话,它将设置loggedin和用户cookie以“记住”用户已经登录的。最后,如果登录用户具有“管理员”用户名,则代码执行管理员任务,如用户cookie中所记录的。

(不良代码)
示例语言:珀尔
我的$ q =新CGI;

如果($ q-> cookie('loggedin')ne“ true”){
if(!
exitError(“错误:您需要先登录”);
}
别的 {
#设置loggedin和用户cookie。
$ q-> cookie(
-name =>'loggedin',
-value =>'true'
);

$ q-> cookie(
-name =>'用户',
-value => $ q-> param('用户名')
);
}
}

if($ q-> cookie('user')eq“管理员”){
doadministratasks();
}

不幸的是,可以绕过此代码。攻击者可以独立设置cookie,以便代码不检查用户名和密码。攻击者可以使用包含标头的HTTP请求来做到这一点,例如:

(攻击代码)
get/cgi-bin/vulnerable.cgi http/1.1
cookie:用户=管理员
cookie:loggedin = true

[请求主体]

通过将loggedin cookie设置为“ True”,攻击者绕开了整个身份验证检查。通过在用户cookie中使用“管理员”值,攻击者还获得了管理软件的特权。

示例2

在2009年1月,攻击者能够获得管理员访问Twitter服务器,因为该服务器没有限制登录尝试的数量[Ref-236]。攻击者针对Twitter支持团队的成员,并能够通过猜测大量常用单词来成功猜测成员的密码。作为支持人员的成员获得访问权后,攻击者使用管理员小组来访问属于名人和政客的33个帐户。最终,似乎发送了来自折衷帐户的虚假Twitter消息。

示例2参考:
[Ref-236] Kim Zetter。“弱密码为Twitter Hacker带来'幸福'。2009-01-09。<http://www.wired.com/threatlevel/2009/01/professed-twitt/>。

示例3

2022年,OT:ICEFALL研究通过10种不同的运营技术(OT)供应商检查了产品。研究人员报告了56个漏洞,并说这些产品是“通过设计不安全的” [Ref-1283]。如果利用这些漏洞,这些漏洞通常会允许对手更改产品的运作方式,从拒绝服务到更改产品执行的代码。由于这些产品经常用于电力,电气,水和其他行业,因此甚至可能有安全感。

多个供应商没有使用任何身份验证或使用的客户端身份验证来实现其OT产品的关键功能。

+观察到的例子
参考 描述
基于Python的身份验证代理在初始握手期间不强制执行密码身份验证,从而允许客户通过指定“无”身份验证类型来绕过身份验证。
链:Python RPC框架的Web UI不使用Regex锚来验证用户登录电子邮件(CWE-777),可能允许绕过Oauth(CWE-1390)。
可编程逻辑控制器(PLC)中基于TCP的协议没有身份验证。
条件监视器使用不需要身份验证的协议。
安全仪器系统使用没有身份验证的专有TCP协议。
分布式控制系统(DCS)使用没有身份验证的协议。
SCADA系统仅使用客户端身份验证,从而使对手冒充其他用户。
链:云计算虚拟化平台不需要身份验证即可上传tar格式文件(CWE-306),然后使用..路径遍历序列(CWE-23)在文件中访问意外文件,如野外CISA KEV中所利用的。
IT管​​理产品不为某些REST API请求执行身份验证,如Per Per Cisa Kev中所利用的那样。
工作流管理产品中的默认设置允许所有API请求无需身份验证,如野生CISA KEV中所利用的。
SFK中基于堆栈的缓冲区溢出用于物联网/嵌入式设备的WiFi芯片组,如野生CISA KEV所利用。
邮件服务器在执行PowerShell命令之前无法正确检查访问令牌,如Per Per Cisa Kev中所利用的那样。
链:未提示用户第二个身份验证因子(CWE-287)更改其用户名的情况(CWE-178),如野外Cisa Kev所利用的。
通过将特定参数和值附加到URI中的身份验证旁路,如野生CISA KEV所利用。
邮件服务器在安装过程中不会生成唯一的密钥,如野生CISA KEV中所利用的。
LDAP GO软件包允许使用空密码身份验证旁路
GEEDBOOK的登录脚本允许通过将“ login_ok”参数设置为1来绕过身份验证。
管理员脚本允许通过将cookie值设置为“ loggedin”来绕过身份验证。
VoIP产品允许使用主机标头中的127.0.0.1身份验证旁路。
产品使用默认的“允许”操作,而不是默认拒绝,导致身份验证绕过。
链:无出口的重定向(CWE-698)导致生成的身份验证旁路。
产品不限制对关键服务的侦听端口的访问,从而可以绕过身份验证。
产品无法正确实现与安全相关的配置设置,从而允许身份验证绕过。
身份验证例程在某些情况下返回“ nil”,而不是“ false”,从而允许使用无效的用户名进行身份验证。
当管理员不选择任何身份验证模块时,身份验证更新脚本无法正确处理,从而允许身份验证绕过。
使用匿名绑定使用LDAP身份验证会导致空密码导致成功身份验证
如果用户提供的MD5哈希匹配其数据库中的哈希,则产品身份验证会成功;这可能会受到重播攻击。
链:产品使用恒定值与用户名共同生成可预测的MD5哈希,从而允许身份验证旁路。
+潜在的缓解

阶段:建筑和设计

策略:图书馆或框架

使用身份验证框架或库,例如OWASP ESAPI身份验证功能。
+检测方法

自动静态分析

自动静态分析可用于检测某些类型的身份验证。工具可能能够分析相关的配置文件,例如Apache Web服务器中的.htaccess,或检测常用身份验证库的使用。

通常,自动静态分析工具很难检测自定义身份验证方案。此外,该软件的设计可能包括任何用户可访问的功能,并且不需要已建立的身份;一种检测缺乏身份验证的自动化技术可能会报告误报。

有效性:有限

手动静态分析

可以使用需要手动分析的工具和技术来检测到这种弱点,例如渗透测试,威胁建模和交互式工具,使测试人员可以记录和修改活动会话。

手动静态分析对于评估自定义身份验证机制的正确性很有用。

有效性:高

笔记:这些可能比严格自动化的技术更有效。与设计和业务规则相关的弱点尤其如此。

手动静态分析 - 二进制或字节码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 二进制 / bytecode拆卸器 - 然后使用手动分析解决漏洞和异常

有效性:飙升

自动结果解释的动态分析

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • Web应用程序扫描仪
  • Web服务扫描仪
  • 数据库扫描仪

有效性:飙升

动态分析和手动结果解释

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 模糊测试仪
  • 基于框架的绒毛

有效性:飙升

手动静态分析 - 源代码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 手动源代码审查(不是检查)

有效性:飙升

自动静态分析 - 源代码

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 源代码弱点分析仪
  • 上下文配置的源代码弱点分析仪

有效性:飙升

自动静态分析

根据SOAR,以下检测技术可能很有用:

对部分覆盖的成本效益:
  • 配置检查器

有效性:飙升

建筑或设计评论

根据SOAR,以下检测技术可能很有用:

高度成本效益:
  • 检查(IEEE 1028标准)(可以适用于要求,设计,源代码等)
  • 正式的方法 /正确构造

有效性:高

+功能区域
  • 验证
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 635 NVD最初从2008年到2016年最初使用的弱点
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 718 OWASP前十大2007年A7类 - 破裂的身份验证和会话管理
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 724 OWASP 2004年前十大A3类 - 破裂的身份验证和会话管理
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 812 OWASP 2010年前十大类别A3-破裂的身份验证和会话管理
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 930 OWASP 2013年前十大A2类 - 破裂的身份验证和会话管理
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 947 SFP次要群集:身份验证旁路
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1003 简化已发表漏洞的弱点
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1028 OWASP前十名2017类A2类 - 破裂的身份验证
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1200 2019年CWE前25个最危险的软件错误中的弱点
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1337 2021 CWE中的弱点前25个最危险的软件弱点
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1350 2020年CWE前25个最危险的软件弱点中的弱点
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1353 OWASP前十2021年A07:2021-标识和身份验证失败
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 1387 2022 CWE中的弱点前25个最危险的软件弱点
+笔记

关系

这可能是由于SQL注入漏洞和其他问题所致。
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
plover 授权错误
OWASP 2007年前十名 A7 CWE更具体 破裂的身份验证和会话管理
OWASP 2004年前十名 A3 CWE更具体 破裂的身份验证和会话管理
WASC 1 身份验证不足
+参考
[Ref-236] Kim Zetter。“弱密码为Twitter Hacker带来'幸福'。2009-01-09。<http://www.wired.com/threatlevel/2009/01/professed-twitt/>。
[Ref-237] Owasp。“ 2007年10月10日验证和会话管理”。2007. <http://www.owasp.org/index.php/top_10_2007-a7>。
[Ref-238] Owasp。“身份验证指南”。<http://www.owasp.org/index.php/guide_to_authentication>。
[Ref-239] Microsoft。“验证”。<http://msdn.microsoft.com/en-us/library/aa374735(vs.85).aspx>。
[Ref-7] Michael Howard和David LeBlanc。“编写安全代码”。第4章“身份验证”第109页。第二版。Microsoft Press。2002-12-04。<https://www.microsoftpressstore.com/store/writing-secure-code-9780735617223>。
[Ref-1283]预言vedere实验室。“ OT:ICEFALF:“设计不安全”的遗产及其对认证和风险管理的影响”。2022-06-20。<https://www.forescout.com/resources/ot-icefall-report/>。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 plover
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-08-15 VeraCode
建议OWASP前十名2004年映射
2008-09-08 CWE内容团队 MITER
更新的备用_terms,common_consequences,关系,关系_notes,galsomy_mappings
2008-10-14 CWE内容团队 MITER
更新的关系
2009-01-12 CWE内容团队 MITER
更新的名称
2009-05-27 CWE内容团队 MITER
更新的描述,相关信息_attack_patterns
2009-07-27 CWE内容团队 MITER
更新的关系
2009-10-29 CWE内容团队 MITER
更新的common_ccessquences,obsoved_examples
2009-12-28 CWE内容团队 MITER
更新已更新的适用_platforms,common_consequences,expdiveative_examples,detection_factors,likelihood_of_exploit,参考
2010-02-16 CWE内容团队 MITER
更新的备用_terms,distion_factors,entife_Mitigations,参考,关系,分类_mappings
2010-06-21 CWE内容团队 MITER
更新的关系
2011-03-29 CWE内容团队 MITER
更新的关系
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2012-05-11 CWE内容团队 MITER
更新的关系
2013-07-17 CWE内容团队 MITER
更新的关系
2014-02-18 CWE内容团队 MITER
更新的关系
2014-06-23 CWE内容团队 MITER
更新的关系
2014-07-30 CWE内容团队 MITER
更新的detection_factor,关系
2015-12-07 CWE内容团队 MITER
更新的关系
2017-01-19 CWE内容团队 MITER
更新的关系
2017-05-03 CWE内容团队 MITER
更新相关的_attack_patterns,关系
2017-11-08 CWE内容团队 MITER
更新的示范_examples,likelihood_of_exploit,modes_of_introduction,参考,关系
2018-03-27 CWE内容团队 MITER
更新的引用,关系
2019-01-03 CWE内容团队 MITER
更新相关的_attack_patterns
2019-06-20 CWE内容团队 MITER
更新了Dexplyative_examples,Related_attack_patterns,关系
2019-09-19 CWE内容团队 MITER
更新的关系
2020-02-24 CWE内容团队 MITER
更新的关系
2020-08-20 CWE内容团队 MITER
更新的关系
2020-12-10 CWE内容团队 MITER
更新的关系
2021-03-15 CWE内容团队 MITER
更新的备用_terms,expeplyative_examples
2021-07-20 CWE内容团队 MITER
更新的关系
2021-10-28 CWE内容团队 MITER
更新的关系
2022-06-28 CWE内容团队 MITER
更新了观察到的示例,关系
2022-10-13 CWE内容团队 MITER
更新了适用的_platforms,expepdivative_examples,obseved_examples,参考,关系
+先前的输入名称
改变日期 先前的输入名称
2008-04-11 认证问题
2009-01-12 身份验证不足
提供更多信息 - 请选择其他过滤器。
页面最后更新:2022年10月13日