2021年11月信息安全工程师模拟题下午(二)之十四
摘要:对于【信息安全工程师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2021年11月信息安全工程师模拟题下午(二)】部分试题的详解,一起来看看吧~1、【问题2】(每点2分,共 8分)简述缓冲区溢出的基本保护方法。答案
1、【问题2】(每点2分,共 8分)简述缓冲区溢出的基本保护方法。
答案:
系统管理防范策略:关闭不必要特权程序、及时打好系统补丁。
软件开发的防范策略:正确编写代码、缓冲区不可执行、改写C语言函数库、程序指针完整性检查、堆栈向高地址方向增长等。
答题解析:
常用的函数strcpy()、sprintf()、strcat()、vsprintf()、gets()、scanf()以及在循环内的函数getc()、fgetc()、getchar()等都非常容易导致缓冲区溢出。
防范缓冲溢出的策略有:
系统管理防范策略:关闭不必要特权程序、及时打好系统补丁。
软件开发的防范策略:正确编写代码、缓冲区不可执行、改写C语言函数库、程序指针完整性检查、堆栈向高地址方向增长等。目前有四种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响:
1、强制写正确的代码的方法
除非程序员能保证他的程序万无一失,否则还是要用到以下部分的内容来保证程序的可靠性能。
2、通过操作系统使得缓冲区不可执行,从而阻止攻击者殖入攻击代码
这种方法有效地阻止了很多缓冲区溢出的攻击,但是攻击者并不一定要殖入攻击代码来实现缓冲区溢出的攻击,所以这种方法还是存在很多弱点的。
3、利用编译器的边界检查来实现缓冲区的保护
这个方法使得缓冲区溢出不可能出现,从而完全消除了缓冲区溢出的威胁,但是相对而言代价比较大。
4、在程序中进行完整性检查
这样虽然这种方法不能使得所有的缓冲区溢出失效,但它的确确阻止了绝大多数的缓冲区溢出攻击,而能够逃脱这种方法保护的缓冲区溢出也很难实现。
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>