上QQ阅读APP看书,第一时间看更新
3.3 思考与实践
1.程序运行时的内存布局是怎样的?
2.在程序运行时,用来动态申请分配数据和对象的内存区域形式称为什么?
3.什么是缓冲区溢出漏洞?
4.简述Windows安全漏洞保护的基本技术及其存在的问题。
5.本章介绍了Windows的5种典型保护机制,但是每一种保护机制仍然面临着缺陷和许多对抗的方法,这说明了什么问题?应当如何应对这一问题?
6.可以将内存访问错误大致分成以下几类:数组越界读或写、访问未初始化内存、访问已经释放的内存和重复释放内存或释放非法内存。下面的代码集中显示了上述问题的典型例子。这个包含许多错误的程序可以编译连接,而且可以在很多平台上运行。但是这些错误就像定时炸弹,会在特殊配置下触发,造成不可预见的错误。这就是内存错误难以发现的一个主要原因。试分析以下代码中存在的安全问题。
7.验证实验题:参考本章【例3-1】【例3-2】和【例3-3】,对栈溢出漏洞及其利用进行分析,完成实验报告。
8.验证实验题:参考本章【例3-4】【例3-5】和【例3-6】,对格式化串漏洞及其利用进行分析,完成实验报告。
9.设计探究题:参考本章案例对Windows安全漏洞保护技术缺陷进行分析,完成实验报告。