描述
这种类型的攻击利用缓冲区溢出漏洞处理的二进制资源。二进制资源可能包括像MP3音乐文件,图像文件,如JPEG文件和其他二进制文件。这些攻击可能注意到客户机通过正常使用的文件,如浏览器加载一个看似无辜的JPEG文件。这可以让对手访问执行堆栈和目标过程中执行任意代码。
扩展描述
这种攻击模式是一种变异的标准使用一个意想不到的缓冲区溢出攻击向量(二进制文件)将其攻击并打开一个新的攻击向量。所需的对手是直接服务于二进制内容的受害者,或者把它放在语言环境像MP3受害者共享应用程序下载。敌人然后在下载或以其他方式通知位于缓冲区溢位的弱点了。
攻击的可能性
典型的严重性
执行流程
探索
确定目标软件:对手识别软件,使用外部二进制文件。这可能是一个文件上传,下载一个文件从一个共享位置,或其他方式。
实验
发现注入向量:对手恶意二进制文件创建一个通过改变头文件似乎比它短。额外的字节被添加到文件的末尾被放置在溢出位置。对手然后部署文件的软件来确定缓冲区溢出是成功的。
工艺溢出内容:一旦对手已确定,这种攻击是可行的,他们会特别工艺二进制文件的方式实现所需的行为。如果源代码可用,对手可以仔细工艺恶意文件,以便返回地址覆盖一个预期值。如果源代码不可用,敌人将迭代改变文件为了改写返回地址正确。
技术 |
创建时将执行的恶意shellcode返回程序执行。 |
使用NOP-sled溢出的内容更容易“幻灯片”到恶意代码。这样做的好处是,确切的返回地址不一定是正确的,只有在所有的空操作的范围 |
利用
缓冲区溢出:一旦对手建造了一个文件,它将有效地溢出目标软件的目的。文件部署到软件,通过它直接向软件服务或把它放在共享位置加载到软件的受害者。
先决条件
目标软件过程二进制资源文件。 |
目标软件包含一个缓冲区溢出漏洞可以通过输入一个用户可控二进制资源文件。 |
技能要求
(级别:中等) 修改文件,欺骗客户端下载,定位和利用远程堆栈或堆脆弱性 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
可用性 |
不可靠的执行 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
缓解措施
在所有缓冲区执行适当的边界检查。 |
设计:实施最小特权原则 |
设计:静态代码分析 |
实现:执行计划不可信进程空间环境,不允许低完整性流程写更高的完整流程 |
实现:保持软件修补确保已知的漏洞不供敌人目标主机。 |
例子,实例
二进制文件喜欢音乐和视频文件添加额外的数据导致缓冲区溢出到目标系统上。因为这些文件可能充满否则受欢迎的内容,敌人的最佳矢量广泛分布。有很多情况下,例如恶意屏幕保护程序为运动队的分布式事件的球队赢得冠军。 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2015-12-07
(版本2.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2020-12-17
(版本3.4) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Execution_Flow Extended_Description |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述、Example_Instances移植 |
|