草庐IT

ARM PAC/BTI/MTE三剑客精讲与实战

一、PAC指针认证精讲与实战思考1、什么是栈溢出攻击?什么是代码重用攻击?区别与联系?2、栈溢出攻击的软&硬件缓解技术有哪些?在TF-A&OPTEE上的应用?3、什么是ROP攻击?对ROP攻击的缓解技术?4、PAC下的ROP如何缓解?对返回地址的签名与验证?5、PAC的架构细节?硬件原理?PAC如何生成?如何检查?指令集?6、PAC如何启用?构建PAC的编译选项控制?7、PAC功能如何验证?PAC检查失败时发生什么?问题如何定位?8、PAC性能开销?如何进行优化?9、PAC存不存在安全性问题?侧信道攻击?10、PAC与BTI、MTE的关系如何?标记是否有冲突?课程大纲1、代码重用攻击及栈溢出攻

ARM64安全特性之MTE

ARM64架构引入了MTE(MemoryTaggingExtension)作为安全特性,用于增强内存访问的安全性。MTE使用内存标签来追踪和保护内存操作,以帮助检测和防御缓冲区溢出、使用-after-free等内存相关的安全漏洞。MTE的核心思想是给每个内存地址附加额外的标签信息,这些标签旨在标识内存的使用情况。ARM64MTE特性的主要组成部分包括:1.内存标签MTE使用一个n位标签(通常为4位或8位)来表示每个内存地址的标记。标记可以指示内存块的状态,如是否可读、是否可写、是否已分配等。2.内存标签随机化MTE还引入了随机的内存标签分配策略,使攻击者更难预测内存标签的值。这增加了对内存攻击