CWE

Common Weakness Enumeration

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

2021 CWE最重要的硬件弱点
CWE前25个最危险的弱点
Home>CWEList>CWE- Individual Dictionary Definition (4.9)
ID

CWE-307: Improper Restriction of Excessive Authentication Attempts

弱点ID:307
Abstraction:Base
结构:简单的
View customized information:
+Description
该产品没有采取足够的措施来防止在短时间内进行多次失败的身份验证尝试,从而使其更容易受到蛮力攻击。
+Relationships
Section Help该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+Relevant to the view "Research Concepts" (CWE-1000)
自然 Type ID 名称
Childof Class班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 799 Improper Control of Interaction Frequency
Childof Class班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 1390 弱身份验证
Section Help该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+Relevant to the view "Software Development" (CWE-699)
自然 Type ID 名称
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 1211 身份验证错误
Section Help该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+Relevant to the view "Weaknesses for Simplified Mapping of Published Vulnerabilities" (CWE-1003)
自然 Type ID 名称
Childof Class班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 287 Improper Authentication
Section Help该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“建筑概念”(CWE-1008)有关
自然 Type ID 名称
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 1010 Authenticate Actors
+介绍模式
Section Help引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
Architecture and Design 委员会:这种弱点是指与建筑安全策略相关的不正确设计。
+适用的平台
Section Help该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

Class: Not Language-Specific(Undetermined Prevalence)

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

技术影响:旁路保护机制

攻击者可以使用不同的密码进行任意数量的身份验证尝试,并最终访问目标帐户。
+Demonstrative Examples

Example 1

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

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

Example 2

The following code, extracted from a servlet's doPost() method, performs an authentication lookup every time the servlet is invoked.

(bad code)
Example Language:爪哇
字符串用户名= request.getParameter(“用户名”);
字符串密码= request.getParameter(“密码”);

int authResult = authenticateUser(用户名,密码);

However, the software makes no attempt to restrict excessive authentication attempts.

Example 3

该代码试图通过在完成身份验证之前导致该过程入睡来限制登录尝试的数量。

(bad code)
Example Language:PHP
$username = $_POST['username'];
$ password = $ _post ['password'];
睡眠(2000);
$ iSauthentication = AuthenticateUser($ username,$ password);

但是,并行连接没有限制,因此这不会增加攻击者完成攻击所需的时间。

Example 4

在以下C/C ++示例中,ValidateUser方法打开套接字连接,从套接字读取用户名和密码,并尝试对用户名和密码进行身份验证。

(bad code)
Example Language:C
int validateUser(char *host, int port)
{
int socket = opensocketConnection(主机,端口);
if (socket < 0) {
printf(“无法打开插座连接”);
return(FAIL);
}

int isValidUser = 0;
char用户名[username_size];
char password[PASSWORD_SIZE];

while (isValidUser == 0) {
if (getNextMessage(socket, username, USERNAME_SIZE) > 0) {
if(getNextMessage(套接字,密码,password_size)> 0){
isValidUser = AuthenticateUser(username, password);
}
}
}
返回(成功);
}

The validateUser method will continuously check for a valid username and password without any restriction on the number of authentication attempts made. The method should limit the number of authentication attempts made to prevent brute force attacks as in the following example code.

(good code)
Example Language:C
int validateUser(char *host, int port)
{
...

int count = 0;
while ((isValidUser == 0) && (count < MAX_ATTEMPTS)) {
if (getNextMessage(socket, username, USERNAME_SIZE) > 0) {
if(getNextMessage(套接字,密码,password_size)> 0){
isValidUser = AuthenticateUser(username, password);
}
}
count++;
}
if (isValidUser) {
返回(成功);
}
别的 {
return(FAIL);
}
}

Example 5

Consider this example from a real-world attack against the iPhone [REF-1218]。攻击者可以使用蛮力方法;每次发生失败的猜测时,攻击者都会在记录失败的条目之前迅速削减功率,从而有效地绕开了对失败身份验证尝试次数的预期限制。请注意,此攻击需要拆除手机电池并直接连接到手机的电源,并且蛮力攻击仍然很耗时。

+观察到的例子
Reference Description
网络操作系统的REST API具有高度的连接数量,允许蛮力密码猜测
多个登录失败后不会断开连接或超时。
多个登录失败后不会断开连接或超时。
多个登录失败后不会断开连接或超时。
多个登录失败后不会断开连接或超时。
多个登录失败后不会断开连接或超时。
User accounts not disabled when they exceed a threshold; possibly a resultant problem.
+潜在的缓解

阶段: Architecture and Design

常见的保护机制包括:

  • Disconnecting the user after a small number of failed attempts
  • 实施超时
  • 锁定目标帐户
  • 需要用户的一项计算任务。

阶段: Architecture and Design

Strategy: Libraries or Frameworks

Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

Consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator. [Ref-45这是给予的

+Detection Methods

Dynamic Analysis with Automated Results Interpretation

According to SOAR, the following detection techniques may be useful:

Highly cost effective:
  • Web应用程序扫描仪
  • Web服务扫描仪
  • 数据库扫描仪
Cost effective for partial coverage:
  • 基于主机的漏洞扫描仪 - 检查缺陷的配置,验证审核机制是否有效,确保主机配置符合某些预定义条件

有效性:高

动态分析和手动结果解释

According to SOAR, the following detection techniques may be useful:

Highly cost effective:
  • 模糊测试仪
  • Framework-based Fuzzer
Cost effective for partial coverage:
  • 强制路径执行

有效性:高

手动静态分析 - 源代码

According to SOAR, the following detection techniques may be useful:

Highly cost effective:
  • Focused Manual Spotcheck - Focused manual analysis of source
  • 手动源代码审查(不是检查)

有效性:高

自动静态分析 - 源代码

According to SOAR, the following detection techniques may be useful:

Cost effective for partial coverage:
  • 源代码弱点分析仪
  • 上下文配置的源代码弱点分析仪

Effectiveness: SOAR Partial

Automated Static Analysis

According to SOAR, the following detection techniques may be useful:

Cost effective for partial coverage:
  • 配置检查器

Effectiveness: SOAR Partial

Architecture or Design Review

According to SOAR, the following detection techniques may be useful:

Highly cost effective:
  • 正式的方法 /正确构造
Cost effective for partial coverage:
  • 检查(IEEE 1028标准)(可以适用于要求,设计,源代码等)

有效性:高

+会员资格
Section HelpThis MemberOf Relationships table shows additional CWE Categories and Views that reference this weakness as a member. This information is often useful in understanding where a weakness fits within the context of external information sources.
自然 Type ID 名称
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 724 OWASP 2004年前十大A3类 - 破裂的身份验证和会话管理
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 808 2010 Top 25 - Weaknesses On the Cusp
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 812 OWASP 2010年前十大类别A3-破裂的身份验证和会话管理
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 866 2011年前25名 - 多孔防御
MemberOf View查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 884 CWE横截面
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 955 SFP Secondary Cluster: Unrestricted Authentication
MemberOf 类别类别- a CWE entry that contains a set of other entries that share a common characteristic. 1353 OWASP Top Ten 2021 Category A07:2021 - Identification and Authentication Failures
+Taxonomy Mappings
Mapped Taxonomy Name Node ID 合身 Mapped Node Name
plover Authent.MultFail Multiple Failed Authentication Attempts not Prevented
软件故障模式 SFP34 无限制的身份验证
+参考
[REF-45] OWASP. "OWASP Enterprise Security API (ESAPI) Project". <http://www.owasp.org/index.php/esapi>。
[Ref-236] Kim Zetter。“弱密码为Twitter Hacker带来'幸福'。2009-01-09。<http://www.wired.com/threatlevel/2009/01/professed-twitt/>。
[REF-1218] Graham Cluley. "This Black Box Can Brute Force Crack iPhone PIN Passcodes". The Mac Security Blog. 2015-03-16. <https://www.intego.com/mac-security-blog/iphone-pin-pass-code/>。
+内容历史记录
+Submissions
提交日期 Submitter Organization
2006-07-19 plover
+修改
修改日期 修饰符 Organization
2008-07-01 Sean Eidemiller 雪茄
添加/更新的示例
2008-09-08 CWEContent Team MITER
更新的关系,分类_mappings
2009-03-10 CWEContent Team MITER
updated Relationships
2009-07-27 CWEContent Team MITER
更新了观察到的examples
2009-12-28 CWEContent Team MITER
更新了适用的_platforms,示例_examples,势_mitigations
2010-02-16 CWEContent Team MITER
更新了示范示例,姓名,势_METIGATIONS,关系,分类_mappings
2010-04-05 CWEContent Team MITER
更新了示范_examples
2011-03-29 CWEContent Team MITER
更新了示范_examples
2011-06-01 CWEContent Team MITER
更新的common_cconsquences
2011-06-27 CWEContent Team MITER
更新的common_cessquences,Related_attack_patterns,关系
2011-09-13 CWEContent Team MITER
updated Potential_Mitigations, References, Relationships
2012-05-11 CWEContent Team MITER
updated Relationships
2014-07-30 CWEContent Team MITER
更新的detection_factor,关系,分类_mappings
2017-11-08 CWEContent Team MITER
更新了示范_examples, Modes_of_Introduction, Relationships
2019-06-20 CWEContent Team MITER
更新了示范_examples, Relationships
2020-02-24 CWEContent Team MITER
更新的detection_factor,关系
2020-08-20 CWEContent Team MITER
更新相关的_attack_patterns
2021-10-28 CWEContent Team MITER
更新了示范示例,参考,关系
2022-10-13 CWEContent Team MITER
更新了示范_examples, Description, Observed_Examples, References, Relationships
+先前的输入名称s
Change Date 先前的输入名称
2008-04-11 Multiple Failed Authentication Attempts not Prevented
2010-02-16 未能限制过多的身份验证尝试
More information is available — Please select a different filter.
页面最后更新:2022年10月13日