新CAPEC吗?从这里开始
>CAPEC列表> CAPEC-8:缓冲区溢出在一个API调用(版本3.9)

在一个API调用CAPEC-8:缓冲区溢出

攻击模式ID: 8
抽象:详细的
视图定制的信息:
+描述
这种攻击目标库或共享代码模块容易受到缓冲区溢出攻击。一位对手脆弱的库或知识共享代码可以很容易地目标软件,利用这些库。所有客户,利用协会的代码库从而变得脆弱。这有一个非常广泛的影响安全系统,通常影响多个软件过程。
+攻击的可能性

+典型的严重性

+的关系
部分帮助此表显示了其他的攻击模式和高水平类别相关的这种攻击模式。这些关系被定义为ChildOf ParentOf,给类似的项目可能存在的洞察力在较高和较低的抽象级别。此外,关系如光束,PeerOf, CanAlsoBe定义显示类似的攻击模式,用户可能想要探索。
自然 类型 ID 的名字
ChildOf 标准的攻击模式标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 One hundred. 缓冲区溢出
PeerOf 详细的攻击模式详细的攻击模式-一个详细级别攻击模式CAPEC提供了一个低水平的细节,通常利用一个特定的技术和针对特定的技术,并表达一个完整的执行流程。详细的攻击模式比元更具体的攻击模式和标准的攻击模式,通常需要一个特定的保护机制来减轻实际攻击。详细的级别攻击模式通常会利用许多不同的标准水平攻击模式链接在一起来完成一个目标。 46 溢出变量和标签
光束 标准的攻击模式标准的攻击模式-一个标准的级别CAPEC中攻击模式是集中在一个特定的方法或技术用于攻击。它通常被视为一个单一的完全执行攻击。标准的攻击模式是为了提供足够的细节来理解特定的技术,以及它如何试图完成预期的目标。标准水平的攻击模式是一种特定类型的一个更抽象的元级别的攻击模式。 69年 目标程序的特权
部分帮助此表显示了这种攻击模式的观点属于和顶级类别内的这一观点。
+执行流程
探索
  1. 确定目标应用程序:知识的对手,脆弱的或共享库代码模块,识别目标应用程序或程序使用这些。

实验
  1. 发现注入向量:敌人企图使用API,如果他们可以发送大量的数据缓冲区溢出攻击是否真的工作。

    技术
    提供大量输入程序或应用程序,观察行为。如果发生了车祸,这意味着一个缓冲区溢出攻击是可能的。
  2. 工艺溢出内容:对手工艺的内容根据自己的知识被注入漏洞和他们想要的结果。如果目的是简单地导致软件崩溃,内容只需要包含一个过度数量的随机数据。如果目的是利用执行任意代码的溢出,对手将工艺组不仅溢出目标缓冲区的内容,但在这样一种方式,覆盖返回地址被替换为一个对手的选择指向代码注入的对手。

    技术
    创建时将执行的恶意shellcode返回程序执行。
    使用NOP-sled溢出的内容更容易“幻灯片”到恶意代码。这样做的好处是,确切的返回地址不一定是正确的,只有在所有的空操作的范围
利用
  1. 缓冲区溢出:使用API作为注入向量,精心制作的对手注入到缓冲溢出的内容。

+先决条件
目标主机向用户公开的API。
一个或多个API函数公开的目标主机的缓冲区溢出漏洞。
+技能要求
(等级:低)
敌人可以简单地由一个长字符串插入溢出缓冲区adversary-modifiable注入向量。结果可以是一个DoS。
(级别:高)
利用缓冲区溢出堆栈注入恶意代码的软件系统,甚至堆可能需要更高的技术水平。
+后果
部分帮助这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
可用性
不可靠的执行
保密
完整性
可用性
执行未经授权的命令
保密
读取数据
完整性
修改数据
+缓解措施
使用一种语言或编译器执行自动范围检查。
使用安全功能不容易缓冲区溢出。
如果你必须使用危险的功能,确保你边界检查。
基于编译器的金丝雀StackGuard等机制,ProPolice和Microsoft Visual Studio / GS标志。除非这提供了自动范围检查,它不是一个完整的解决方案。
使用操作系统的预防功能。不是一个完整的解决方案。
+例子,实例
攻击的例子:在FreeBSD Libc

FreeBSD的缓冲区溢出效用setlocale(模块中发现libc)让很多项目处于危险之中。

Xtlib

缓冲区溢出的Xt库X窗口系统允许本地用户使用root特权执行命令。

+引用
[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客户端首页
更新Skills_Required
2022-09-29
(版本3.8)
CAPEC内容团队 manbetx客户端首页
更新Example_Instances
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新或审查:2021年10月21日