软件测试 安全测试合理化建设和设想
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试安全测试合理化建设和设想软件开发的完善给测试人员带来巨大的压力,从开发至软件投入使用,都不缺测试工程师的身影。其中过程需要六大质量特性的测试、性能测试、甚至安全测试。针对安全保密性方面,测试工程师需要利用资源进行测试要点的收集及测试用例的设计,从而更多的发现软件运行时可能出现的安全漏洞。
一、数据库安全的测试策略
数据库安全是整个系统的核心,系统中所有用户的信息全依靠数据库的校验。在数据库测试策略中,针对B/S架构软件最常用的有身份鉴别、安全审计、漏洞安全等三方面。
(一)身份鉴别:为的是测试数据库系统账户口令和传输的安全性,执行过程中主用SELECT * FROMDBA_PROFILES命令,其中包涵的内容有:1.数据库系统密码复杂度函数必须实现配置,以避免密码被破解而导致用户敏感信息泄露。2.用户登录系统失败有处理机制,以避免有意人员利用会话失败,进行用户并发攻击数据库,致使数据库崩溃。3.在用户连接数据库后闲置超时,必须有配置自动退出,以避免用户敏感信息被恶意抓包。
(二)安全审计:对数据库系统日志审计的安全性进行测试,保证数据库审计策略配置必须达到基线要求。
(三)漏洞安全:同样是对数据库系统日志审计的安全进行测试,保证数据库能达到安全配置要求:1.数据库必须存在拒绝服务攻击配置。2.不能有远程溢出等安全漏洞。3.数据库组件必须安全配
置完备,无漏洞。4.数据库内核漏洞均已修复。
二、WEB应用安全:B/S架构已成为市场信息系统开发的主流,而WEB应用的安全防护更需要谨而慎之,下面罗列出针对WEB应用安全的常见的测试策略
(一)密钥管理:要求根据某个指定的标准规定的算法和密钥长度来生成密钥。操作步骤: 1.进入 Web应用系统,打开密码修改功能;2.查看Web应用的密码修改功能是否需要输入原密码。3.设置简单密码123456,记录返回结果。期望结果:修改密码是需要输入原密码,并且不能设置简单密码。
(二)输出到TSF控制之外:经由本功能输出的用户数据输出时没有输出相关的安全属性。操作步骤:1.使用webscarab对登录操作进行抓包;2.查看数据包内容是否为明文传输。期望结果:数据包中的密码已进行加密处理。
(三)信息流控制功能:对每一个操作,主体和信息的安全属性之间必须支持基于安全属性的关系,TSF应允许信息在受控主体和受控信息之间经由受控操作流动。操作步骤: 1.打开appscanweb安全扫描软件;2.新建任务;3.输入域名;4.开始扫描;5.记录扫描结果。期望结果:不存在注入漏洞及跨站漏洞。
(四)TOE内部传送:数据在传输过程中,期间的所有设备都必须对传输数据的完整性座监视。操作步骤:1.使用webscarab进行抓包;2.修改数据包中内容;3.查看返回信息。期望结果:无法修改数据包中内容
(五)残余信息保护(TSF数据管理):确保系统内文件、目录等资源所在的存储空间,被释放或重新分配给其它用户前得到完全清除。
(六)访问控制功能:提供访问控制功能,依据安全策略控制用户组对系统功能、文件、数据库表等客体的访问。
(七)鉴别失败:检测系统对用户多次尝试登录失败,系统做出相应的处理。操作步骤:1.连续输入十次账号密码;2.查看系统对该账号是否锁定。期望结果:账号被锁定。
(八)用户标识:在登录网站前要求用户必须输入用户名。操作步骤:1.打开web登录页面;2.查看是否需要输入用户名和密码才可登录。期望结果:必须输入用户名和密码。
(九)不可观察性:要求功能或资源的使用不能被规定的用户或主体观察到,规定用户隐私有关的信息在评估对象内是分布式的。期望结果:1.进入应用系统-使用最高权限管理员登录系统,在用户管理中查看有哪些级别用户和用户的权限;2.退出系统使用普通用户登录系统,去访问非授权资源,和查看非授权的信息。期望结果:无敏感信息泄露。
(十)时间戳:评估对象的安全功能需为它自己的使用提供可靠的时间源。
(十一)评估对象访问旗标:在建立一个用户会话之前,评估对象安全功能应显示有关未授权使用评估对象的一个劝告性警示信息。
(十二)会话锁定:在一定时间内,用户没有做任何操作,系统则自动锁屏或显示一个非重要功能的页面,当用户再次使用时,需要重新登录。操作步骤:1.进入 web系统;2.闲置5-10分钟;3.刷新页面;4.记录返回结果。期望结果:账户已自动退出。
三、主机安全:主机是系统客户端与数据库进行数据交换的中心,在其上的安全跟数据库安全相同,需要针对身份鉴别、安全审计、漏洞安全进行探察
(一)身份鉴别:1.系统配置避免重复UID 策略。⒉.系统配置密码安全策略。
(二)安全审计:操作系统中必须开启安全审计策略。
(三)漏洞安全:系统不存在高风险安全漏洞。总之上述只是简单常见的安全测试要点,安全测试涉及的知识面很广,不同的软件领域需要的测试点不同,此时则需要我们在实际工作过程中自我总结出属于自己并适合公司的测试要点。