摘要 | 第4-5页 |
ABSTRACT | 第5页 |
第1章 绪论 | 第8-22页 |
1.1 课题背景及研究的目的和意义 | 第8-10页 |
1.2 国内外相关研究与发展现状 | 第10-12页 |
1.3 工控系统组态软件安全防护相关技术 | 第12-20页 |
1.3.1 工控系统组态软件概论 | 第12-13页 |
1.3.2 动态二进制分析 | 第13-18页 |
1.3.3 软件逆向工程技术 | 第18-19页 |
1.3.4 DLL劫持技术 | 第19-20页 |
1.4 本文的研究内容及结构安排 | 第20-22页 |
第2章 组态软件关键模块定位 | 第22-33页 |
2.1 引言 | 第22页 |
2.2 软件执行轨迹的获取 | 第22-26页 |
2.2.1 软件的执行轨迹 | 第22-25页 |
2.2.2 基于Pin的执行轨迹获取 | 第25-26页 |
2.3 软件关键模块、函数的定位 | 第26-32页 |
2.3.1 基于指令级执行轨迹对比的关键模块定位 | 第26-29页 |
2.3.2 基于函数级执行轨迹覆盖度的关键函数定位 | 第29-31页 |
2.3.3 方法对比分析 | 第31-32页 |
2.4 本章小结 | 第32-33页 |
第3章 基于DLL劫持的组态软件安全防护方法 | 第33-48页 |
3.1 引言 | 第33页 |
3.2 关键模块、函数的逆向分析 | 第33-41页 |
3.2.1 栈帧和调用约定 | 第33-36页 |
3.2.2 基于IDA的函数逆向分析 | 第36-41页 |
3.3 工控系统组态软件的安全防护 | 第41-47页 |
3.3.1 通过DLL劫持在函数调用前截断执行流程 | 第41-45页 |
3.3.2 函数调用时的安全检测 | 第45-47页 |
3.4 本章小结 | 第47-48页 |
第4章 实验与分析 | 第48-63页 |
4.1 引言 | 第48页 |
4.2 实验环境 | 第48页 |
4.3 实验方案 | 第48-49页 |
4.4 Win CC测试 | 第49-61页 |
4.4.1 软件关键模块的获取 | 第49-57页 |
4.4.2 关键模块逆向分析与伪装模块编写 | 第57-58页 |
4.4.3 数据获取与安全防护 | 第58-61页 |
4.5 实验结果分析 | 第61-62页 |
4.5.1 执行轨迹获取与关键模块定位 | 第61页 |
4.5.2 关键模块逆向分析 | 第61页 |
4.5.3 安全防护 | 第61页 |
4.5.4 有效性和性能 | 第61-62页 |
4.6 本章小结 | 第62-63页 |
结论 | 第63-64页 |
参考文献 | 第64-70页 |
致谢 | 第70页 |