CWE

常见的弱点枚举

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

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

cwe - 494:下载的代码没有完整性检查

弱点ID: 494
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品下载源代码或从远程位置和执行一个可执行的代码没有充分验证代码的来源和完整性。
+扩展描述
攻击者可以通过牺牲主机服务器执行恶意代码,执行DNS欺骗,在运输途中或修改代码。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 669年 不正确的资源领域之间的转移
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 345年 验证数据的真实性不足
PeerOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 79年 中和不当输入在Web页面生成(“跨站点脚本编制”)
光束 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 79年 中和不当输入在Web页面生成(“跨站点脚本编制”)
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关观点“软件开发”(cwe - 699)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1214年 数据完整性问题
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 类型 ID 的名字
ChildOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 669年 不正确的资源领域之间的转移
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关视图”架构概念”(cwe - 1008)
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1020年 验证消息的完整性
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计 遗漏:这个弱点是由于缺少一个安全策略在体系结构和设计阶段。
实现
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

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

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

技术的影响:执行未经授权的代码或命令;改变执行逻辑;其他

执行不受信任的代码可以妥协程序的控制流。不受信任的代码可以执行attacker-controlled命令,读取或修改敏感资源,或防止软件合法用户的正常。
+利用的可能性
媒介
+示范例子

示例1

这个例子从本地加载外部类子目录。

(坏的代码)
例如语言:Java
URL新URL [] [] classURLs = {
新的URL(“文件:子目录/”)
};
URLClassLoader装载机= new URLClassLoader (classURLs);
类loadedClass =类。forName (“loadMe”,的确,加载程序);

这段代码并不能保证类加载的目的,例如通过验证类的校验和。攻击者可能会修改类文件执行恶意代码。

示例2

这段代码包含一个外部脚本数据库证书,然后对数据库验证用户,允许访问应用程序。

(坏的代码)
例如语言:PHP
/ /假设已经加密的密码,避免cwe - 312

功能验证(用户名、密码)美元{

包括(“http://external.example.com/dbInfo.php”);

/ / dbInfo。php使dbhost美元,dbus dbpass, dbname可用美元美元
mysql_connect (dbhost, dbus美元,美元dbpass)或死亡(“错误连接到mysql”);
mysql_select_db(美元dbname);
从用户查询美元= ' Select *用户名= '。美元的用户名。美元= ' '和密码。密码;
美元$结果= mysql_query(查询);

如果(mysql_numrows(美元)= = 1){
mysql_close ();
返回true;
}
其他{
mysql_close ();
返回错误;
}

}

这段代码并不验证外部域访问预期的影响。攻击者可能会以某种方式导致外部域名解决攻击服务器,这将提供虚假的信息数据库。攻击者可能会窃取用户名和加密密码的用户登录尝试,或者只是让自己没有真正的用户帐户访问该应用程序。

这个例子也容易Adversary-in-the-Middle AITM (cwe - 300)攻击。

+观察到的例子
参考 描述
卫星电话并不验证其固件图像。
链:路由器的固件更新过程使用curl - k”(不安全)选项,禁用验证证书(cwe - 295),允许adversary-in-the-middle (AITM)与恶意固件图像(妥协cwe - 494)。
操作系统并不验证真实性的更新。
在线扑克客户端不核实真实性的更新。
反病毒产品并不验证自动更新。
VOIP电话从网站下载应用程序没有验证的完整性。
+潜在的缓解措施

实施阶段:

执行适当的正向和反向DNS查找检测DNS欺骗。
注意:这只是一个部分解决方案,因为它不会阻止你的代码被修改的托管站点或在运输途中。

阶段:体系结构和设计;操作

加密传输之前代码与可靠的加密方案。

这只会是一个部分解决方案,因为它不会检测DNS欺骗,它不会阻止您的代码修改托管网站。

阶段:体系结构和设计

策略:库或框架

使用审查库或框架不允许这个弱点发生或提供了结构,使这个弱点更容易避免的。

Speficially,它可能有助于使用工具或框架来对传播执行完整性检查代码。

  • 提供下载的代码时,比如软件的自动更新,然后使用加密签名的代码和修改下载客户端验证签名。确保实现不包含cwe - 295,cwe - 320,cwe - 347和相关的弱点。
  • 使用代码签名Authenticode等技术。看到引用(ref - 454][ref - 455][ref - 456]。

阶段:体系结构和设计;操作

策略:环境硬化

使用所需的最低特权运行您的代码来完成必要的任务(ref - 76]。如果可能的话,创建独立帐户权限有限,只用于一个任务。这样,一个成功的攻击不会立即给攻击者访问其他软件或其环境。例如,数据库应用程序很少需要作为数据库管理员运行,特别是在日常操作。

阶段:体系结构和设计;操作

策略:沙盒或监狱

运行代码的“监狱”或类似沙箱环境执行严格的流程和操作系统之间的边界。这可能有效地限制哪些文件可以在一个特定的目录或访问哪些命令可以执行的软件。

操作系统的例子包括Unix chroot监狱,AppArmor对,SELinux。在一般情况下,托管代码可能会提供一些保护。例如,java。在Java SecurityManager FilePermission允许软件指定文件操作的限制。

这可能不是一个可行的解决方案,它只限制对操作系统的影响;应用程序的其余部分可能仍然接受妥协。

应该注意避免cwe - 243和其他相关弱点监狱。

有效性:有限

注意:这种缓解的有效性取决于特定的沙盒或监狱的预防功能使用,只可能有助于减少攻击的范围,比如限制攻击者对特定文件系统的系统调用或限制部分,可以访问。
+检测方法

手动分析

这个弱点可以检测使用的工具和技术,需要手动(人类)的分析,如渗透测试、威胁建模和交互工具,允许测试人员记录和修改一个活跃的会话。

具体地说,人工静态分析通常需要找到触发下载代码的行为,并确定是否使用集成检测方法。

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

黑盒

使用监控工具,检查软件的流程与操作系统交互和网络。这种技术的情况很有用的源代码不可用,如果软件并不是由你,或者如果你想验证构建阶段并没有引入任何新的弱点。例子包括调试器直接附加到正在运行的进程;系统调用跟踪实用程序,如桁架(Solaris)和strace (Linux);系统活动监视器如FileMon、RegMon、过程监控、和其他的Sysinternals工具(Windows);嗅探器和协议分析,监控网络流量。

把监控过程和嗅探网络连接。触发特性相关的产品更新或插件安装,这可能会迫使一个代码下载。监控当文件被下载和单独执行,或者如果他们否则读回的过程。寻找证据的密码库调用使用完整性检查。

+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 752年 2009年前25 -资源管理风险
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 802年 2010年前25 -资源管理风险
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 859年 CERT甲骨文安全Java编码标准(2011)第十六章-平台安全(SEC)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 865年 2011年前25 -资源管理风险
MemberOf 视图视图——CWE条目的一个子集,它提供了一种检查CWE的内容。两个主要视图结构片(列表)和图(包含条目之间的关系)。 884年 CWE横截面
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 991年 SFP二级集群:污染环境的输入
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1354年 OWASP 2021年十大类别A08:2021——软件和数据完整性的失败
+笔记

研究的差距

这对于移动代码是至关重要的,但它很可能会变得越来越常见,因为开发人员继续采用自动化、基于网络的产品分布和升级。软件即服务(SaaS)可能会引入额外的微妙之处。常见的开发场景可能包括广告服务器的妥协和坏的升级。
+分类法映射
映射分类名称 节点ID 适合 映射节点名
调用不可信移动代码
CERT甲骨文安全Java编码标准(2011) SEC06-J 不依赖于默认提供的自动签名验证URLClassLoader java.util.jar
软件故障模式 SFP27 污染环境的输入
+引用
微软(ref - 454)。“介绍代码签名”。<http://msdn.microsoft.com/en-us/library/ms537361 (VS.85) . aspx>。
微软(ref - 455)。“Authenticode”。<http://msdn.microsoft.com/en-us/library/ms537359 (v = VS.85) . aspx>。
苹果(ref - 456)。“代码签名指南”。苹果开发者联系。2008-11-19。<http://developer.apple.com/documentation/Security/Conceptual/CodeSigningGuide/Introduction/chapter_1_section_1.html>。
安东尼·Bellissimo [ref - 457]约翰·伯吉斯和凯文傅。“安全软件更新:失望和新的挑战”。<http://prisms.cs.umass.edu/ kevinfu /论文/ secureupdates-hotsec06.pdf>。
迈克尔•霍华德(REF-44)大卫·勒布朗和Viega约翰。软件安全的“24宗罪”。“罪孽18:移动代码的罪过。”Page 267. McGraw-Hill. 2010.
[ref - 459]约翰内斯·乌尔里希。“前25系列——排名20 -下载的代码没有完整性检查”。无软件安全研究所。2010-04-05。<http://blogs.sans.org/appsecstreetfighter/2010/04/05/top-25-series-rank-20-download-code-integrity-check/>。
(ref - 76)肖恩·巴纳姆和迈克尔Gegick。“最小特权”。2005-09-14。<https://www.cisa.gov/uscert/bsi/articles/knowledge/principles/least-privilege>。
[REF-18]安全软件公司. .“扣应用程序安全性的过程”。2005年。<https://cwe.mitre.org/documents/sources/TheCLASPApplicationSecurityProcess.pdf>。
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes Taxonomy_Mappings
2009-01-12 CWE内容团队 主教法冠
Applicable_Platforms更新,Common_Consequences、描述、名称、Other_Notes, Potential_Mitigations,引用关系,Research_Gaps、类型
2009-03-10 CWE内容团队 主教法冠
更新Potential_Mitigations
2009-07-27 CWE内容团队 主教法冠
更新描述、Observed_Examples Related_Attack_Patterns
2010-02-16 CWE内容团队 主教法冠
更新Detection_Factors、引用关系
2010-04-05 CWE内容团队 主教法冠
更新Applicable_Platforms
2010-06-21 CWE内容团队 主教法冠
更新Common_Consequences Detection_Factors Potential_Mitigations,引用
2010-09-27 CWE内容团队 主教法冠
更新Potential_Mitigations,引用
2010-12-13 CWE内容团队 主教法冠
更新Potential_Mitigations
2011-03-29 CWE内容团队 主教法冠
更新Demonstrative_Examples
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2011-06-27 CWE内容团队 主教法冠
更新的关系
2011-09-13 CWE内容团队 主教法冠
更新Potential_Mitigations,引用
2012-05-11 CWE内容团队 主教法冠
更新引用关系,Taxonomy_Mappings
2012-10-30 CWE内容团队 主教法冠
更新Potential_Mitigations
2014-07-30 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2017-11-08 CWE内容团队 主教法冠
更新Modes_of_Introduction、引用关系
2019-01-03 CWE内容团队 主教法冠
更新Taxonomy_Mappings
2019-06-20 CWE内容团队 主教法冠
更新Related_Attack_Patterns、人际关系
2020-02-24 CWE内容团队 主教法冠
更新Demonstrative_Examples、人际关系
2020-08-20 CWE内容团队 主教法冠
更新的关系
2020-12-10 CWE内容团队 主教法冠
更新Demonstrative_Examples
2021-03-15 CWE内容团队 主教法冠
更新引用,Related_Attack_Patterns
2021-07-20 CWE内容团队 主教法冠
更新Demonstrative_Examples
2021-10-28 CWE内容团队 主教法冠
更新Observed_Examples、人际关系
2022-10-13 CWE内容团队 主教法冠
更新引用,Related_Attack_Patterns
2023-01-31 CWE内容团队 主教法冠
更新Related_Attack_Patterns
+以前的条目名称
改变日期 以前的条目名称
2008-04-11 移动代码:调用不可信的移动代码
2009-01-12 下载不可信移动代码没有完整性检查
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日