本系列文章通过对GB/T 25000.51-2016标准的解读,帮助大家透彻地了解如何依据标准开展软件测试,本文介绍的是八大质量特性中的信息安全性测试。
信息安全性指的是产品或系统保护信息和数据的程度,以使用户、其他产品或系统具有与其授权类型和授权级别一致的数据访问度。
主要针对保密性、完整性、抗抵赖性、可核查性、真实性、信息安全性的依从性进行测试,验证产品或系统保护信息和数据的程度,使用户、系统产品或系统具有与其授权类型和授权基本一致的数据访问度。
1、保密性
保密性指的是产品或系统确保数据只有在被授权时才能被访问的程度。也就是软件的数据是否只有被授权的用户进行访问。
被测软件产品须防止未得到授权的人或系统访问相关的信息或数据,还要保证得到授权的人或系统能正常访问相关的信息或数据。
为了保证数据在传输过程中不被窃听,须对通信过程中的整个报文或会话过程进行加密。
例如,在交易系统中,涉及银行账号、交易明细、身份证号、手机号码等敏感信息,须保证这些信息在传输过程中的安全性,可采用3DES(三重数据加密算法)、AES(高级加密标准)和IDEA(国际数据加密算法)等。
进行加密处理。同时,须保证敏感信息在存储过程的保密性。
启用访问控制功能,依据安全策略和用户角色设置访问控制矩阵,控制用户对信息或数据的访问。
用户权限应遵循“最小权限原则”,授予账户承担任务所需的最小权限。
例如,管理员只须拥有系统管理权限,不应具备业务操作权限。同时,要求不同账号之间形成相互制约关系,系统的审计人员不应具有系统管理权限,系统管理人员也不应具有审计权限。这样,审计员和管理员之间就形成了相互制约关系。
总结下来,信息安全性在保密性方面的测试主要是通过以下三个方面进行测试:访问控制性、数据加密正确性和加密算法的强度。
访问控制性,设置访问控制矩阵,控制用户对信息或数据的访问;用户权限遵循“最小权限原则”等;
数据加密正确性,是否按照需求规格说明中的要求, 对数据项进行了加密处理,包括数据传输、数据存储;
加密算法的强度,是否采用了不安全的加密算法,如DES等。
2、完整性
完整性指的是系统、产品或组件防止未授权访问、篡改计算机程序或数据的程度。简而言之就是软件是否可以防止数据被篡改。
为了防止数据在传输和存储过程中被破坏或被篡改,一般会采用增加校验位、循环冗余校验(Cyclic Redundancy Check,CRC)的方式,检查数据完整性是否被破坏,或者采用各种散列运算和数字签名等方式实现通信过程中的数据完整性。
采用关系型数据库保存数据,例如,采用Oracle数据库,增加数据完整性约束,如唯一键、可选值、外键等。
实现事务的原子性,避免因为操作中断或回滚造成数据不一致,完整性被破坏。
总结,信息安全性测试在完整性方面的测试主要从数据传输完整性以及数据存储完整性这两个方面着手。
数据传输完整性,使用散列算法对传输数据进行加密;
数据存储完整性,采用关系型数据库保存数据,比如Oracle数据库,增加数据完整性约束,如唯一键、可选值、外键等;
实现事务的原子性,避免因为操作中断或回滚造成数据不一致,完整性被破坏。
3、抗抵赖性
抗抵赖性指活动或事件发生后可以被证实且不可被否认的程度。也就是软件的功能操作是否具有抗抵赖性。
启用安全审计功能,对活动或事件进行追踪。
对审计日志进行管理,日志不能被任何人修改或删除,形成完整的证据链。
采用使用数字签名处理事务,在收到请求的情况下为数据原发者或接收者提供数据原发和接收证据。
信息安全性测试在抗抵赖性方面的测试主要是考察软件的关键的功能操作是否采用使用了数字签名。
4、可核查性
可核查性指实体的活动可以被唯一地追溯到该实体的程度,也就是软件的功能操作是否可以被唯一的追溯,
可核查性和抗抵赖性不同,重点在追溯实体的程度。
主要考察启用安全审计功能之后,覆盖用户的多少和安全事件的程度等。
覆盖到每个用户活动,用户活动的日志记录内容至少应包括事件日期、时间、发起者信息、类型、描述和结果等。
审计跟踪设置是否定义了审计跟踪极限的阈值,当存储空间被耗尽时,能否采取必要的保护措施。例如,报警并导出、丢弃未记录的审计信息、暂停审计或覆盖以前的审计记录等。
5、真实性
真实性指对象或资源的身份标识能够被证实符合其声明的程度。也就是软件是否有相应措施来保证对象或资源的身份标识是真实的。
系统提供专用的登录控制模块对登录用户进行身份标识和鉴别,验证其身份的真实性,同时需证实符合其声明的程度。
用户的身份鉴别信息不易被冒用,同时不存在重复的用户身份标识。
系统中用户名唯一且与用户一一对应,采用用户名和口令的方式对用户进行身份鉴别,提高用户的口令开启复杂度,例如,口令长度在8位以上时,应至少包含数字、大小写字母、特殊字符中的三种,强制定期更换口令。
系统不存在共享账户。
提供登录失败处理功能,采取如结束会话、限制非法登录次数和自动退出等措施,这些都可以在用户文档集中进行要求。
6、依从性
信息安全性的依从性指产品或系统遵循与信息安全性相关的标准、约定或法规以及类似规定的程度。
主要是看产品说明中是否提及产品信息安全性的相关标准、约定或法规以及类似规定要求,比如:一般电力行业的相关标准会对系统有特定的安全要求。
下面我们再说一说软件产品的信息安全性测试作业指导书的主体内容:
1、确定测试需求
在测试需求分析阶段,主要可以分为测试内容分析、用户角色及权限分析、敏感信息分析、关键功能处理逻辑分析、数据接口分析这几部分。
查阅相关资料,分析是否有明确的安全性要求。若有明确的安全性要求,进一步分析确定出要测试验证的类别及具体的测试内容;若没有明确的安全性要求,则可选取常规的身份鉴别、访问控制、数据安全、安全审计、漏洞扫描作为安全性的测试内容。
2、测试用例设计
根据安全测试需求分析结果,结合信息安全测试用例库,设计针对性的测试用例。
从以下几个方面:身份鉴别、访问控制、数据安全、安全审计、漏洞扫描、抗抵赖性、接口安全、密码应用、个人信息保护、剩余信息保护、组件安全、业务安全、依从性。

3、进行测试
根据设计的测试用例及实施验证方法进行测试、分析。如身份鉴别部分,人工检查系统登录模块,用户及口令相关配置,并进行登录等相关的操作,验证相关测试项是否符合预期的安全要求。
4、测试结果总结
测试结果主要包括两个部分:测试执行结果报告和异常情况报告。测试执行结果报告汇总所有测试用例执行结果,记录测试执行过程(包括测试用例的标识符、测试执行日期、实施测试的人员、测试用例执行的结果、发现的异常情况等)。
为保证测试结果的质量,可组织其他测试人员对发现的严重程度较高的异常情况进行复现;审核测试过程中测试需求、测试计划、测试设计、测试执行结果报告、测试异常情况报告的一致性。
5、得出测试结论
依据测试计划中规定的通过-失败准则,得出测试结论,出具测试报告。测试报告内容包括产品基本信息、测试结果汇总、发现的异常情况描述、测试环境描述(如用于测试的计算机硬件、软件及其配置信息)、所使用的测试工具等内容。
道普云,专注软件检测领域CNAS/CMA实验室建设,如需软件测试作业指导书、能力验证真题等资料,可点击菜单获取。

