 描述
产品包含一个硬编码的密码,它使用的入站出站通信的身份验证或外部组件。
 扩展描述
一个硬编码的密码通常会导致一个重要的身份验证失败,可以让系统管理员难以检测。一旦发现,很难解决,所以管理员可能会被迫完全禁用产品。主要有两个变化:
入站:产品包含一个检查一个硬编码的密码的身份验证机制。
出站:产品连接到另一个系统或组件,它包含硬编码的密码连接到该组件。
在入站变体,一个默认的政府创建账户,和一个简单的密码是硬编码到产品和与该账户关联。这个硬编码的密码是相同的对于每一个产品的安装,它通常由系统管理员无法改变或禁用没有手动修改程序,或修补产品。如果密码是发现或发表(一个在互联网上常见),然后有人用这个密码就可以访问产品的知识。最后,因为所有产品的安装将有相同的密码,甚至在不同的组织中,这使得大规模攻击如蠕虫。
出站变体适用于前端与后端服务系统进行身份验证。后端服务可能需要一个固定的密码,可以很容易地发现。程序员可能只是硬编码这些后端凭证到前端产品。任何用户的程序可以提取密码。客户端使用硬编码的密码系统构成更大的威胁,因为密码的提取从一个二进制通常是非常简单的。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
798年 |
使用硬编码的凭证 |
PeerOf |
变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 |
321年 |
使用硬编码的加密密钥 |
PeerOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
257年 |
可恢复的格式存储的密码 |
光束 |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
656年 |
通过模糊的安全的依赖 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关视图”架构概念”(cwe - 1008)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1010年 |
验证的演员 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”方案及质量的措施(2020)”(CWE-1305)
自然 |
类型 |
ID |
的名字 |
ChildOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
798年 |
使用硬编码的凭证 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”方案及数据保护措施”(cwe - 1340)
自然 |
类型 |
ID |
的名字 |
ChildOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
798年 |
使用硬编码的凭证 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
实现 |
实现:造成这一弱点在建筑安全策略的实施。 |
架构和设计 |
|
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制
|
如果使用硬编码的密码,基本上可以肯定的是,恶意用户将获得通过账户的问题。 |
|
 利用的可能性
 示范例子
示例1
下面的代码使用一个硬编码的密码连接到一个数据库:
… DriverManager。getConnection (url,”斯科特”、“老虎”); …
这是一个例子的外部硬编码的密码的客户端连接。这段代码将成功运行,但访问的人都将获得密码。项目已经运送,没有从数据库返回的用户与密码“斯科特”“老虎”,除非程序打补丁。狡猾的员工访问此信息可以使用它来进入系统。更糟糕的是,如果攻击者可以访问应用程序的字节码,他们可以使用javap - c命令访问反汇编代码,它将包含的值所使用的密码。这个操作的结果可能类似于上面的示例如下:
javap - c ConnMngr.class
22:ldc # 36;/ /字符串jdbc: mysql / /ixne.com/rxsql 24:ldc # 38;/ /字符串斯科特 26日:ldc # 17;/ /字符串老虎
示例2
下面的代码的一个例子是一个内部后端中硬编码的密码:
int VerifyAdmin (char *密码){
如果(strcmp(密码,“海鸥!”)){
printf("口令不正确! \ n "); 返回(0)
} printf("进入诊断模式…\ n”); 返回(1);
}
int VerifyAdmin(字符串密码){
如果(! password.equals(新!)){
返回(0) } / /诊断模式 返回(1); }
这个项目的每个实例可以放入诊断模式使用相同的密码。更糟的是,如果这个项目分布的二进制只读分布符合,很难改变密码或禁用这个功能。”
示例3
下面的例子展示的部分属性和配置文件为Java和ASP。网络应用程序。文件包含用户名和密码信息,但他们在明文存储。
这个Java示例显示了一个属性文件明文用户名/密码对。
# Java Web应用程序ResourceBundle属性文件
… webapp.ldap.username = secretUsername webapp.ldap.password = secretPassword …
下面的例子展示了一个配置文件的一部分ASP。网络应用程序。这个配置文件包含连接到数据库的用户名和密码信息,但对存储在明文。
… < connectionStrings >
<添加名称= connectionString =“ud_DEV connectDB = uDB;uid = db2admin;pwd =密码;dbalias = uDB; System.Data providerName =。Odbc " / > < / connectionStrings > …
用户名和密码信息不应包括在一个配置文件或一个属性文件明文这将允许任何人可以读取文件访问资源。如果可能的话,这个信息加密。
示例4
2022年,OT:冰崩研究调查了10个不同的操作技术(OT)供应商的产品。研究人员报道,56个漏洞,说产品是“不安全的设计”(ref - 1283]。如果这些漏洞利用,往往让对手改变产品运营,从拒绝服务改变产品执行的代码。因为这些产品经常被应用于行业,如电力、电气、水,和其他人,甚至会出现安全问题。
多个供应商使用硬编码的证书在他们的产品。
 观察到的例子
参考 |
描述 |
|
分布式控制系统(DCS)硬编码为当地的shell访问密码 |
|
|
 潜在的缓解措施
阶段:体系结构和设计
出站身份验证:密码之外的代码存储在一个强烈保护,加密配置文件或数据库受访问的所有外人,包括其他本地用户在同一个系统上。妥善保护的关键( cwe - 320)。如果你不能使用加密来保护文件,然后确保尽可能严格的权限。 |
阶段:体系结构和设计
入站认证:而不是硬编码一个默认为首次登录的用户名和密码,利用一个“首次登录”模式,需要用户输入一个独特的强密码。 |
阶段:体系结构和设计
执行访问控制检查,限制哪些实体可以访问功能,需要硬编码的密码。例如,一个特性可能只有通过系统控制台,而不是通过一个网络连接。 |
阶段:体系结构和设计
对于入站认证:应用强有力的单向散列密码和那些散列存储在一个配置文件或数据库以适当的访问控制。这样,窃取文件/数据库仍然需要攻击者试图破解密码。当收到期间传入密码身份验证,密码的哈希和比较哈希,你救了。
使用随机分配为每个单独的散列,生成盐。这增加的计算量,攻击者需要进行强力攻击,这可能限制彩虹表法的有效性。
|
阶段:体系结构和设计
前端到后端连接:三个解决方案是可行的,尽管没有人完成。
第一个建议是使用自动生成的密码,改变,必须在给定的时间间隔输入系统管理员。这些密码将在内存中,只有有效的时间间隔。
接下来,使用的密码应该是有限的后端只执行操作有效的前端,而不是完整的访问。
最后,发送的消息应该标记和校验和时间敏感值,防止重放攻击方式。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
这个弱点可以检测使用的工具和技术,需要手动(人类)的分析,如渗透测试、威胁建模和交互工具,允许测试人员记录和修改一个活跃的会话。
注意:这些可能是更有效的比严格的自动化技术。尤其如此弱点设计和相关的业务规则。 |
黑盒
使用监控工具,检查软件的流程与操作系统交互和网络。这种技术的情况很有用的源代码不可用,如果软件并不是由你,或者如果你想验证构建阶段并没有引入任何新的弱点。例子包括调试器直接附加到正在运行的进程;系统调用跟踪实用程序,如桁架(Solaris)和strace (Linux);系统活动监视器如FileMon、RegMon、过程监控、和其他的Sysinternals工具(Windows);嗅探器和协议分析,监控网络流量。
把监控和执行登录过程。使用反汇编代码,看看相关的指令,看看他们中的任何一个似乎比较固定的输入字符串或价值。
|
自动静态分析
自动静态分析,通常被称为静态应用程序安全性测试(科协),可以找到一些实例的这个弱点分析源代码或二进制/编译后的代码,而不必执行它。通常情况下,这是通过建立一个模型的数据流和控制流,然后寻找潜在攻击模式,连接“源”与“下沉”(输入)的起源(目的地数据与外部组件交互,较低的层,如操作系统,等等)。
|
 会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
 脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这个CWE条目是变体的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
 笔记
维护
这个条目可以分成多个变体:一个入站变体(见第二个示范例子)和出站变体(见第一个示范例子)。这些变异可能有不同的影响,检测能力,等。更重要的是,从脆弱性理论的角度来看,他们可以被描述为不同的行为。
 分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
7有害的王国 |
|
|
密码管理:硬编码的密码 |
扣 |
|
|
使用硬编码的密码 |
OWASP十大2004 |
A3 |
CWE更具体 |
破碎的认证和会话管理 |
CERT甲骨文安全Java编码标准(2011) |
MSC03-J |
|
不要硬编码敏感信息 |
软件故障模式 |
SFP33 |
|
硬编码的敏感数据 |
 引用
|
迈克尔•霍华德(REF-44)大卫·勒布朗和Viega约翰。软件安全的“24宗罪”。“罪19:使用弱密码的系统。”Page 279. McGraw-Hill. 2010. |
|
|
|
 内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2006-07-19 (CWE草案3,2006-07-19) |
7有害的王国 |
|
|
修改 |
修改日期 |
修饰符 |
组织 |
2008-07-01 |
Eric Dalci |
Cigital |
更新Time_of_Introduction |
2008-08-01 |
|
股的分析 |
添加/更新白盒定义 |
2008-08-15 |
|
Veracode |
建议OWASP 2004年排名前十的映射 |
2008-09-08 |
CWE内容团队 |
主教法冠 |
更新Common_Consequences、人际关系、Other_Notes Taxonomy_Mappings Weakness_Ordinalities |
2008-10-14 |
CWE内容团队 |
主教法冠 |
更新描述,Potential_Mitigations |
2008-11-13 |
CWE内容团队 |
主教法冠 |
重要描述修改强调不同的变体。 |
2008-11-24 |
CWE内容团队 |
主教法冠 |
Demonstrative_Examples更新,描述、Maintenance_Notes Other_Notes Potential_Mitigations |
2009-01-12 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples、描述Maintenance_Notes Potential_Mitigations,关系 |
2009-03-10 |
CWE内容团队 |
主教法冠 |
更新Potential_Mitigations |
2009-07-17 |
股的分析 |
|
改善了White_Box_Definition |
2009-07-27 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples、Related_Attack_Patterns White_Box_Definitions |
2010-02-16 |
CWE内容团队 |
主教法冠 |
Demonstrative_Examples更新,描述、Detection_Factors名字,Potential_Mitigations、人际关系 |
2010-04-05 |
CWE内容团队 |
主教法冠 |
更新Applicable_Platforms |
2010-06-21 |
CWE内容团队 |
主教法冠 |
更新Detection_Factors Potential_Mitigations |
2010-09-27 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2010-12-13 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2011-06-01 |
CWE内容团队 |
主教法冠 |
更新Common_Consequences Potential_Mitigations,关系,Taxonomy_Mappings |
2012-05-11 |
CWE内容团队 |
主教法冠 |
更新引用关系,Taxonomy_Mappings |
2012-10-30 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples |
2014-07-30 |
CWE内容团队 |
主教法冠 |
更新的关系,Taxonomy_Mappings |
2015-12-07 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples |
2017-01-19 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
2017-05-03 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
2017-11-08 |
CWE内容团队 |
主教法冠 |
更新Causal_Nature、Demonstrative_Examples Likelihood_of_Exploit Modes_of_Introduction,关系,White_Box_Definitions |
2019-01-03 |
CWE内容团队 |
主教法冠 |
更新的关系,Taxonomy_Mappings |
2019-06-20 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
2020-02-24 |
CWE内容团队 |
主教法冠 |
更新引用、关系类型 |
2020-08-20 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2020-12-10 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2021-03-15 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples Maintenance_Notes |
2021-10-28 |
CWE内容团队 |
主教法冠 |
更新的关系 |
2022-10-13 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples Observed_Examples,引用 |
2023-01-31 |
CWE内容团队 |
主教法冠 |
更新Applicable_Platforms、描述 |
2023-04-27 |
CWE内容团队 |
主教法冠 |
更新Detection_Factors、引用关系 |
2023-06-29 |
CWE内容团队 |
主教法冠 |
更新Mapping_Notes |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2010-02-16 |
硬编码的密码 |
|
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|