12.
- 
	
B选项:源代码审核工具应当以检查源代码的功能是否完整、是否执行正确为主要功能。
- 
		
这个选项不准确。源代码审核工具的主要功能是检查代码的质量和安全性,而不仅仅是功能的正确性。功能的正确性通常通过单元测试和集成测试来验证。
 
 - 
		
 
21.
B
两个覆盖谁更严不能简单判断,要分情况讨论
12.
B选项:源代码审核工具应当以检查源代码的功能是否完整、是否执行正确为主要功能。
这个选项不准确。源代码审核工具的主要功能是检查代码的质量和安全性,而不仅仅是功能的正确性。功能的正确性通常通过单元测试和集成测试来验证。
21.
B
两个覆盖谁更严不能简单判断,要分情况讨论
1,29.6万行源代码,监测出145个缺陷,缺陷密度(0.49)
2,GaryMcGraw博士及其合作者提出软件安全应由三根支柱支撑,这三个支柱是(应用风险管理、软件安全接触点、安全知识)
3,最小化反馈信息
4,信息中心考虑是正确的,在软件立项投入解决软件安全问题,总体经费投入比软件运行后的费用要低
5,“输入错误达到三次,将暂时禁止登录该账户”,遵循了安全设计原则的(不信任原则)
6,在软件保障成熟模型中,规定了软件开发过曾中的核心功能:
治理、构造、验证
7,模糊测试
深入分析网站测试过程中产生崩溃或异常的原因,必要时需要测试人员手工重现并分析
8,源代码审核
源代码审核指无需运行被测代码,仅对源代码检查分析,检测并报告源代码中可能隐藏的错误和缺陷
9,DDOS攻击可用性
http协议未对数据进行加密,导致用户信息泄露--保密性
http协议无法确认数据与用户发出是否一致----完整性
弱口令登录,修改数据----欺骗
10,Myeres在1979年提出了一个总归要观点:软件测试的目的-查找程序错误
11,软件工程方法得以实施的主要保证:
软件开发工具和软件开发环境
12,透露过多的web应用框架信息和安全配置信息可能导致:堆栈追溯
13,可靠性:与预期行为和结果一致的性质
可用性:可由经授权实体按需访问和使用的性质
完整性:指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现
14,软件可维护性中哪两项是相互矛盾的:
效率和可修改性
矛盾原因:软件效率越高可修改性就越低,比如使用了一些编程技巧、一些很负责的算法等
15,
语句覆盖
每个可执行语句都走一遍即可,即测试用例要覆盖所有的语句
判定覆盖(分支覆盖)
 针对判断语句,在设定案例的时候,要设定True和False的两种案例;与语句覆盖不同的是增加了False的情况
16,软件需求分析,应该实在软件定义阶段的工作
17,测试人员负责软件测试,测试完毕后会编写测试报告,里面一般都是软件的缺陷bug,因此开发人员应该和测试人员交流的是测试结果。测试执行报告是测试人员内部的文档,一般开发人员不参与讨论。
18,不是由软件设计缺陷引起的:
设计了用户权限分级机制和最小特权原则,导致软件在发布运行后,系统管理员不能查看系统审计信息
软件缺陷密度:缺陷*1000/源代码
GrayMcGraw博士及其合作者提出软件安全由三根支柱来支撑:应用风险管理、软件安全接触点、安全知识
威胁建模流程步骤:
软件保障成熟模型(SAMM)核心业务功能:
微软SDL提出的威胁建模方法(STRIDE)中的6类威胁:
不恰当的异常处理会导致堆栈追溯
软件可维护性矛盾:效率和可修改性
逻辑覆盖:
模糊测试:生成大量的畸形数据做为测试用例,将这些测试作为输入应用于被测对象;监测和记录由于输入导致的任何崩溃或异常现象。查看测试日志,深入分析产生崩溃或异常的原因。
权限分离原则:不同人拥有不同的权限
软件设计阶段已经知道了具体需求,所以软件需求分析是在定义阶段
系统管理员不能查看系统审计信息是正确的