描述
产品执行一个操作在一个特权级别高于所需的最低水平,这创造了新的弱点或者其他弱点放大的后果。
扩展描述
新的弱点暴露,因为使用额外的特权,如根或管理员,可以禁用正常安全检查被执行的操作系统或周围的环境。其他已存在的弱点可以变成安全漏洞,如果他们出现在操作提高特权。
权限管理功能可以在一些不那么显而易见的行为方式,他们有不同的特性在不同的平台上。如果你是这些矛盾尤其明显转变从一个非根用户到另一个地方。信号处理程序,并催生了进程运行在过程拥有的特权,如果作为根用户运行过程执行信号火灾或子流程时,信号处理器或子流程将使用root特权操作。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然
类型
ID
的名字
MemberOf
类别——CWE条目包含一组其他条目,共享一个共同的特点。
265年
权限的问题
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关视图”架构概念”(cwe - 1008)
自然
类型
ID
的名字
MemberOf
类别——CWE条目包含一组其他条目,共享一个共同的特点。
1015年
限制访问
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段
请注意
实现
实现:造成这一弱点在建筑安全策略的实施。
安装
架构和设计
如果一个应用程序设计问题,那么它可以开发人员更容易使履约相关错误等cwe - 271 (特权下降/降低错误)。此外,特权的后果链接(cwe - 268 )会变得更严重。
操作
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围
影响
可能性
保密 完整性 可用性 访问控制
技术的影响: 获得特权或假设的身份;执行未经授权的代码或命令;阅读应用程序数据;DoS:崩溃,退出或重新启动
攻击者可以访问任何资源所允许的额外的特权。常见的结果包括执行代码,禁用服务,和阅读限制数据。
利用的可能性
示范例子
示例1
这段代码暂时提高了程序的权限允许用户创建一个新的文件夹。
def makeNewUserDir(用户名):
如果invalidUsername(用户名):
试一试:
raisePrivileges () 操作系统。mkdir (“/ home /”+用户名) lowerPrivileges ()
除了OSError:
打印('无法为用户创造新的用户目录:“+用户名) 返回假
还真
在程序仅提高特权级别创建文件夹并立即再次降低,如果调用os.mkdir()抛出一个异常,调用lowerPrivileges()将不会发生。结果,计划无限期地在凸起的特权经营状态,可能导致出现进一步的开发。
示例2
下面的代码调用chroot()来限制应用程序下面的文件系统的一个子集APP_HOME为了阻止攻击者使用程序未经授权地访问文件位于其他位置。由用户指定的代码然后打开一个文件和过程文件的内容。
chroot (APP_HOME); 目录(“/”); 文件*数据= fopen (argv [1],“r +”); …
限制应用程序的主目录内的过程在打开任何文件之前是一个宝贵的安全措施。然而,没有调用setuid()和一些非零值意味着应用程序继续与不必要的root特权操作。任何成功的利用由攻击者对应用程序现在可以导致特权升级攻击因为任何恶意操作将超级用户的权限执行。如果应用程序的特权级别滴一个非根用户,潜在的损失明显减少。
示例3
这个应用程序将使用用户的位置来确定用户的时区:
locationClient = new locationClient(这个,这个,这个); locationClient.connect (); userCurrLocation位置; userCurrLocation = locationClient.getLastLocation (); setTimeZone (userCurrLocation);
这是不必要的使用位置的API,这些信息已经可以使用Android API。总是一定没有的另一种方式获得需要的信息在诉诸使用位置API。
示例4
这段代码使用位置来确定用户的当前我们国家的位置。
首先应用程序必须声明,它需要在应用程序的manifest.xml ACCESS_FINE_LOCATION许可:
< uses-permission android: name = " android.permission.ACCESS_FINE_LOCATION " / >
在执行期间,调用getLastLocation()将返回一个基于位置的应用程序的位置的权限。在这种情况下,应用程序允许最准确的位置:
locationClient = new locationClient(这个,这个,这个); locationClient.connect (); userCurrLocation位置; userCurrLocation = locationClient.getLastLocation (); deriveStateFromCoords (userCurrLocation);
当应用程序需要这些信息,它不需要使用ACCESS_FINE_LOCATION许可,随着ACCESS_COARSE_LOCATION许可足以识别哪些我们国家的用户。
观察到的例子
参考
描述
某些操作系统上的FTP客户端程序运行setuid特权和缓冲区溢出。大多数客户不需要额外的特权,所以一个溢出为这些客户不是一个漏洞。
程序运行在特权和调用另一个程序使用相同的特权,它允许读取任意文件。
操作系统错误与setuid特权安装一个程序,允许用户获得特权。
程序也不删除权限调用另一个程序之前,允许代码执行。
setuid root程序允许通过命令行参数创建任意文件。
安装脚本安装一些程序setuid时不应该。
邮件程序作为根用户运行但不放弃特权之前试图访问一个文件。攻击者可以使用一个符号链接的主目录根目录只可读,然后确定该文件是否存在基于响应。
潜在的缓解措施
阶段:体系结构和设计;操作
使用所需的最低特权运行您的代码来完成必要的任务(
ref - 76 ]。如果可能的话,创建独立帐户权限有限,只用于一个任务。这样,一个成功的攻击不会立即给攻击者访问其他软件或其环境。例如,数据库应用程序很少需要作为数据库管理员运行,特别是在日常操作。
阶段:体系结构和设计
阶段:体系结构和设计
实施阶段:
执行广泛的输入验证任何特权的代码必须暴露给用户并拒绝任何不适合您的严格要求。
实施阶段:
当放弃特权,确保他们已经成功地避免下降
cwe - 273 。保护机制的环境变得更强壮,privilege-dropping调用可能会失败,即使它似乎他们总是成功。
实施阶段:
如果环境迫使你运行额外的特权,然后确定必要的最低访问级别。首先识别软件的不同的权限和用户需要执行他们的行为,如文件读写权限,网络套接字权限,等等。然后明确允许这些行为而否定一切
ref - 76 ]。执行广泛的输入验证和规范化引入一个单独的漏洞的可能性降到最低。这种缓解比放弃更容易出错的特权。
阶段:操作;系统配置
确保软件运行正常在美国政府配置基线(USGCB) [
ref - 199 或一个等价的硬化配置指南,许多组织使用限制部署软件的攻击表面和潜在风险。
检测方法
手动分析
这个弱点可以检测使用的工具和技术,需要手动(人类)的分析,如渗透测试、威胁建模和交互工具,允许测试人员记录和修改一个活跃的会话。
注意: 这些可能是更有效的比严格的自动化技术。尤其如此弱点设计和相关的业务规则。
黑盒
使用监控工具,检查软件的流程与操作系统交互和网络。这种技术的情况很有用的源代码不可用,如果软件并不是由你,或者如果你想验证构建阶段并没有引入任何新的弱点。例子包括调试器直接附加到正在运行的进程;系统调用跟踪实用程序,如桁架(Solaris)和strace (Linux);系统活动监视器如FileMon、RegMon、过程监控、和其他的Sysinternals工具(Windows);嗅探器和协议分析,监控网络流量。
把监控和执行登录过程。寻找库函数和系统调用表明当特权被提高或下降。寻找资源的访问限制普通用户。
注意: 注意,这种技术只适用于特权与系统资源有关的问题。它不可能检测应用程序级业务规则相关的特权,例如如果一个博客系统允许用户删除一个博客条目没有首先检查用户拥有管理员权限。
自动静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
字节码的弱点分析,包括反汇编程序+源代码弱点分析
二进制弱点分析,包括反汇编程序+源代码弱点分析
人工静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
动态分析与自动化的结果解释
根据飙升,以下检测技术可能是有用的:
动态分析与人工解释结果
根据飙升,以下检测技术可能是有用的:
人工静态分析源代码
根据飙升,以下检测技术可能是有用的:
自动静态分析源代码
根据飙升,以下检测技术可能是有用的:
源代码缺陷分析仪
Context-configured源代码分析器
自动静态分析
根据飙升,以下检测技术可能是有用的:
体系结构或设计审查
根据飙升,以下检测技术可能是有用的:
会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞)
原因: 可接受的使用
理由是:
这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。
评论:
仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。
笔记
维护
Taxonomy_Mappings ISA / IEC 62443 CWE 4.10中加入了,但他们仍在审查和将来可能会改变CWE版本。这些映射草案是由“CWE映射到62443”小组的成员
CWE - CAPEC ICS / OT特殊利益集团(团体),CWE 4.10的和他们的工作是不完整的。映射是包括促进讨论和审查由更广泛的ICS / OT的社区,他们可能会改变在未来CWE版本。
分类法映射
映射分类名称
节点ID
适合
映射节点名
7有害的王国
经常滥用:特权的管理
CERT甲骨文安全Java编码标准(2011)
SER09-J
最小化特权反序列化之前从特权上下文
ISA / IEC 62443
部分2 - 4
点播SP.03.05 BR
ISA / IEC 62443
部分2 - 4
点播SP.03.08 BR
ISA / IEC 62443
部分2 - 4
点播SP.03.08再保险(1)
ISA / IEC 62443
部分2 - 4
点播SP.05.07 BR
ISA / IEC 62443
部分2 - 4
点播SP.09.02再保险(4)
ISA / IEC 62443
部分2 - 4
点播SP.09.03 BR
ISA / IEC 62443
部分2 - 4
点播SP.09.04 BR
ISA / IEC 62443
3 - 3部分
1.1要求老
ISA / IEC 62443
3 - 3部分
1.2要求老
ISA / IEC 62443
3 - 3部分
2.1要求老
ISA / IEC 62443
3 - 3部分
老要求2.1 1
ISA / IEC 62443
4 - 1部分
点播SD-4
ISA / IEC 62443
4 - 2部分
点播CCSC 3
ISA / IEC 62443
4 - 2部分
点播CR 1.1
引用
迈克尔•霍华德(REF-44)大卫·勒布朗和Viega约翰。软件安全的“24宗罪”。“罪16:执行代码太多的特权。”Page 243. McGraw-Hill. 2010.
(ref - 62)马克·多德约翰麦克唐纳和贾斯汀Schuh。“软件安全评估的艺术”。第9章,“特权漏洞”,477页。1版。艾迪生卫斯理》2006。
内容的历史
提交
提交日期
提交者
组织
2006-07-19(CWE草案3,2006-07-19)
7有害的王国
贡献
贡献的日期
贡献者
组织
2023-01-24(CWE 4.10, 2023-01-31)
“映射CWE 62443”子组
CWE - CAPEC ICS /团体
建议映射ISA / IEC 62443。
2023-04-25
“映射CWE 62443”子组
CWE - CAPEC ICS /团体
建议映射ISA / IEC 62443。
修改
修改日期
修饰符
组织
2008-09-08
CWE内容团队
主教法冠
更新描述、Modes_of_Introduction关系、Other_Notes Relationship_Notes Taxonomy_Mappings
2008-10-14
CWE内容团队
主教法冠
更新描述,Maintenance_Notes
2009-01-12
CWE内容团队
主教法冠
更新Common_Consequences、描述Likelihood_of_Exploit Maintenance_Notes,名字,Observed_Examples, Other_Notes, Potential_Mitigations,关系,Time_of_Introduction
2009-03-10
CWE内容团队
主教法冠
更新Potential_Mitigations
2009-05-27
CWE内容团队
主教法冠
更新Related_Attack_Patterns
2010-02-16
CWE内容团队
主教法冠
更新Detection_Factors Potential_Mitigations,引用
2010-06-21
CWE内容团队
主教法冠
更新Detection_Factors Potential_Mitigations
2011-03-29
CWE内容团队
主教法冠
更新的关系
2011-06-01
CWE内容团队
主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2011-06-27
CWE内容团队
主教法冠
更新Demonstrative_Examples、人际关系
2011-09-13
CWE内容团队
主教法冠
更新Potential_Mitigations、引用关系
2012-05-11
CWE内容团队
主教法冠
更新引用Related_Attack_Patterns、人际关系
2012-10-30
CWE内容团队
主教法冠
更新Potential_Mitigations
2013-07-17
CWE内容团队
主教法冠
更新Applicable_Platforms
2014-02-18
CWE内容团队
主教法冠
更新Demonstrative_Examples
2014-07-30
CWE内容团队
主教法冠
更新Detection_Factors
2017-11-08
CWE内容团队
主教法冠
更新Modes_of_Introduction、引用关系
2018-03-27
CWE内容团队
主教法冠
更新的引用
2019-01-03
CWE内容团队
主教法冠
更新Taxonomy_Mappings
2019-09-19
CWE内容团队
主教法冠
更新Demonstrative_Examples
2020-02-24
CWE内容团队
主教法冠
更新Applicable_Platforms、Detection_Factors Observed_Examples、引用关系类型
2022-04-28
CWE内容团队
主教法冠
更新Observed_Examples
2022-10-13
CWE内容团队
主教法冠
更新的引用
2023-01-31
CWE内容团队
主教法冠
更新描述、Maintenance_Notes Taxonomy_Mappings
2023-04-27
CWE内容团队
主教法冠
更新Potential_Mitigations、引用关系,Taxonomy_Mappings
2023-06-29
CWE内容团队
主教法冠
更新Mapping_Notes
以前的条目名称
改变日期
以前的条目名称
2008-01-30
经常滥用:特权的管理
2009-01-12
违反设计原则:失败使用最小特权
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。