描述
对手修改状态信息由目标软件或导致硬件状态转换。如果成功,目标将使用这个污染状态和执行以意想不到的方式。
状态管理是一个重要的函数在一个软件应用程序。用户状态维护的应用程序可以包括用户名,付款信息,浏览历史以及特定于应用程序的内容,如物品在一个购物车。操纵用户状态可以受雇于一个对手提升特权,进行欺诈性交易或修改应用程序的流量获得某些好处。
如果有硬件逻辑错误在有限状态机中,对手可以使用这把系统在一个未定义的状态可能导致拒绝服务或暴露的安全数据。
攻击的可能性
典型的严重性
执行流程
探索
-
对手的性质决定了状态管理采用目标。这包括确定位置(客户端,服务器端或两个应用程序)和可能的物品存储为用户状态的一部分。
实验
-
现在的对手试图修改用户状态内容(可能不加选择地如果内容加密或者混淆)或导致状态转换,观察这种变化对目标的影响。
利用
-
在决定如何操作状态,敌人可以执行非法操作。
先决条件
用户状态是保持至少在某种程度上在用户可控的位置,如cookie或URL参数。 |
有一个错误的有限状态机可以利用硬件逻辑。 |
技能要求
(级别:中等) 状态管理的对手需要知识受雇于目标应用程序,也可以操纵国家以一种有意义的方式。 |
所需资源
对手需要数据篡改工具能够生成和创建自定义输入帮助攻击,像提琴手,Wireshark,或类似的浏览器插件(如Firefox篡改数据)。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
访问控制
授权 |
获得特权 |
|
完整性 |
修改数据 |
|
可用性 |
不可靠的执行 |
|
缓解措施
不要仅仅依靠用户可控的地点,如cookie或URL参数,保持用户的状态。 |
避免敏感信息,例如用户名或身份验证和授权信息,在用户可控的位置。 |
敏感信息的一部分用户状态必须适当保护,以确保在每个请求机密性和完整性。 |
所有可能状态必须由硬件有限状态机。 |
例子,实例
在认证过程中,应用程序商店未加密的身份验证的决定(auth = 0/1)饼干。在每一个请求,这个cookie检查允许或拒绝一个请求。 敌人很容易违反这表示用户状态和设置auth = 1在每一个请求以获得非法的访问和提升特权应用程序中。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述总结,Related_Attack_Patterns |
2017-05-01
(版本2.10) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Attack_Phases、Attack_Prerequisites Attacker_Skills_or_Knowledge_Required、描述总结,Examples-Instances, Probing_Techniques, Resources_Required Solutions_and_Mitigations |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新@ name,后果,描述、Execution_Flow移植,Related_Weaknesses先决条件 |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow Related_Weaknesses |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2020-07-30
(版本3.3) |
操纵用户状态 |
|
|