《VScape - Assessing and Escaping Virtual Call Protections》 论文笔记

一、简介

这篇论文介绍了一种面向伪对象编程(COOP)的加强攻击手法,称为 COOPlus。对于那些不破坏 C++ ABI 的虚拟调用保护来说,有相当一部分的 虚拟调用保护手段易受 COOPlus 的攻击。

符合以下三个条件的虚拟函数调用容易受到 COOPlus 的攻击:

  • 不破坏虚函数调用的 ABI
  • 不保证 C++ 对象 vtable 指针的完整性(即可以被修改)
  • 允许在虚拟函数调用点上调用不同的函数

COOPlus 本质上是代码重用攻击,它在目标虚拟函数调用点上调用符合类型但不符合上下文的虚拟函数。该调用可通过 C++ 语义感知的 控制流完整性 CFI 检测,但由于调用上下文不同,因此可能会造成进一步的利用。

除了 COOPlus 以外,该论文还提出了一种解决方案 VScape,用来评估针对虚拟调用攻击保护的有效性。

论文 + 幻灯片 - USENIX security 21

阅读更多...

《HEALER - Relation Learning Guided Kernel Fuzzing》 论文笔记

一、简介

Healer 是受 Syzkaller 启发的 kernel fuzz。

与 Syzkaller 类似,Healer 使用 Syzlang 描述所提供的 syscall 信息来生成确认参数结构约束和部分语义约束的系统调用序列,并通过不断执行生成的调用序列来发现内核错误,导致内核崩溃。

与 Syzkaller 不同,Healer 不使用 choise table,而是通过动态移除最小化调用序列中的调用并观察覆盖范围变化来检测不同系统调用之间的内部关系,并利用内部关系来指导调用序列的生成和变异。此外,Healer 还使用了与 Syzkaller 不同的架构设计。

论文地址:HEALER: Relation Learning Guided Kernel Fuzzing

项目地址:github

阅读更多...

syzkaller 环境搭建

一、简介

Syzkaller 是一个无监督的覆盖引导的内核 fuzzer,是目前类似里程碑一样的 fuzz 。

项目地址 - syzkaller

本人对 syzkaller 的工作机制比较感兴趣,同时课题组也会经常用到 syzkaller,因此了解 syzkaller 是一个必不可少的过程。

在研究内核fuzz的工作机制之前,我们需要先学会如何搭建它的环境。

阅读更多...
  • Copyrights © 2020-2022 Kiprey
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~