针对Cache攻击的动态随机化防御方法研究
摘要 | 第5-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第12-24页 |
1.1 课题背景与意义 | 第12-14页 |
1.2 CPU内存架构 | 第14-16页 |
1.2.1 CPU缓存 | 第14-16页 |
1.2.2 共享内存 | 第16页 |
1.3 国内外相关研究现状 | 第16-22页 |
1.3.1 缓存攻击之Flush+Reload | 第17-18页 |
1.3.2 缓存攻击之Evict+Reload | 第18-19页 |
1.3.3 缓存攻击之Prime+Probe | 第19-20页 |
1.3.4 缓存攻击之Flush+F lush | 第20-21页 |
1.3.5 防御技术概述 | 第21-22页 |
1.4 本文研究内容 | 第22页 |
1.5 本文组织结构 | 第22-24页 |
第2章 缓存攻击Flush+Reload模型 | 第24-30页 |
2.1 Linux用户键盘输入监听 | 第24-25页 |
2.1.1 主要工具 | 第24页 |
2.1.2 攻击步骤 | 第24-25页 |
2.2 密码学攻击 | 第25-29页 |
2.2.1 AES访问缓存 | 第26-27页 |
2.2.2 攻击模型 | 第27-29页 |
2.3 本章小结 | 第29-30页 |
第3章 动态随机化系统方案设计 | 第30-39页 |
3.1 随机化目标 | 第30页 |
3.1.1 有效性目标 | 第30页 |
3.1.2 性能目标 | 第30页 |
3.2 设计思路 | 第30-31页 |
3.3 动态随机化系统设计 | 第31-37页 |
3.3.1 进程地址空间 | 第31-33页 |
3.3.2 代码随机化 | 第33-35页 |
3.3.3 栈随机化 | 第35-36页 |
3.3.4 堆随机化 | 第36-37页 |
3.4 本章小结 | 第37-39页 |
第4章 动态随机化系统实现与应用 | 第39-53页 |
4.1 搭建动态随机化系统 | 第39-43页 |
4.1.1 LLVM编译器架构 | 第39-41页 |
4.1.2 LLVM的优化技术 | 第41页 |
4.1.3 SPEC CPU2006基准测试 | 第41-43页 |
4.2 缓存攻击AES加密 | 第43-48页 |
4.2.1 样本采集 | 第46页 |
4.2.2 第一轮分析攻击 | 第46-47页 |
4.2.3 第二轮分析攻击 | 第47-48页 |
4.3 动态随机化防御AES缓存攻击 | 第48-52页 |
4.3.1 算法实现 | 第48-52页 |
4.4 本章小结 | 第52-53页 |
第5章 防御效果与性能评估 | 第53-60页 |
5.1 实验环境 | 第53页 |
5.2 防御效果 | 第53-56页 |
5.3 性能评测 | 第56-59页 |
5.4 本章小结 | 第59-60页 |
结论 | 第60-62页 |
参考文献 | 第62-66页 |
附录A 攻读硕士学位期间申请专利目录 | 第66-67页 |
附录B 攻读硕士学位期间所参加的科研项目目录 | 第67-68页 |
致谢 | 第68页 |