描述
这种类型的攻击利用的使用符号链接导致缓冲区溢出。敌人可以尝试创建或操作一个符号链接文件,其内容导致数据越限的。当目标软件过程符号链接文件时,它可能会溢出内部缓冲区边界检查不足。
攻击的可能性
典型的严重性
执行流程
探索
确定目标应用程序:对手识别目标应用程序或程序,可能在某些文件加载到内存中。
实验
发现注入向量:对手识别注射向量提供过多的内容目标应用程序的缓冲区。
技术 |
对手创建或修改一个符号链接指向的文件含有过量的数据。如果创建一个符号链接的文件会导致不同的行为程序,然后注射向量已被确认。 |
工艺溢出文件内容:被注入的对手工艺品的内容。如果目的是简单地导致软件崩溃,内容只需要包含一个过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手工艺品覆盖的有效载荷的方式返回地址被替换为对手的选择之一。
技术 |
创建时将执行的恶意shellcode返回程序执行。 |
使用NOP-sled溢出的内容更容易“幻灯片”到恶意代码。这样做的好处是,确切的返回地址不一定是正确的,只有在所有的空操作的范围 |
利用
缓冲区溢出:使用特别制作的文件内容,敌人从确定资源创建一个符号链接到恶意文件,导致缓冲区溢出攻击的目标。
先决条件
敌人可以在目标主机上创建符号链接。 |
目标主机不执行正确的边界检查而消耗的数据资源。 |
技能要求
(等级:低) 敌人可以简单地由一个长字符串插入溢出缓冲区adversary-modifiable注入向量。结果可以是一个DoS。 |
(级别:高) 利用缓冲区溢出堆栈注入恶意代码的软件系统,甚至堆可能需要更高的技术水平。 |
指标
创建或修改符号链接是一个潜在的敌人的攻击信号。 |
敌人删除临时文件也可以表明对手试图取代合法资源与恶意的。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
可用性 |
不可靠的执行 |
|
保密
完整性
可用性 |
执行未经授权的命令 |
|
保密 |
读取数据 |
|
完整性 |
修改数据 |
|
缓解措施
注意资源你读这一事实可以取而代之的是一个符号链接。你可以做一个符号链接检查之前读取文件并决定,这不是一个合法的方式访问资源。 |
因为符号链接可以修改的对手,确保你读的是位于受保护的目录。 |
注意资源指向你的符号链接链接(见攻击模式命名为“强制符号链接竞赛”),它们可以被恶意的资源。 |
总是检查输入数据的大小在复制到缓冲区。 |
使用一种语言或编译器执行自动范围检查。 |
使用一个抽象库抽象危险的api。不是一个完整的解决方案。 |
基于编译器的金丝雀StackGuard等机制,ProPolice和Microsoft Visual Studio / GS标志。除非这提供了自动范围检查,它不是一个完整的解决方案。 |
使用操作系统的预防功能。不是一个完整的解决方案。 |
例子,实例
EFTP服务器可以利用缓冲区溢出,如果敌人上传.lnk(链接)文件,其中包含超过1744个字节。这是一种间接缓冲区溢出的一个典型的例子。第一个敌人上传一些内容(文件)的联系,然后对手使客户消费数据被利用。在这个例子中,ls命令是用来妥协的服务器软件。 |
引用
[REF-1] g·霍格伦德和g·麦格劳。“利用软件:如何打破代码”。addison - wesley。2004 - 02。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2018-07-31
(版本2.12) |
CAPEC内容团队 |
manbetx客户端首页 |
更新的引用 |
2021-10-21
(版本3.6) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Execution_Flow |
2022-02-22
(版本3.7) |
CAPEC内容团队 |
manbetx客户端首页 |
更新描述,Example_Instances指标,移植,Skills_Required先决条件 |
2022-09-29
(版本3.8) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Example_Instances |
|