安全性测试从冷门的话题,随着国内各大知名网站频繁被攻击,重要社区用户信息被泄露,逐步被各方所重视。而具体怎么作软件安全性测试,防止骇客有隙可乘,国内广泛处于才起步的状态。今天笔者就本身的经验,系统总结了我所了解和掌握的安全测试,但愿抛砖引玉,让更多更好的软件安全测试技术、经验被分享出来,供你们交流、学习,让咱们的安全测试迈步起到必定的推进做用。安全
安全性测试(Security test)它是指:在测试软件系统中对程序的危险防止和危险处理进行的测试,以验证其是否有效。学习
软件安全性测试包括了应用安全、数据,操做系统等方面。根据不一样的安全测试指标,有不一样的测试策略。最后,从社会工程学角度总结了出现非软件性安全的缘由。下面总结了具体的安全测试项和对应的测试方法。测试
应用安全的测试有包括了安全的审计、密码支持、标识与鉴别、用户数据保护和安全管理等五个方面。下面具体说每一个方面须要作的测试项和具体的测试方法。网站
A安全审计加密
一、安全审计自动响应操作系统
①系统用户的安全属性做很是规的添加或修改操做,如:对全部用户赋予管理员角色或全部权限操做。系统中只能存在一个超级管理角色。日志
②查看系统的是否告警提示并记录相关操做信息,即日志中应该有相关记录。blog
二、安全审计数据产生排序
系统须要提供日志机制,并可以记录与安全相关的事件,能够定义审计的级别(如告警,紧急,提示级别)。事件
三、用户身份关联
查阅相关的日志记录,当审计数据产生时,审计数据是否能将每一个可审计事件与引发该事件的用户身份相关联。
四、审计查阅
①在日志相关界面可否查看到审计数据。
②系统是否能提供一些功能方便查看,如选择“所有”,按涉及用户的审计记录信息,或按时间查看等等。
五、限制审计查阅
①使用日志管理员账号登陆系统,能查看系统审计信息;
②使用非日志管理员账号依次登陆系统,不能查看系统审计模块信息。
六、可选审计查阅
①测试系统是否提供分类查看审计记录的功能;
②测试系统是否提供排序功能方便查看审计记录;
③测试系统是否提供“与”/“或”的查询功能方便查看审计记录,是否直接模糊查询。
七、安全审计事件选择
①设置集中审计事件排除条件;
②模拟发生集中审计事件,观察系统反应。
八、受保护的审计记录存储
使用系统划分出的用户身份(不具备审计删除权限)登陆系统:尝试删除审计记录,看是否成功。
九、防止审计数据丢失
模拟审计数据已满状况,查看系统是否可选择“忽略可审计事件、阻止产生特有特权的受权用户外的全部可审计事件、覆盖所存储的最先的审计记录”中的一种处理方式,以确保审计数据不发生丢失现象。
B密码支持
密码运算,检查密码的加密规则是否安全可靠,通常通用md5加密方式。
C标识与鉴别
一、用户属性定义
检查用户受权角色管理机制,验证用户属性定义有效性。即系统可以对每一个用户的安全属性分别加以有效定义。
二、鉴别方式
检测系统采用的身份鉴别方式。
三、用户标识
①在用户登陆界面中,使用匿名用户登陆系统,执行须要访问权限才能执行的操做,查看系统响应;
②使用各类角色的用户进行登陆,而后进行操做;
③不进行登陆,经过匿名用户执行访问操做。
四、用户-主体绑定
检测用户的安全属性是否关联到表明用户活动的主体上。应该关联到活动主体上,即不一样用户有不一样权限。
五、口令强度
①检测口令复杂度,强度;
②使用大小写英文字母、数字和特殊字符等多种组合进行验证。
六、口令保护
检测口令是否进行加密传输字符。即不能以明文的方式进行口令传输。
七、任何动做前的用户鉴别
检查用户进行操做前,系统是否进行权限鉴别。即要对系统操做,必须使用正确的用户名和密码。
八、从新鉴别
检测系统是否提供从新鉴别机制,系统长时间不作任何响应或鉴别失败后,是否要求进行从新登陆。
D用户数据保护
一、采用加密技术
检查系统是否对传输的信息采用安全加密技术。
二、信息存储安全性
对于重要数据保存是否采用加密方式。
三、数据传输安全性
检测系统对重要数据是否进行加密传输。
四、数据一致性
①检测系统是否对数据的有效性,数据项之间的逻辑关系进行校验;
②检测系统是否保证数据的完整性和一致性,是否会因删除或反复的更新而被破坏或留下垃圾数据;
③对不符合要求的输入数据,系统是否使用中文给出简洁、准确的提示信息。
五、密码设置
①进入系统是否须要密码身份验证;
②是否有密码设置策略,是否包括有效期、最小长度、复杂度、非空设置、大小写敏感度等;
③全部的密码是否明码显示、存储与传输。
六、备份和恢复
检查是否提供数据备份与恢复手段,检测是否提供数据备份与还原手段。
E安全管理
一、安全属性管理
①查看系统是否具备用户权限分配权限的特定角色;
②对用户列表中的任意一个用户进行角色分配;
③使用不具备用户管理权限分配的特定角色用户进入系统,查看是否能对用户进行权限划分。
二、安全的安全属性
①进入新建用户界面,新建一个用户;
②输入其余必填项,不输入密码;
③输入纯数字用户登陆密码;
④输入纯字符用户登陆密码;
⑤输入数字和字符混和的用户登陆密码。
三、静态属性初始化
①新增一个用户,对其初始状态的权限进行修改;
②使用新增长的用户登陆平台,查看被编辑的权限,在系统中是否能实现。
四、数据的管理
①最高权限用户进入系统,查看是否具有安全审计功能模块;
②最高权限用户进入系统,修改角色。
五、数据限值的管理
①最高权限用户进入系统,添加用户;
②填写相关用户信息,并并限制登录区域;
③使用新建立的用户登陆系统,但登陆的用户IP不在所填写的区域控制范围内。
六、安全的数据
①最高权限用户进入系统,添加用户;
②填写相关用户信息,录入无效的用户数据,观察系统反应。
七、撤销
①最高权限用户进入系统,选择一个用户,对所选用户的权限进行查看和撤销;