安全测试
- 软件权限
- 扣费风险:包括发送短信,拨打电话,连接网络等
- 隐私泄漏风险:包括访问手机信息,访问联系人信息等
- 对APP的输入有校验,认证,授权,敏感数据储存,数据加密等方面进行校验
- 限制/允许使用手机功能接人工互联网
- 限制/允许使用手机发送接收信息功能
- 限制/允许应用程序来注册自动启动应用程序
- 限制或使用本地连接
- 限制/允许使用手机拍照或录音
- 限制/允许使用手机读取用户数据
- 限制/允许使用手机写人用户数据
- 检测APP的用户授权级别,数据泄漏,非法授权访问等
- 安装与卸载安全性
- 应用程序应能正确安装到设备驱动程序上
- 能够在安装设备驱动程序上找到应用程序的相应图标
- 是否包含数字签名信息
- JAD文件和JAR包含的所有托管属性及其值必须是正确的
- JAD文件显示的资料内容与应用程序显示的资料内容应一致
- 安装路径应能指定
- 没用用户的允许,应用程序不能预先设定自动启动
- 卸载是否安全,其安装进去的文件是否全部卸载
- 卸载用户使用过程中产生的文件是否有提示
- 其修改的配置信息是否复原
- 卸载是否影响其他软件的功能
- 卸载应能移除所有的文件
- 数据安全性
- 当将密码或其他的敏感数据输入到应用程序时,其不会被储存在设备中,同时密码也不会被解码
- 输入的密码将不以明文形式进行显示
- 密码,信用卡明细,或其他的敏感数据将不被储存在他们预输入的位置上
- 不同的应用程序的个人身份证或密码长度必须至少在4—8个数字长度之间
- 当应用程序处理信用卡明细,或其他的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中
- 防止应用程序异常终止而又没有删除它的临时文件,文件可能遭受入侵之的袭击,然后读取这些数据信息
- 当将敏感数据输入到应用程序时,其不会被储存在设备中
- 备份应该加密,恢复数据应考虑恢复过程中的异常通讯中断等,数据恢复后再使用前,应该经过校验
- 应用程序应考虑系统或者虚拟机器产生的用户提示信息或者安全警告
- 应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户
- 在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作
- “取消”命令操作能够按照设计要求实现其功能
- 应用程序应当能够处理但不允许应用软件连接到个人信息管理的情况
- 当进行读或写用户操作时,应用程序将会向用户发送一个操作失误的提示信息
- 在没有用户明确许可的前提下不损坏删除个人信息管理应用程序中的任务内容
- 应用程序读和写数据正确
- 应用程序应当有异常保护
- 如果数据库中重要的数据正要被重写,应及时告知用户
- 能合理的处理出现的错误
- 意外情况下应提示用户
- 通讯安全性
- 在运行其软件过程中,如果有来电,SMS,EMS,MMS,蓝牙,红外等通讯或充电时,是否能暂定程序,优先处理通讯,并在处理完毕后能正常回复软件,继续其原来的功能
- 当创立链接时,应用程序能够处理因为网络链接中断,进而告知用户连接中断的情况
- 应能处理通讯延时或中断
- 应用程序将保持工作到通讯超时,进而发送给用户一个错误信息指示有连接错误
- 应能处理网络异常和及时将异常情况通报用户
- 应用程序关闭或者网络连接不再使用应及时关闭,断开
- HTTP,HTTPS覆盖测试
- APP和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常</