25、缓冲区溢出修复与移动企业应用分析策略

缓冲区溢出修复与ValueApping分析

缓冲区溢出修复与移动企业应用分析策略

1. 缓冲区溢出修复策略

在C/C++程序中,缓冲区溢出是一个常见且严重的安全问题。为了自动移除这些漏洞,有三种设计防御代码并插入的策略。

  • 搜索与替换策略 :此策略直接搜索常见的易受攻击的C字符串函数和I/O操作,然后将找到的操作替换为安全版本。例如,将易受攻击的 strcpy strcat 函数替换为 strncpy strncat ,或者 strlcpy strlcat ,甚至可以使用自定义版本。这种策略简单直接,易于实现,但会遗漏许多复杂情况。
  • 边界检查策略 :该策略旨在在每次内存访问之前插入有效的验证,以执行额外的边界检查。典型的设计是在每个指针操作之前添加验证,即“基于指针的方法”。这些方法会跟踪每个指针的基地址和边界信息,并根据跟踪信息验证每个指针操作。像CCured、MSCC、SafeC和Softbound等都采用了这种方法。它们设计为提供高精度,但由于几乎每个指针操作都会被额外的检查包装,代码可能会变得庞大,运行时性能也可能会下降。
  • 检测与转换策略 :先定位漏洞,然后将易受攻击的代码段转换为安全版本。与第二种策略相比,这种方法有助于在不影响移除精度的情况下减少添加的代码量。不过,在这个方向上投入的精力相对较少。例如,Lin等人提出基于污点分析对代码进行切片,然后检测每个切片中的缓冲区溢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值