首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅仅通过LD_PRELOADing、一个定制的malloc/calloc和free来保护它不受双重自由的影响吗?

仅仅通过LD_PRELOADing、一个定制的malloc/calloc和free来保护它不受双重自由的影响吗?
EN

Security用户
提问于 2020-05-26 04:23:55
回答 1查看 176关注 0票数 2

我们不能实现一个malloc/calloc包装器,在返回之前将返回的指针地址添加到全局哈希表中,然后再实现一个空闲包装器,在释放之前检查表中是否存在指针(如果不存在,就尽早返回,如果存在,就删除它),然后用Firefox这样的程序对这些malloc/calloc和空闲函数进行LD_PRELOAD,以防止出现双自由度?为什么标准malloc/calloc和空闲函数不使用这样的技术,或者为什么没有类似于建议使用strcpy_s代替strcpy的安全变体?

EN

回答 1

Security用户

回答已采纳

发布于 2020-05-26 04:58:42

不是的。double空闲的原因是存在漏洞,因为在第二个free之前,内存已经被重新分配给其他东西。任何这样的包装器都无法知道free是用于该地址的第一次或第二次内存分配。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/232213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档