基于多态Canary的栈保护技术研究
发布时间:2023-03-02 20:33
随着信息技术的快速发展,系统和软件的复杂性的不断提高导致各类软件的正确性与安全性越来越难以保证,程序不可避免的包含各种各样的漏洞,攻击者利用安全漏洞构造并实施攻击,给个人、企业乃至国家造成巨大的安全威胁。因此,如何快速有效地遏制软件安全漏洞对软件行业造成的影响一直是学术和工业界关注的热点。各种缓解软件安全漏洞危害性的机制应运而生,这其中栈不可执行、随机化和栈保护等攻击平缓技术在安全性、性能和兼容性等方面取得很好的平衡,因此被广泛的部署到现有的系统中。但是由于设计中存在缺陷,导致它们在特定环境中仍旧存在被攻破的风险。本论文从栈保护技术着手,研究其最初设计方案和随后相关改进工作在防御力、性能和正确性等方面的不足,并提出了自己的设计方案。在众多的软件安全漏洞中,缓冲区溢出漏洞由于在软件中广泛存在且易于实施攻击,一直是困扰网络空间安全的主要威胁之一。攻击者通过缓冲区溢出漏洞可以修改程序内存数据、操作程序控制流、进而执行恶意代码,给软件使用者带来极大的危害。在研究者已经提出的多种针对缓冲区溢出的防御机制中,基于canary的栈保护机制(Stack Smashing Protection)作为一种...
【文章页数】:87 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
符号对照表
1 绪论
1.1 软件攻击与防御简介
1.2 缓冲区溢出漏洞和控制流劫持攻击
1.3 研究内容
1.4 论文组织
2 研究背景和相关工作
2.1 控制劫持攻击相关防御技术
2.2 缓冲区溢出漏洞以及其防御工作
2.2.1 溢出类漏洞识别
2.2.2 运行时溢出检测
2.3 SSP栈保护机制
2.4 逐字节暴力破解攻击
2.5 防御逐字节暴力攻击的相关工作
3 多态栈保护机制的设计
3.1 攻击场景和设计目标
3.2 挑战
3.3 系统设计
3.4 P-SSP安全性证明
3.4.1 全局搜索破解
3.4.2 逐字节攻击
3.5 P-SSP的优越性
3.6 扩展设计
3.6.1 扩展一: P-SSP-NT
3.6.2 扩展二:P-SSP-LV
3.6.3 扩展三:P-SSP-OWF
3.6.4 扩展四:DiffGuard
4 多态栈保护以及其扩展的实现
4.1 P-SSP共享库
4.2 P-SSP编译器插件
4.3 基于二进制插桩的P-SSP
4.3.1 二进制插桩工具
4.3.2 针对静态链接代码的插桩实现
4.4 四个扩展的实现
4.4.1 P-SSP-NT
4.4.2 P-SSP-LV
4.4.3 P-SSP-OWF
4.4.4 DiffGuard
4.5 P-SSP的使用方法
5 评估
5.1 性能评估
5.1.1 运行时性能评估
5.1.2 代码膨胀率
5.1.3 多线程程序的反应时间
5.1.4 P-SSP与四个扩展的比较
5.2 兼容性和有效性评估
6 总结与展望
6.1 讨论
6.1.1 内存破坏攻击
6.1.2 与DEP、ASLR和CFI的比较
6.1.3 栈布局和Canary长度
6.2 总结
6.3 展望
致谢
参考文献
附录A 基于AES-NI指令集的AES加密函数
简历与科研成果
本文编号:3752579
【文章页数】:87 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
符号对照表
1 绪论
1.1 软件攻击与防御简介
1.2 缓冲区溢出漏洞和控制流劫持攻击
1.3 研究内容
1.4 论文组织
2 研究背景和相关工作
2.1 控制劫持攻击相关防御技术
2.2 缓冲区溢出漏洞以及其防御工作
2.2.1 溢出类漏洞识别
2.2.2 运行时溢出检测
2.3 SSP栈保护机制
2.4 逐字节暴力破解攻击
2.5 防御逐字节暴力攻击的相关工作
3 多态栈保护机制的设计
3.1 攻击场景和设计目标
3.2 挑战
3.3 系统设计
3.4 P-SSP安全性证明
3.4.1 全局搜索破解
3.4.2 逐字节攻击
3.5 P-SSP的优越性
3.6 扩展设计
3.6.1 扩展一: P-SSP-NT
3.6.2 扩展二:P-SSP-LV
3.6.3 扩展三:P-SSP-OWF
3.6.4 扩展四:DiffGuard
4 多态栈保护以及其扩展的实现
4.1 P-SSP共享库
4.2 P-SSP编译器插件
4.3 基于二进制插桩的P-SSP
4.3.1 二进制插桩工具
4.3.2 针对静态链接代码的插桩实现
4.4 四个扩展的实现
4.4.1 P-SSP-NT
4.4.2 P-SSP-LV
4.4.3 P-SSP-OWF
4.4.4 DiffGuard
4.5 P-SSP的使用方法
5 评估
5.1 性能评估
5.1.1 运行时性能评估
5.1.2 代码膨胀率
5.1.3 多线程程序的反应时间
5.1.4 P-SSP与四个扩展的比较
5.2 兼容性和有效性评估
6 总结与展望
6.1 讨论
6.1.1 内存破坏攻击
6.1.2 与DEP、ASLR和CFI的比较
6.1.3 栈布局和Canary长度
6.2 总结
6.3 展望
致谢
参考文献
附录A 基于AES-NI指令集的AES加密函数
简历与科研成果
本文编号:3752579
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3752579.html