
内存安全
文章平均质量分 72
小气球归来
https://leonechen.github.io
展开
-
【LLVM】Dynamic Alloca及Prologue/Epilogue Insertion & Frame Finalization Pass
【LLVM】Dynamic Alloca及Prologue/Epilogue Insertion & Frame Finalization Pass原创 2022-03-30 22:34:49 · 1556 阅读 · 0 评论 -
ASAN Pass源码分析(六)——全局变量插桩
插桩功能由ModuleAddressSanitizer::instrumentModule实现。这是个模块插桩,主要以全局变量插桩为主,也包括ASAN其它功能中所需的模块插桩功能。这里主要关注全局变量的处理。主要步骤包括:将原来的全局变量转变成一个结构体,内部包含了原来的全局变量和一个右Redzone,将原来被使用的全局变量替换(replaceAllUsesWith)成新的结构体内的全局变量,之后将所有的新全局变量结构体通过调用__asan_register_globals进行poison构建asa原创 2022-02-12 17:53:34 · 1257 阅读 · 0 评论 -
ASAN Runtime源码分析(二)——注册全局变量
__asan_register_globals也在asan.module_ctor中调用__asan_register_globals将栈帧中的返回地址依次存入trace_buffer,当前内容只有__sanitizer::StackTrace::GetCurrentPc()和__asan_register_globals()的返回地址。原创 2021-10-11 21:13:26 · 858 阅读 · 0 评论 -
ASAN Runtime【源码分析】(一)——初始化
ASAN Runtime【源码分析】(一)——初始化原创 2021-10-08 00:07:05 · 2698 阅读 · 0 评论 -
Kernel Double-Fetch Bug检测论文
《Precise and Scalable Detection of Double-Fetch Bugs in OS Kernels (SP’18)》(YouTube,GitHub)(它给自己取了个名叫“Deadline”)总结了前人对Double Fetch的刻画,形式化地描述了Double-Fetch Bug。作者列表中有内核安全大佬Kangjie Lu和SGX大佬Taesoo Kim。前人在Double Fetch方面的工作包括:《Bochspwn: Identifying 0-days via原创 2021-08-25 21:46:19 · 363 阅读 · 0 评论 -
《SGXBOUNDS: Memory Safety for Shielded Execution(EuroSys‘17)》笔记
简介在检查Enclave的内存安全问题时基于Intel MPX的方案会额外造成100倍的虚拟内存开销,当原始工作集消耗内存60M时,Enclave会因为没有空闲虚拟内存而崩溃。基于ASAN的方案会额外造成3.1倍的性能开销和3.1倍的虚拟内存开销,当原始工作集消耗700-800M时,Enclave会因为没有空闲虚拟内存而崩溃。SGXBounds利用SGX Enclave内指针高32位空闲的特点,将Tag放置其中表示内存对象的Upper Bound值(内存对象后紧跟其Lower Bound值,万一M原创 2021-08-19 20:56:01 · 475 阅读 · 0 评论 -
LLVM Pass
LLVM Pass原创 2021-08-14 13:52:48 · 782 阅读 · 0 评论 -
ASAN Pass【源码分析】(五)——插桩
ASAN Pass【源码分析】(五)——插桩原创 2021-08-12 18:13:05 · 1973 阅读 · 0 评论 -
ASAN Pass【源码分析】(四)——运行
ASAN Pass【源码分析】(四)——运行原创 2021-08-08 14:41:43 · 624 阅读 · 0 评论 -
ASAN Pass【源码分析】(三)——初始化
ASAN Pass【源码分析】(三)——初始化原创 2021-08-06 23:56:08 · 1259 阅读 · 0 评论 -
SGXRay笔记
百度XLab的SGXRay在BlackHat2021上演讲了,目前还没有相关YouTube视频。相关链接如BlackHat官网链接、Github和“百度安全实验室”公众号SGXRay提到了针对Enclave内存建模,关注跨越Enclave边界的数据流,基于SMACK进行程序验证。应该可以将其归为静态方法,在此之前有COIN Attack和TeeRex两篇使用符号执行技术进行SGX漏洞自动化挖掘的工作,TeeRex关注了Enclave输入产生的危害。...原创 2021-08-06 00:48:51 · 302 阅读 · 0 评论 -
ASAN Pass【源码分析】(二)——调试环境准备
ASAN Pass【源码分析】(二)——调试环境准备原创 2021-08-04 19:23:05 · 947 阅读 · 1 评论 -
ASAN Pass(一)——简单分析
ASAN Pass(一)——简单分析原创 2021-08-01 22:43:13 · 1262 阅读 · 0 评论 -
找资料之程序分析
符号执行简单理解符号执行技术污点传播简单理解污点分析技术原创 2021-05-30 23:05:17 · 224 阅读 · 0 评论 -
《COIN Attack (ASPLOS‘20)》笔记
《COIN Attack (ASPLOS‘20)》笔记原创 2021-07-19 22:45:44 · 332 阅读 · 0 评论 -
COIN Attacks【源码分析】
COIN Attacks【源码分析】原创 2021-07-16 17:32:13 · 343 阅读 · 0 评论 -
《SoK: Sanitizing for Security (S&P‘19)》笔记
该文强调sanitizer(动态程序分析工具)的重要性。分类已有的sanitizer,分析其发现安全问题的方法,分析其如何权衡性能、兼容性和其它细节。总结sanitizer可行的部署方法和研究方向。原创 2021-07-09 20:25:44 · 887 阅读 · 3 评论 -
内存安全概念杂记
代码重用攻击(code-reuse attack)和data-only attack的区别代码重用攻击如Jump Oriented Programming(包括指令粒度的攻击、gadgets粒度的Return Oriented Programming和函数粒度的return-to-libc)破坏control data以劫持控制流。Data-only attack如Data Oriented Programming破坏non-control data以发动攻击。内存安全破坏是破坏control dat原创 2021-07-06 23:56:38 · 941 阅读 · 0 评论 -
《SoK: Eternal War in Memory (S&P‘13)》笔记
简介该文针对Memory Corruption进行了系统性的分析。主要贡献包括:针对Memory Corruption攻击构建了通用模型,基于此模型定义了多种可实施的安全策略。通过对比安全策略的设计和漏洞利用各阶段的特征,发现部分攻击向量未被现有防御机制保护。从性能、兼容性和鲁棒性评估及比较现有防御方案。讨论现有方案未被实际应用的原因(缺点),及一个新方案所需要满足的要求。Memory Corruption攻击模型图1前两步①使指针Invalid(Out-of-Bounds、Deallo原创 2021-07-02 17:40:47 · 1309 阅读 · 0 评论