×

app安全测试怎么测

app安全测试怎么测(APP测试方法)

hacker hacker 发表于2022-07-17 15:17:41 浏览48 评论3

3人参与发表评论

本文目录一览:

「软件测试」如何进行APP安全性测试

一、前言

在SDK最近的项目中上线的包被第三方杀毒软件报出有病毒的问题,后来经过查验发现是SDK悬浮窗动画的逻辑被检验出有病毒,最后进行了修改。事情虽然解决了,但是引起该问题的一个原因是在测试中没有安全测试,而安全测试的标准,方法都没有。因此今天将之前工作中参与过的安全测试以及从网上查阅到有关安全测试的资料进行整理。有不足的之处,尽情谅解。

二、软件权限

1)扣费风险:浏览网页,下载,等情况下是否会扣费,一般在游戏APP,和社交APP等需要考虑这些。

2)隐私泄露风险。例如在我们安装APP应用时通常会看到"xx要读取手机通讯录"等提示,这些提示可以提示用户拒绝接受,这些是APP测试中的测试点。

3)校验input输入。对于APP有输入框的要对输入的信息进行校验,比如密码不能显示明文。在测试中红人馆注册时需要对input进行测试。

4)限制/允许使用手机功能接人互联网,收发信息,启动应用程序,手机拍照或者录音,读写用户数据。这个在通信行业用的比较多,比如展讯,高通等芯片厂商,他们在出厂芯片时要对手机各个功能进行测试。

三、代码安全性

之所以单独拿出来说,是因为在SDK测试过程中SDK代码被第三方工具检测出游病毒代码,这样一来就会影响输入法的使用。因此在后续测试中要尝试加入安全性测试。

四、安装与卸载安全性

1)应用程序应能正确安装到设备驱动程序上

2)能够在安装设备驱动程序上找到应用程序的相应图标。在SDK测试项目中发现有些设备受权限的问题,无法下发图标创建快链。

3)是否包含数字签名信息。在SDK测试项目中基本上没有,但是在输入法打包和主线版本上存在这样的测试。

4)安装路径应能指定

5)没有用户的允许应用程序不能预先设定自动启动

6)卸载是否安全,其安装进去的文件是否全部卸载

7)卸载用户使用过程中产生的文件是否有提示

8)其修改的配置信息是否复原

9)卸载是否影响其他软件的功能

10)卸载应该移除所有的文件

11)安装包的存放。在SDK下载安装包的测试中我们经常会看到下载下来的包后面有四个随机的字符串,这个的目的是为了防止第三方工具恶意删除安装包的问题。

在SDK测试项目中有专门针对下载安装卸载的用例,对安装的路径和下载的文件夹路径等有相关的测试,测试结果页表明,某些手机(例如华为mate1)在删除了某个下载路径文件夹之后受权限应用不会自动创建。

五、数据安全性

1)当将密码或其他的敏感数据输人到应用程序时,其不会被储存在设备中,同时密码也不会被解码

2)输人的密码将不以明文形式进行显示

3)密码,信用卡明细,或其他的敏感数据将不被储存在它们预输人的位置上

4)不同的应用程序的个人身份证或密码长度必需至少在4一8个数字长度之间

5)当应用程序处理信用卡明细,或其他的敏感数据时,不以明文形式将数据写到其它单独的文件或者临时文件中。以防止应用程序异常终止而又没有删除它的临时文件,文件可能遭受人侵者的袭击,然后读取这些数据信息。

6)当将敏感数据输人到应用程序时,其不会被储存在设备中

7)备份应该加密,恢复数据应考虑恢复过程的异常通讯中断等,数据恢复后再使用前应该经过校验

8)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全警告

9)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户

10)在数据删除之前,应用程序应当通知用户或者应用程序提供一个"取消"命令的操作

11)"取消"命令操作能够按照设计要求实现其功能

12)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况

13)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息

14)在没有用户明确许可的前提下不损坏删除个人信息管理应用程序中的任何内容

15)应用程序读和写数据正确。

16)应用程序应当有异常保护。

17)如果数据库中重要的数据正要被重写,应及时告知用户

18)能合理地处理出现的错误

19)意外情况下应提示用户

20)HTTP、HTTPS覆盖测试。在测试中我们经常会遇到与请求的加密解密测试,以确保产品的安全性

如何去测试一个 app 是否存在安全问题

身为测试答一个,这类安全性测试,是app专项测试中必须要做的一环,简单列举下目前常做的测试类别

1. 用户隐私

检查是否在本地保存用户密码,无论加密与否

检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密

检查是否将系统文件、配置文件明文保存在外部设备上

部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改

2. 文件权限

检查App所在的目录,其权限必须为不允许其他组成员读写

3. 网络通讯

检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL

4. 运行时解释保护

对于嵌有解释器的软件,检查是否存在XSS、SQL注入漏洞

使用webiew的App,检查是否存在URL欺骗漏洞

5. Android组件权限保护

禁止App内部组件被任意第三方程序调用。

若需要供外部调用的组件,应检查对调用者是否做了签名限制

6. 升级

检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持

7. 3rd库

如果使用了第三方库,需要跟进第三方库的更新

软件的安全性应从哪几个方面去测试?

一、用户认证安全的测试:

1、明确区分系统中不同用户权限

2、系统中会不会出现用户冲突

3、系统会不会因用户的权限的改变造成混乱

4、用户登陆密码是否是可见、可复制

5、是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)

6、用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

二、系统网络安全的测试

1、测试采取的防护措施是否正确装配好,有关系统的补丁是否打上

2、模拟非授权攻击,看防护系统是否坚固

3、采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )

4、采用各种木马检查工具检查系统木马情况

5、采用各种防外挂工具检查系统各组程序的客外挂漏洞

三、 数据库安全测试:

1、系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

2、系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)

3、系统数据可管理性

4、系统数据的独立性

5、系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

手机app测试有哪些工具盒方法

手机app测试有可以利用以下几种工具:

1、安卓黑盒测试工具

1)包括本身自带的monkey,Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中;

2) robotium与appium,这些工具用于黑盒的自动化测试。可以在有源码或者只有APK 的情况下对目标应用进行测试。

2、白盒测试,Android在SDK中集成了JUnit框架。所以,你可以基于JUNIT框架进行安卓的白盒测试代码开发;

3、安卓的测试方法其实与web测试方法大多类似,只是多了一些特殊的测试场景;

4、兼容性测试,一是可以利用虚拟机来保证系统间的兼容性,但更多的还需要依靠真机来测试;

扩展资料:

APP测试要点:

1、功能测试

最基本的测试,主要是测试软件app的功能点、业务逻辑;关联性(主要是测试客户端和PC的交互,客户端处理完后,保证PC端数据同步且一致)

2、性能测试

cpu,占用不超过10%,响应时间(包括app启动和退出),满足258原则,2秒以内用户感觉很快,2-5秒感觉一般,5-8秒感觉很慢,但是能接受,8秒以上用户无法接受,选择离开,或者再次发送请求;

3、兼容性测试

手机app需要重点关注的,不同操作系统:android、iOS不同手机厂商,小米,华为等不同的手机屏幕分辨率,与其他第三方app的兼容;

4、安装卸载更新测试

也是手机app比较特别的测试点,安装的路径,手机还是sd卡上,高低版本的覆盖安装,内存不足时的安装,安装过程中出现中断情况,第三方管理软件中卸载app,卸载过程中出现中断情况;

5、中断或崩溃测试

中断测试主要是测试app是否会出现crash情况。来电、短信、闹钟、低电量等,网络环境突然改变,或者网络中断,例如隧道、电梯(离线支持),切换网络,例如数据连接切换到wifi外部设备。

比如充电,插耳机内存不足改变设备方向改变手机语言,例如英文多后台程序切换长时间开机并且长时间开启app也可以用monkey来测试apk的稳定性,也能检查出一些crash的问题;

6、安全测试

7、UI测试

参考资料:百度百科-手机APP

群贤毕至

访客
辙弃绮烟 辙弃绮烟2022-07-18 01:06:26 | 回复 的情况13)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息14)在没有用户明确许可的前提下不损坏删除个人信息管理应用程序中的任何内容15)应用程序读和写数据正确。16)应
纵遇白况 纵遇白况2022-07-18 02:22:43 | 回复 ) 6、用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统二、系统网络安全的测试1、测试采取的防护措施是否正确装配好,有关系统的补丁是否打上2、模拟非授权攻击,看防护系统是否坚固 3、采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,
泪灼海夕 泪灼海夕2022-07-18 01:43:27 | 回复 接受,8秒以上用户无法接受,选择离开,或者再次发送请求;3、兼容性测试手机app需要重点关注的,不同操作系统:android、iOS不同手机厂商,小米,华为等不同的手机屏幕分辨率,与其他第三方app的兼容;4、安装卸载更新测试也是手