1、计算机水平考试中级软件评测师 2014 年下半年下午(应用技术)真题及答案解析(总分:95.02,做题时间:150 分钟)试题一(共 20 分) 阅读下列 C 程序,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【C 程序】 int GetMaxDay( int year, int month ) int maxday = 0; /1 if ( month =1 “); 然后通过 setString(.);的方式设置参数值后加以执行。 在 SQL 语句中采用参数的方式传递前台传递来的值,因为不论是什么值,都会只作为setString(.)的参数值,不会作为 SQL 语句的其他功能符,
2、所以本 SQL 语句更新订单的方式是防止 SQL注入的。设计如下测试 SQL 注入的测试用例: status:fulfilled - , OrderID: 2014 OR 1 = 1 检查执行结果,或者传递给数据库的 SQL 语句,会发现所有用例中的功能字符都会 经过特定的转义后作为 status 和 OrderlD 的值。和拼接 SQL 的方式不同,采用参数形式传递时,Java 的 JDBC 驱动自动会将其按照相应的类型处理,功能符号会进行转义。因 此,测试用例中的注释-、OR 等都会作为参数的值,不会作为功能符,也就不会改变 SQL 语句本身的功能结构,该 SQL 语句是安全的。试题四(共
3、 20 分) 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 某大型教育培训机构近期上线了在线网络学校系统,该系统拓扑结构如图 4-1 所示。 企业信息中心目前拟对该系统用户认证机制进行详细的安全性测试,系统注册用户分为 网校学员、教师及管理员三类,其中网校学员采用用户名/ 口令机制进行认证,教师及管理员采用基于公钥的认证机制。 (分数:20.01)(1).【问题 1】(8 分) 为防止针对网校学员的口令攻击,请从口令的强度、传输存储及管理等方面,说明可采取哪些安全防护措施。相应地,对于网校学员所采用的口令认证机制进行测试时,请说明从用户名称及用户口令两个方面开
4、展测试时应包含哪些基本的测试点。(分数:6.67)_正确答案:(1)可采取的安全防护措施包括: (D 口令强度:可设置最小口令长度,同时可采取要求用户在口令中使用非数字字母的字符等增加口令复杂度的手段提高口令强度。 口令传输存储:可采用加密或 Hashing 手段,系统服务端存储的用户口令可加密或 Hashing 后存储,网络传输的用户口令可加密或Hashing 后进行传输。 口令管理:可设置最大口令时效强制用户定期更新口令,引入口令锁定机制以应对口令猜测攻击,引入口令历史强制用户设置新口令等。 (2)对口令认证机制测试应包含的基本测试点:对用户名称测试的主要测试点在于测试用户名称的唯一性,即
5、测试同时存在的用户名称在不考虑大小写的情况下,不能够同名。 对用户口令测试应主要测试用户口令是否满足当前流行的控制模式。主要测试点应包括最大/最小口令时效、口令历史、最小口令长度、口令复杂度、加密选项及口令锁定等。)解析:本问题考查考生对基于口令的用户认证机制相关安全测试内容的了解。 基于口令的认证是最简单的用户认证方式,口令具有共享秘密的属性,该方式也容易受到相应的口令攻击。为防范口令攻击,通常可以从口令的强度、传输存储及管理等方面采取相应的安全防护措施,具体措施可包括设置最小口令长度,同时可采取要求用户在口令中使用非数字字母的字符等增加口令复杂度的手段提高口令强度;采用加密或Hashing
6、 手段,系统服务端存储的用户口令可加密或 Hashing 后存储,网络传输的用户口令可加密或Hashing 后进行传输;设置最大口令时效强制用户定期更新口令,引入口令锁定机制以应对口令猜测攻击,引入口令历史强制用户设置新口令等。 对用户名称测试的主要测试点在于测试用户名称的唯一性,即测试同时存在的用户名称在不考虑大小写的情况下,不能够同名。对用户口令测试应主要测试用户口令是否满足当前流行的控制模式,主要测试点应包括最大/最小口令时效、口令历史、最小口令长度、口令复杂度、加密选项及口令锁定等。(2).【问题 2】(6 分) 为提高系统认证环节安全性,系统在网校教师及管理员登录认证时引入了 USB
7、 Key,请说明对公钥认证客户端进行安全测试时,USB Key 的功能与性能测试应包含哪些基本的测试点。(分数:6.67)_正确答案:(客户端 USBKey 测试的基本测试点: (1)功能测试 是否支持 AES、RSA 等常用加解密算法。 是否提供外部接口以支持用户证书及私钥的导入。 是否提供外部接口支持将数据传入 Key 内,经过公钥/私钥计算后导出。 是否能实现 USBKey 插入状态实时监测,当 USBKey 意外拔出时是否能自动锁定用户状态。 是否使用口令进行保护。 (2)性能测试 是否具备私钥不能导出的基本安全特性。 Key内加解密算法的执行效率是否满足系统最低要求。)解析:本问题考
8、査考生对 USBKey 安全测试内容的理解。 USBKey 内置单片机或智能卡芯片有一定的存储空间,可以存储用户的私钥以及数字证书,利用 USBKey 内置的加密算法可以实现对用户身份的认证。由于用户私钥通常保存在密码锁中,理论上无法读取,因此可保证用户认证的安全性。 针对 USBKey 的测试通常包括功能与性能测试两个方面。功能测试的基本测试点包括是否支持 AES、RSA 等常用加解密算法;是否提供外部接口以支持用户证书及私钥的导入;是否提供外部接口支持将数据传入 Key 内,经过公钥/私钥计算后导出;是否能实现 USBKey 插入状态实时监测,当 USBKey 意外拔出时是否能自动锁定用户
9、状态;是否使用口令进行保护等。性能测试的基本测试点包括是否具备私钥不能导出的基本安全特性;Key 内加解密算法的执行效率是否满足系统最低要求等。(3).【问题 3】(6 分) 系统证书服务器主要提供证书审核注册管理及证书认证两项功能,根据系统实际情况,目前只设置人员证书,请说明针对证书服务器的功能与性能测试应包含哪些基本的测试点。(分数:6.67)_正确答案:(证书服务器测试的基本测试点: (1)功能测试 系统是否提证书的申请、审核、签发与管理功能。 系统是否提供证书撤销列表的发布和管理等功能。 系统是否提供证书认证策略及操作管理策略、自身证书安全管理等管理服务。 是否可以提供加密证书和签名证
10、书。 证书格式是否采用标准X.509 格式。 (2)性能测试 检查证书服务器的处理性能是否具备可伸缩配置及扩展能力。 关键部分是否采用双机热备和磁盘镜像等安全机制。 是否满足系统的不间断运行、在线故障恢复和在线系统升级的需要。 是否满足需求中预测的最大数量用户正常访问需求,且是否具备 34 倍冗余,并根据需要测试证书服务器的并发处理能力。)解析:本问题考查证书服务器安全测试内容的相关知识。 按题目描述,系统证书服务器主要提供证书审核注册管理及证书认证两项功能,因此针对证书服务器的安全测试也应主要涵盖这两项主要功能的相应测试。 功能测试的基本测试点包括系统是否提证书的申请、审核、签发与管理功能;
11、系统是否提供证书撤销列表的发布和管理等功能;系统是否提供证书认证策略及操作管理策略、自身证书安全管理等管理服务;是否可以提供加密证书和签名证书;证书格式是否采用标准 X.509 格式等。性能测试的基本测试点包括检查证书服务器的处理性能是否具备可伸缩配置及扩展能力,关键部分是否采用双机热备和磁盘镜像等安全机制;是否满足系统的不间断运行、在线故障恢复和在线系统升级的需要;是否满足需求中预测的最大数量用户正常访问需求;且是否具备 34 倍冗余,并根据需要测试证书服务器的并发处理能力等。试题五(共 20 分) 阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】 某嵌入式刹车
12、控制软件,应用于汽车刹车控制器,该软件需求如下: 1.模式选择:采集模式控制离散量信号 In_Dl 并通过模式识别信号灯显示软件当前工作模式。在信号 In_Dl 为低电平时进入正常工作模式(模式识别信号灯为绿色),为高电平时进入维护模式(模式识别信号灯为红色)。软件在正常工作模式下仅进行刹车控制和记录刹车次数,在维护模式下仅进行中央控制器指令响应。 2.刹车控制:采用定时中断机制,以 5ms 为周期采集来自驻车器发出的模拟量信号 In_Al 以及来自刹车踏板发出的模拟量信号 In_A2,并向刹车执行组件发送模拟量信号 Out_Al 进行刹车控制。 模拟量信号说明:l)In_Al、In_A2 以
13、及Out_Al 信号范围均为0.0V,10.0V,信号精度均为 0.1V;2)Out_Al 信号的计算方法为:Out_Al=In_Al+0.3xIn_A2,在计算完成后需要在满足信号精度的要求下进行四舍五入及限幅处理。 3.记录刹车次数:在 Out_Al 大于 4V 时,读出非易失存储器 NVRAM 中保存的刹车次数记录进行加 1 操作,然后保存至非易失存储器 NVRAM 中。 4.响应中央控制器指令;接收来自中央控制器的串行口指令字 In_Sl,回送串行口响应字 Out_Sl。当接收的指令字错误时,软件直接丢弃该命令字,不进行任何响应。 指令字及响应字说明如表 5-1 所示。 (分数:20.
14、00)(1).【问题 1】(4 分) 在不考虑测量误差的情况下,根据所设计的输入填写表 5-2 中的空(1)?(4)。 (分数:5.00)_正确答案:(1)4.6V (2)7.3V (3)10.0V (4)10.0V)解析:此问题主要考查对题目描述需求的阅读理解能力,主要对需求中模拟量信号说明部分进行理解正确,即“模拟量信号说明:1)In_Al、In_A2 以及 Out_Al 信号范围均为O.OV,10.0V,信号精度均为 0.1V;2)Out_Al 信号的计算方法为:Out_Al=In_Al+0.3xIn_A2,在计算完成后需要在满足信号精度的要求下进行四舍五入及限幅处理。” 本题中空(1)
15、处直接使用公式计算即可;根据公式计算空(2)处为 7.34,而根据需求精度为 0.1,所以需要四舍五入为 7.3;根据公式计算空(3)处为 10.1,满足精度要求,但是需要限幅为 10;根据公式计算空(4)处为 13,需要限幅为 10。(2).【问题 2】(8 分) 请简述本软件串行输入接口测试的测试策略及测试内容。针对表 5-1 中“读取刹车次数指令”进行鲁棒性测试时应考虑哪些情况?(分数:5.00)_正确答案:(测试策略包括测试正常和异常指令的响应。 测试内容包括读取刹车次数和清除刹车次数两种指令。 对“读取刹车次数指令”鲁棒性测试时应考虑输入接口帧头错误、指令码错误、帧长错误、帧尾错误以
16、及整个指令长度超过 4B 的情况。)解析:本问题主要考查测试的基本概念及应用。对所有的测试而言,都必须进行正常测试和异常测试,在本题中对测试对象实例化为串行输入接口。串行输入接口在本题的需求描述中,根据表 5-1 内容,负责接收读取刹车次数和清除刹车次数两种指令,故测试内容为此两种指令。对“读取刹车次数指令”进行鲁棒性测试时应考虑的情况,其实也是接口鲁棒性测试概念的一个实例化,对接口的数据包而言,至少应该包括帧头错误、数据长度错误、数据错误、校验和错误、校验码错误、帧尾错误以及其他防止指令错误手段的错误等。对本题的实例化而言,具体包括帧头错误、指令码错误、帧长错误、帧尾错误以及整个指令长度超过
17、 4 字节的情况。(3).【问题 3】(6 分) 某测试人员设计了如表 5-3 所示的操作步骤,对模式选择功能进行测试(表中END 表示用例到此结束)。 为进一步提高刹车控制软件的安全性,在需求中增加了设计约束:软件在单次运行 过程中,若进入正常工作模式,则不得再进入维护模式。请参照表 5-3 的测试用例完成 表5-4,用于测试该设计约束。 (分数:5.00)_正确答案:( )解析:本问题中如果不考虑约束,软件工作状态从组合的角度来说,表 5-2 的测试顺序完全符合要求。但是许多软件在实际使用中,由于真实情况的限制,不能从理论的情况进行组合,对一些条件必须要进行约束。比如本题中,在单次进入正常
18、工作模式后,就不能进入维护模式,因为维护模式是一种检修模式,不能再正常工作中,进行检修,所以必须保证在正常工作模式下,对维护模式命令不响应。所以此题的前提条件应该为“上电前置 In_Dl 为高电平,给测试环境上电,模式识别信号灯为红色”,即在上电后首先让工作模式为维护模式;然后再发送进入正常工作模式命令,灯变绿,进入工作模式;最后在正常工作模式下,发送进入维护模式命令,此时软件应该不响应,灯继续为绿色,表示在工作模式,完成带约束条件的状态转换测试。如果此题继续表 3-2 的测试前提条件,不管发送什么命令,灯一直不会变化,就无法判断是软件问题还是测试设备问题,无法完成测试。(4).【问题 4】(2 分) 本项目在开发过程中通过测试发现了 17 个错误,后期独立测试发现了 31 个软件错误,在实际使用中用户反馈了 2 个错误。请计算缺陷探测率(DDP)。(分数:5.00)_正确答案:(【问题 4】 DDP=(17+31)/(17+31+2)=96%)解析:本问题是一个简单的测试概念,缺陷探测率(DDP)=测试发现的软件问题/软件总的发现问题。对本题而言,缺陷探测率(DDP)=(17+31)/(17+31+2)=96%。