首页 > 知识点讲解
       软件产品安全测试
知识路径: > 测试技术的分类 > 安全测试与评估 > 
被考次数:10次     被考频率:高频率     总体答错率:47%     知识难度系数:     
相关知识点:29个      
        软件产品安全测试侧重于以下方面:用户对数据或业务功能的访问控制,数据存储和数据通信的远程安全控制。
               用户管理和访问控制
                      用户权限控制
                      对于应用软件来说,用户权限的控制是比较重要的,一个用户能够访问一个应用系统的权限,通常我们认为来源于三个方面,即:应用软件本身、操作系统和数据库。应用软件产品在开发的过程中,主要采用用户名和密码登录的方式完成。对于安全强度较高的软件也可采用指纹认证、智能卡认证等方式进行。对于测试者来说,应当注意以下几个方面。首先应当评价用户权限控制的体系合理性,是否采用三层架构的管理模式,即系统管理员、业务领导和操作人员三级分离;用户名称基本采用中文和英文两种,对于测试来说,对于用户名称的测试关键在于测试用户名称的惟一性。惟一性的体现基本基于以下两个方面。
                      ①同时存在的用户名称在不考虑大小写的状态下,不能够同名;
                      ②对于关键领域的软件产品和安全性要求较高的软件,应当同时保证使用过的用户在用户删除或停用后,保留该用户记录,并且新用户不得与该用户同名。
                      用户口令应当满足当前流行的控制模式,注意测试用户口令的强度和口令存储的位置和加密强度,如下所示。
                      ①最大口令时效:指定用户可以保留当前口令的时间。
                      ②最小口令时效:指定在修改口令之前,用户必须保留口令的时间。
                      ③口令历史:确定系统将要记住的口令的数量。如果用户选择的口令存在于口令历史数据库中,系统将强制用户选择其他口令。
                      ④最小口令长度:对于用户口令,可以包含的最少的可以接受的字符数目。
                      ⑤口令复杂度:在口令中要求用户使用非字母数字的字符或大写字母。
                      ⑥加密选项:可以加密本地存储的口令。
                      ⑦口令锁定:口令锁定是被用来对付猜测口令的主要工具。在输入的非法口令达到规定的次数之后,系统将禁用这个账户。这种技术在对付远程暴力攻击的时候特别有效。
                      ⑧账户复位:账户锁定后定义是否可以在规定时间间隔后自动恢复,可以减轻系统管理员的工作强度。
                      用户权限分配方式是否合理,用户认证的目的在于访问控制,对于软件产品来说,主要是用户能够使用某些功能或访问某些数据的能力。从软件测试的角度来说,应当结合黑盒功能测试,首先测试软件用户权限系统本身权限分配的细致程度,比如,对于查询功能来说,查询的数据是否能够按照业务需求进行细致划分,然后对特定权限用户访问系统功能的能力进行测试,该部分测试应当充分利用等价值划分方法进行案例设计,避免重复测试。
                      操作系统安全性的测试
                      操作系统本身的安全性对应用软件存在影响,测试中要考察:是否关闭或卸载了不必要的服务和程序;是否存在不必要的账户;权限设置是否合理;安装相应的安全补丁程序的情况;操作系统日志管理等。
                      数据库权限的测试
                      数据库权限管理目前存在较多问题,该部分的测试有如下三个方面。
                      ①应用软件部署后,数据库管理用户的设置应当注意对账号的保护,超级用户的口令不得为空或默认口令。对数据库的账号和组的权限作相应设置,如锁定一些默认的数据库用户;撤销不必要的权限。
                      ②数据库中关于应用软件用户权限和口令存储的相关表格,尽量采用加密算法进行加密。
                      ③软件企业在进行软件产品开发时,开发人员通常为了开发方便,在客户端与数据库通信时,均使用超级用户及默认密码(例如:username=“sa”,password=“”)访问数据库,这种方式将会带来严重的安全隐患,测试人员可以通过网络侦听的技术,或使用白盒测试方法进行测试,并且应当建议开发者,根据不同程序访问数据库的功能,使用不同的数据库用户进行连接,且必须设置复杂的密码。
               通信加密
               通信加密是保证数据在传输过程中数据的保密性和一致性的测试,软件产品在技术上通常使用链路加密、数据加密的方式进行,目前使用的加密技术包括VPN技术、对称加密算法、非对称加密算法、HASH算法等。
               VPN技术通常使用Kebores加密算法结合IPSec加密协议,实现通信链路的加密,加密强度较高,多用于广域网中的数据安全传输,但是操作较复杂。
               对称加密算法和非对称加密算法主要包括RSA、DSA(非对称)、DES(对称),使用上述算法的主要目的在于解决数据的保密性传输。
               HASH算法的目的在于保护数据内容的一致性,防止数据在传输过程中被篡改。
               通信加密测试的目的主要是,保证软件产品确实在开发过程中,按照设计要求使用了上述方法进行了通信的加密,通常使用验证和侦听技术完成。另外还需要注意的是,如果开发过程中使用上述标准对加密函数进行加密,加密强度是受密钥的复杂度等因素影响的,无须对本身算法加密强度进行论证,如果使用自定义的加密函数,测试人员应当使用破解技术对算法本身的加密强度进行论证,或将自定义加密算法提交特定机构进行测试和认证。
               安全日志测试
               我们上面已经提到,安全日志是软件产品被动防范的措施,是重要的安全功能,因此需要在软件测试过程中重点测试。
               日志应当记录所有用户访问系统的操作内容,包括登录用户名称、登录时间、浏览数据动作、修改数据动作、删除数据动作、退出时间、登录机器的IP等。
               测试人员应该根据业主要求或设计需求,对日志的完整性、正确性进行测试,测试安全日志是否包含上述全部内容,是否正确,并且对于大型应用软件来说,系统是否提供了安全日志的智能统计分析能力,是否可以按照各种特征项进行日志统计,分析潜在的安全隐患,并且及时发现非法行为。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有