CFI 选项:-fsanitize=cfi-nvcall
cfi-nvcall 选项在精神上类似于 cfi-vcall 选项,除了它适用于非虚拟呼叫。关键区别在于非虚拟调用是在编译时静态已知的直接调用,因此这种保护严格来说不是控制流完整性问题。cfi-nvcall 选项的作用是识别非虚拟调用并确保运行时调用对象的类型可以从编译时已知的对象类型派生。

简单来说,想象一个Balls 的类层次结构和一个 s 的类层次结构Brick。使用 cfi-nvcall,编译时调用Ball::Throw可能会执行Baseball::Throw,但永远不会执行Brick::Throw,即使攻击者用对象替换了Brick对象Ball。

cfi-nvcall 修复的情况可能来自内存损坏、类型混淆和反序列化。虽然这些实例不允许攻击者自行重定向控制流,但这些错误可能会导致仅数据攻击,或导致足够多的不当行为以允许未来的错误起作用。这种使用纯数据漏洞的攻击在 cfi-nvcall 示例中显示:使用低权限用户对象代替高权限管理员对象,导致应用程序内权限升级。

CFI 选项:-fsanitize=cfi-nvcall相关推荐

  1. gcc:内存问题检查选项 -fsanitize; asan

    文章目录 简介 参考 详细介绍 编译时依赖 实例 内核里的检查是使用kasan -fsanitize=object-size Linux 内核相关 简介 如果可以用这个工具,其实很大程度上方便了开发者 ...

  2. EPUB CFI 规范

    EPUB CFI 规范 [译]EPUB Canonical Fragment Identifier (epubcfi) Specification [注]由于作者本文水平有限,加之英文理解有限,本文翻 ...

  3. CFI Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系

    flash按照内部访问接口(技术)不同,flash分为两种:nor flash和nand flash. nor flash:像访问SDRAM一样,按照数据/地址总线直接访问:读数据快,写数据慢: na ...

  4. CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系

    CFI Flash, JEDEC Flash ,Parellel Flash, SPI Flash, Nand Flash,Nor Flash的区别和联系 简单说就是,Flash,按照内部访问接口不同 ...

  5. CFI(Common Flash Interface)详解

    原文链接:https://blog.csdn.net/emma3slp/article/details/5591086 [什么是CFI] CFI(Common Flash Interface),是JE ...

  6. kernel 选项详解(stlinux2.3)

     General setup(基本属性设置)  ->[]prompt for development and/or incomplete code/drivers //显示尚在开发的代码和驱 ...

  7. kernel 选项详解(stlinux2.3) 2-2

    kernel 选项详解(stlinux2.3) 2-2 []IP:TCP syncookie support(disabled per default)    //TCP cookie同步支持(默认关 ...

  8. Linux系统安全加固指南(万字长文)

    本指南旨在说明如何尽可能地加强Linux的安全性和隐私性,并且不限于任何特定的指南. 免责声明:如果您不确定自己在做什么,请不要尝试在本文中使用任何内容. 本指南仅关注安全性和隐私性,而不关注性能,可 ...

  9. Valgrind 使用简单说明

    Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析.你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言中的ma ...

最新文章

  1. (C++)1002 写出这个数
  2. Css实现的鼠标滑动选项卡菜单代码
  3. 云服务器怎么打开_香港云服务器怎么样?
  4. python的线程组怎么写_Python学习——Python线程
  5. docker-compose下载慢_编写Docker Compose时要注意的五大常见错误
  6. 【ArcGIS 10.2新特性】地理数据(Geodatabase 和database)10.2 新特性
  7. cab文件打包的ActiveX控件(转)
  8. apollo源码分析 感知_Scikit-Learn 源码研读 (第一期)项目结构介绍
  9. QT + OSG实现触屏旋转和双指缩放
  10. 地图上制作线路的动画_航线地图上的动画飞行效果怎么实现?只要五步轻松上手...
  11. 服务器上文件拒绝访问,云服务器文件访问被拒绝访问
  12. 我的世界服务器交易系统,《我的世界》交易系统介绍 村民交易系统详解
  13. php斗鱼弹幕接口,php实现斗鱼弹幕,一起来欣赏弹幕吧~
  14. 计算机硬盘解密,如何解除电脑硬盘密码 解除电脑硬盘密码方法【详解】
  15. thinkpad x250装黑苹果教程_ThinkPad E450c 傻瓜式黑苹果一键安装教程
  16. C# register
  17. 计算机一级b和小高考,小高考B是几分相关内容
  18. 大数据处理的一些总结和应用(有关舆情监控)
  19. 《算法竞赛进阶指南》tarjan做法 银河
  20. 食品的英语名称总结-----实用

热门文章

  1. PR片头模板|光线扭曲时空穿梭LOGO片头视频模板
  2. 翻译: Clustered Index Design Considerations 聚集索引设计注意事项
  3. 软件自动化测试工具有哪些?手工测试与自动化测试应用场景区别
  4. 程序员 颈椎健康不容忽视
  5. 老同学的涂鸦:香菜的地
  6. PMD 的介绍,用法,在项目中的应用
  7. 上海/北京内推 | 百度商业研发部模型团队招募机器学习算法工程师/实习生
  8. vue3+SuperMap iClient3D for Cesium实现可视域分析功能
  9. 企业培训解决方案——企业培训考试小程序
  10. PHP如何获取回调地址中的数据_php 回调地址,并返回参数的方法