CAPEC-14:客户端Injection-induced缓冲区溢出 |
描述
这种类型的攻击利用缓冲区溢位的弱点目标客户端软件通过注入恶意内容的服务定制的敌意。这个充满敌意的服务交付正确的内容创建客户端软件。例如,如果客户端应用程序是一个浏览器,该服务将主办一个网页浏览器加载。
攻击的可能性
典型的严重性
执行流程
探索
确定目标客户端应用程序:对手识别目标客户端应用程序来执行缓冲区溢出。最常见的是浏览器。如果有一个已知的浏览器漏洞的敌人目标。
实验
发现注入向量:对手识别注射向量提供过多的内容目标应用程序的缓冲区。
技术 |
很多次客户端应用程序将是开源的,所以一个对手可以检查源代码来识别可能注入向量。 |
检查客户端应用程序的api,寻找一个缓冲区溢出可能的领域。 |
创建充满敌意的服务:对手创造了一个敌对的服务,将客户端应用程序的内容。如果目的是简单地导致软件崩溃,内容只需要包含一个过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手工艺品覆盖的有效载荷的方式返回地址被替换为对手的选择之一。
技术 |
如果客户端应用程序是一个浏览器,敌人将创建一个服务,它提供了一个恶意网页浏览器。 |
创建时将执行的恶意shellcode返回程序执行。 |
使用NOP-sled溢出的内容更容易“幻灯片”到恶意代码。这样做的好处是,确切的返回地址不一定是正确的,只有在所有的空操作的范围 |
利用
缓冲区溢出:使用注射向量,对手提供的内容使用恶意客户端应用程序服务和溢出缓冲区。
技术 |
如果对手是针对本地客户端应用程序,他们只需要使用服务。 |
如果对手是试图引起溢出在外部用户的客户端应用程序,他们必须让用户连接到他们的服务通过其他手段。这可以让用户访问他们的恶意网页的目标用户的浏览器。 |
先决条件
有针对性的客户端软件与外部服务器。 |
目标客户端软件的缓冲区溢出漏洞。 |
技能要求
(等级:低) 达到拒绝服务攻击,攻击者可以简单地由一个长字符串插入溢出缓冲区attacker-modifiable注入向量。 |
(级别:高) 利用缓冲区溢出堆栈注入恶意代码的软件系统,甚至堆需要更深入的知识和较高的技术水平。 |
指标
指标的一个例子是当客户端软件崩溃后执行代码从一个充满敌意的下载服务器。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 |
读取数据 |
|
完整性 |
修改数据 |
|
可用性 |
资源消耗 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
缓解措施
客户端软件不应该从一个没有进行身份验证的服务器安装不受信任的代码。 |
客户端软件应该应经审计的最新补丁和漏洞之前被用于与潜在的恶意服务器通信。 |
执行输入验证输入缓冲区的长度。 |
使用一种语言或编译器执行自动范围检查。 |
使用一个抽象库抽象危险的api。不是一个完整的解决方案。 |
基于编译器的金丝雀StackGuard等机制,ProPolice和Microsoft Visual Studio / GS标志。除非这提供了自动范围检查,它不是一个完整的解决方案。 |
确保所有缓冲区一致地bounds-checked。 |
使用操作系统的预防功能。不是一个完整的解决方案。 |
例子,实例
作者经常在HTML文档中使用<嵌入>标记。例如
<嵌入TYPE = "音频/ midi " SRC = " /道路/文件。“自动运行中期= " true " > 在Internet Explorer 4.0的敌人攻击者供应过度长路径SRC =指令,[。dll组件将遭受一个缓冲区溢出。这是一个标准的例子,内容在Web页面中直接利用一个有缺陷的模块系统。可能有成千上万的不同数据可以传播到一个给定的系统,因此这些类型的攻击将继续在野外发现。 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Attack_Patterns |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2020-07-30
(版本3.3) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2021-06-24
(版本3.5) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Execution_Flow |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|