Windows代码签名机制缺陷研究与分析
摘要 | 第5-7页 |
ABSTRACT | 第7-8页 |
目录 | 第9-11页 |
图录 | 第11-13页 |
第一章 绪论 | 第13-18页 |
1.1 研究背景 | 第13页 |
1.2 研究现状 | 第13-16页 |
1.3 研究的目的及意义 | 第16页 |
1.4 论文的主要内容与章节安排 | 第16-18页 |
第二章 代码安全分析技术 | 第18-28页 |
2.1 数字签名技术 | 第18-21页 |
2.1.1 签名 | 第18页 |
2.1.2 验证 | 第18-19页 |
2.1.3 数字认证 | 第19页 |
2.1.4 数字证书存储技术 | 第19页 |
2.1.5 数字证书 | 第19-20页 |
2.1.6 证书授权机构 | 第20页 |
2.1.7 获取证书 | 第20-21页 |
2.2 PE文件 | 第21-23页 |
2.2.1 PE文件格式 | 第21-22页 |
2.2.2 MS-DOS头部/实模式头部 | 第22页 |
2.2.3 PE文件头部 | 第22页 |
2.2.4 PE文件可选头部 | 第22-23页 |
2.2.5 PE文件段 | 第23页 |
2.3 微软Authenticode技术 | 第23-25页 |
2.3.1 Authenticode简介 | 第23-24页 |
2.3.2 基于PKCS | 第24页 |
2.3.3 签名者信息 | 第24-25页 |
2.3.4 计算PE文件的散列值 | 第25页 |
2.4 驱动程序 | 第25-26页 |
2.4.1 驱动程序的类型 | 第26页 |
2.4.2 驱动程序的结构 | 第26页 |
2.4.3 驱动程序的加载与卸载 | 第26页 |
2.5 软件逆向工程技术 | 第26-27页 |
2.6 本章小结 | 第27-28页 |
第三章 Windows代码签名机制 | 第28-38页 |
3.1 Windows代码签名机制概况 | 第28-33页 |
3.2 代码签名机制验证流程 | 第33-37页 |
3.2.1 初始化 | 第33-35页 |
3.2.2 驱动程序签名验证 | 第35-37页 |
3.3 代码签名机制缺陷简介 | 第37页 |
3.4 本章小结 | 第37-38页 |
第四章 代码签名机制内部安全隐患 | 第38-50页 |
4.1 PE文件自身的脆弱性 | 第38-47页 |
4.1.1 填充附加数据 | 第38-45页 |
4.1.2 重组PE文件结构 | 第45-47页 |
4.2 脱机关闭代码签名机制 | 第47-49页 |
4.3 本章小结 | 第49-50页 |
第五章 代码签名机制外部绕过方法 | 第50-67页 |
5.1 通过驱动程序中的漏洞绕过代码签名机制 | 第50-58页 |
5.1.1 第三方驱动的安全漏洞 | 第50-54页 |
5.1.2 系统驱动的安全漏洞 | 第54-58页 |
5.2 基于散列值碰撞技术的安全漏洞 | 第58-66页 |
5.2.1 伪造程序签名 | 第59-63页 |
5.2.2 伪造数字证书 | 第63-66页 |
5.3 本章小结 | 第66-67页 |
第六章 总结与展望 | 第67-71页 |
6.1 本文的主要成果 | 第67-68页 |
6.2 代码签名机制可采取的改进措施 | 第68-70页 |
6.2.1 完善驱动程序审核制度 | 第68页 |
6.2.2 加强代码签名机制的验证环节 | 第68-69页 |
6.2.3 加强对用户的指导 | 第69-70页 |
6.3 对未来研究的展望 | 第70-71页 |
参考文献 | 第71-75页 |
致谢 | 第75-76页 |
攻读硕士学位期间已发表或录用的论文 | 第76页 |
攻读硕士学位期间参与的科研项目 | 第76-77页 |
附件 | 第77页 |