描述
敌人操纵应用程序的交互与一个缓冲区,试图读取或修改他们不应该访问数据。缓冲区攻击是杰出的缓冲区空间本身是攻击的目标,而不是任何代码负责解释缓冲区的内容。在几乎所有缓冲区攻击的内容放在缓冲是无形的。相反,大多数缓冲区攻击涉及检索或提供更多的比可以存储在分配缓冲区输入,导致阅读或覆盖其他意想不到的程序内存。
攻击的可能性
典型的严重性
先决条件
敌人必须确定一个编程意味着与一个缓冲区进行交互,如脆弱的C代码,和能够提供这种交互的输入。 |
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
可用性 |
不可靠的执行 |
|
保密 |
执行未经授权的命令
修改数据
读取数据 |
|
缓解措施
从缓冲区操作攻击保护应用程序,可以利用许多潜在的缓解措施。在开始应用程序的开发之前,考虑使用一个代码的语言(如Java)或编译器限制开发人员采取行动的能力超出缓冲区的边界。如果选择语言是容易缓冲区相关的问题(例如,C),那么考虑使用安全功能,而不是那些容易受到缓冲区操作。如果一个有潜在危险的函数必须使用,确保适当的边界进行检查。另外,经常有一些基于编译器的机制(例如,StackGuard, ProPolice和Microsoft Visual Studio / GS标志),可以帮助识别和预防潜在的缓冲问题。最后,可能有一些可以应用操作系统级别的预防功能。 |
内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2014-06-23
(版本2.6) |
CAPEC内容团队 |
manbetx客户端首页 |
|
修改 |
修改日期 |
修饰符 |
组织 |
2017-01-09
(版本2.9) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Activation_Zone、Attack_Motivation-Consequences Injection_Vector、载荷Payload_Activation_Impact, Related_Attack_Patterns Solutions_and_Mitigations |
2019-04-04
(版本3.1) |
CAPEC内容团队 |
manbetx客户端首页 |
更新Related_Weaknesses |
|