阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。 【说明】 代码安全漏洞往往是系统或者网络被攻破的头号杀手。在C语言程序开发中,由于C语言自身语法的一些特性,很容易出现各种安全漏洞。因此,应该在C程序开发中充分利用现有开发工具提供的各种安全编译选项

admin2021-02-03  60

问题 阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。
【说明】
代码安全漏洞往往是系统或者网络被攻破的头号杀手。在C语言程序开发中,由于C语言自身语法的一些特性,很容易出现各种安全漏洞。因此,应该在C程序开发中充分利用现有开发工具提供的各种安全编译选项,减少出现漏洞的可能性。
微软的Visual Studio提供了很多安全相关的编译选项,图5-3给出了图5-1中代码相关的工程属性页面的截图。请回答以下问题。

(1)请问图5-3中哪项配置可以有效缓解上述代码存在的安全漏洞?
(2)如果把图5-1中第10行代码改为char buffer[4];图5-3的安全编译选项是否还起作用?
(3)模糊测试是否可以检测出上述代码的安全漏洞?

选项

答案(1)Enable Security Check(/GS) (2)不起作用 (3)可以检测出漏洞

解析 微软的Visual Studio编译器提供了很多的安全编译选项,可以对代码进行安全编译,例如图中.Enable Security Check(/GS)可以在栈中添加特殊值,使得一旦被覆盖就会导致异常,从而增加漏洞利用难度。该编译选项针对小于等于4个字节的数组不起保护作用。模糊测试通过发送不同长度的数据给buffer,可能导致覆盖后续变量和指针值,导致程序异常从而触发监测,因此采用模糊测试的方法是可以检测出此类漏洞的。
转载请注明原文地址:https://jikaoti.com/ti/PyoiFFFM
0

相关试题推荐
最新回复(0)