试题详情

试题内容

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
代码安全漏洞往往是系统或者网络被攻破的头号杀手。在C语言程序开发中,由于C语言自身语法的一些特性,很容易出现各种安全漏洞。因此,应该在C程序开发中充分利用现有开发工具提供的各种安全编译选项,减少出现漏洞的可能性。
【问题1】(4分)
图5-1给出了一段有漏洞的C语言代码(注:行首数字是代码行号),请问,上述代码存在哪种类型的安全漏洞?该漏洞和C语言数组的哪一个特性有关?

【问题2】(4分)
图5-2给出了C程序的典型内存布局,请回答如下问题。

(1)请问图5-1的代码中第9行的变量authenticated保存在图5-2所示的哪个区域中?
(2)请问stack的两个典型操作是什么?
(3)在图5-2中的stack区域保存数撕时, 其地址增长方向是往高地址还是往低地址更高?
(4)对于图5-1代码中的第9行和第10行代码的两个变量,哪个变量对应的内存地
【问题3】(6分)
微软的Visual Studio提供了很多安全相关的编译选项, 图5-3给出了图5-1中代码相关的工程属性页而的截图。请回答以下问题。

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

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

1题:

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学。密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用。
【问题1】(9分)
密码学的安全目标至少包括哪三个方面?具体内涵是什么?
【问题2】(3分)
对下列违规安全事件,指出各个事件分别违反了安全目标中的哪些项?
(1)小明抄袭了小丽的家庭作业。
(2)小明私自修改了自己的成绩。
(3)小李窃取了小刘的学位证号码、登录口令信息、并通过学位信息系统更改了小刘的学位信息记录和登陆口令,将系统中小刘的学位信息用一份伪造的信息替代,造成小刘无法访问学位信息系统。
【问题3】(3分)
现代密码体制的安全性通常取决于密钥的安全,为了保证密钥的安全,密钥管理包括哪些技术问题?
【问题4】(5分)
在图1-1给出的加密过程中,Mi,i=1,2,…,n表示明文分组,Ci,i=1,2
2题:

阅读下列说明,回答问题1至问题4,将解答填入答题纸的
完整内容请通过题库练习系统作答
1题:

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

访问控制是保障信息系统安全的主要策略之一,其主要任务是保证系统资源不被非法使用和非常规访问。访问控制规定了主体对客体访向的限制,并在身份认证的碁础上,对用户提出的资源访问请求加以控制。当前,主要的访问控制模型包括:自主访问控制(DAC)模型和强制访问控制(MAC)模型。

【问题1】(6分)

针对信息系统的访问控制包含哪三个基本要素?

【问题2】(4分)

BLP模型是一种强制访问控制模型,请问:

(1)BLP模型保证了1题:1.阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应
完整内容请通过题库练习系统作答
3题:阅读下列说明,回答问题 1 至问题 7,将解答写在答题纸的对 应栏内。
【说明】
扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义。nmap 是一个 开放源码的网络扫描工具,可以查看网络系统 中有哪些主机在运行以及哪些服务是开放的。 namp 工具的命令选 项: sS 用于实现 SYN 扫描,该扫描类型是通过观察开放端口和关闭 端口对探测分组的响应来实现端口扫描的。请根据图 3-1 回答下列 问题。

【问题 1】 (2 分)
此次扫描的目标主机的 IP 地址是多少?
【问题 2】(2 分)
SYN 扫描采用的传输层协议名字是什么?
【问题 3】 (2 分)SYN 的含义是什么?
【问题 4】 (4 分)
目标主机开放了哪几个端口?简要说明判
6题:阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。
【说明】
基于 Windows32 位系统分析下列代码,回答相关问题 。
void Challenge(char *str)
{
char temp[9]={0};
strncpy(temp,str,8);
printf("temp=%s\n",temp);
if(strcmp(temp"Please!@")==0){
printf("KEY: ****");
}
}
int main(int argc,char *argv[ ])
{
Char buf2[16]
Int check=1;
Char buf[8]
Strcpy (buf2, "give me key! !");
strcpy(buf,argv[1]);
if(check==65) {
Challenge(buf