1、软件权限 1.1、扣费风险:包括发送短信、拨打电话、连接网络等 1.2、隐私泄露风险:包括访问手机信息、访问联系人信息等 1.3、对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测 1.4、限制/允许使用手机功能接入互联网 1.5、限制/允许使用手机发送接收信息功能 1.6、限制/允许应用程序来注册自动启动应用程序 1.7、限制或使用本地连接 1.8、限制/允许使用手机拍照或录音 1.9、限制/允许使用手机读取用户数据 1.10、限制/允许使用手机写入用户数据 1.11、检测App的用户授权级别、数据泄露、非法授权访问等
2、安装或卸载安全性 2.1、应用程序应能正确安装到设备驱动程序上 2.2、能够在安装设备驱动程序上找到应用程序的相应图标 2.3、是否包含数字签名信息 2.4、JAD文件和JAR包中包含的所有托管属性及其必需是正确的 2.5、JAD文件显示的资料内容和应用程序显示的内容应一致 2.6、安装路径应能指定 2.7、没有用户允许,应用程序不能预先设定自动启动 2.8、卸载是否安全,其安装进去的文件是否全部卸载 2.9、卸载用户使用过程中产生的文件是否有提示 2.10、其修改的配置信息是否复原 2.11、卸载是否影响其他软件的功能 2.12、卸载应该移除所有的文件
3、数据的安全性 3.1、当将密码或其他的敏感数据输入到应用程序时,其不会储存在设备中,同时密码也不会被解码 3.2、输入密码将不以明文形式显示 3.3、密码、信用卡明细或者其他的敏感数据将不被储存在它们预输入的位置上 3.4、不同的应用程序的个人身份证或者密码长度必需至少在4-8个数字长度之间 3.5、当应用程序处理信用卡明细或其他敏感数据时,不以明文的形式将数据写到其它单独的文件或者临时文件中 3.6、防止应用程序异常终止而又没有撤除它的临时文件,文件可能遭受入侵者袭击,然后读取这些数据信息 3.7、当将敏感数据输入到应用程序时,其不会被储存在设备中 3.8、备份应该加密,祸福数据应考虑恢复过程中通讯异常中断等,数据恢复后在使用前应该经过校验 3.9、应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全警告 3.10、应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户 3.11、在数据和删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作 3.12、“取消”命令操作能够按照设计要求实现其功能 3.13、应用程序应当能够处理不允许应用软件连接到个人信息管理的情况 3.14、当惊醒读或写用户信息操作时,应用程序将会向用户发送一个操作错误的提示信息 3.15、在没有用户明确许可的前提下不损坏撤除个人信息管理应用程序中的任何内容 3.16、应用程序读和写数据正确 3.17、应用程序当有异常保护 3.18、如果数据中心中友好的数据正要被重写,应及时告知用户 3.19、能合理处理出现的错误 3.20、意外情况下应提示用户
4、通讯安全性 4.1、在运行其软件过程中,如果有来电、SMS、EMS、MMS、蓝牙。红外等通讯或充电时,是否能暂停程序优先处理通讯,并在处理完毕之后能正常恢复软件,继续其原来的功能操作 4.2、当创立连接时,应用程序能够处理因为网络中断,进而告知用户连接中断的情况 4.3、应用程序将爆出工鞥到通讯超时,进而发送给用户一个错误信息提示有连接错误 4.4、应能处理通讯延时或中断 4.5、应能处理网络异常和及时将异常情况通报给用户 4.6、应用程序关闭或网络连接不再使用时应及时关闭断开 4.7、HTTP、HTTPS覆盖测试 –App和后台服务一般都是通过HTTP来交互的,验证HTTP环境下是否正常 –公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码。通过SSL认证来访问网络,需要对使用HTTP Client的library异常作捕获处理
5、人机接口安全性 5.1、返回菜单总保持可用 5.2、命令有优先权顺序 5.3、声音的设置不影响应用程序的功能 5.4、应用程序必需利用目标设备适用的全屏尺寸来显示上述内容 5.5、应用程序必需能够处理不可预知的用户操作,例如错误的操作和同时按下多个键