capec - 463: Padding Oracle密码攻击 |
描述
敌人能够有效解密密钥解密数据不知道如果一个目标系统是否泄漏数据填充错误发生而解密密文。目标系统泄漏这种类型的信息填充甲骨文和敌人能够利用oracle有效解密密钥解密数据不知道通过发行平均128 * b调用padding oracle (b是密文块)的字节数。除了执行解密,敌人也能够产生有效的暗文(即。,执行加密)通过使用padding oracle,所有不知道加密密钥。
扩展描述
任何密码体制可以容易填充甲骨文攻击如果加密消息不验证以确保其有效性解密之前,然后填充错误的信息泄露给了对手。这种攻击技术可以使用,例如,将验证码系统或解密/修改状态信息存储在客户端对象(例如,隐藏字段或cookie)。这种攻击技术是边信道攻击数据泄漏的不当使用的密码系统实现解密程序完全破坏密码系统。一个比特的信息,告诉对手是否填充错误解密发生期间,任何形式的涉及,是足以让敌人打破密码系统。这部分信息可以显式的错误消息的形式填充错误,服务器返回空白页,甚至长时间响应(计时攻击)。这种攻击可以启动跨域的敌人在哪里可以使用跨域信息泄漏的信息从padding oracle目标系统/服务的受害者是交流。
典型的严重性
先决条件
解密程序不正确验证消息/不执行解密操作之前验证其完整性 |
目标系统泄漏数据(以某种方式)是否填充错误发生时试图解密密文。 |
填充甲骨文保持可用足够的时间/尽可能多的请求所需的对手解密密文。 |
所需资源
能力检测实例,一个目标系统是容易被攻击一个oracle填充 足够的密码学知识和工具需要利用的padding oracle /执行解密加密的数据没有钥匙 |
缓解措施
设计:使用一个消息身份验证代码(MAC)或另一个机制来执行验证的消息解密之前真实性和完整性 |
实现:不要泄露信息返回给用户任何加密解密(例如,填充)过程中遇到。 |
例子,实例
敌人包含密文发送一个请求到目标系统。由于浏览器的同源策略,对手无法直接看到响应,但是仍然可以使用跨域信息泄漏技术来获得所需的信息(例如,信息是否填充错误发生)。这可以通过使用“img标记加上onerror () / onload()事件。对手的JavaScript可以让web浏览器加载一个图像在目标站点,并知道是否载入图像。这是比特信息填充甲骨文攻击所需的工作:如果图像加载,然后它是有效的填充,否则不是。 |
引用
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-08-04
(版本2.11) |
CAPEC内容团队 |
manbetx客户端首页 |
Attack_Prerequisites更新,总结描述 |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Example_Instances移植 |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Extended_Description |
|