移动app安全测试要点

上传人:第*** 文档编号:34045131 上传时间:2018-02-20 格式:DOC 页数:9 大小:1.46MB
返回 下载 相关 举报
移动app安全测试要点_第1页
第1页 / 共9页
移动app安全测试要点_第2页
第2页 / 共9页
移动app安全测试要点_第3页
第3页 / 共9页
移动app安全测试要点_第4页
第4页 / 共9页
移动app安全测试要点_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《移动app安全测试要点》由会员分享,可在线阅读,更多相关《移动app安全测试要点(9页珍藏版)》请在金锄头文库上搜索。

1、爱加密,专业 APP 加密保护平台 随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及 APP等方面的挑战。随着运营商自主开发的移动 APP 越来越多,这些 APP 可能并不会通过应用市场审核及发布,其中的安全性将面临越来越多的挑战。这个问题也引起了运营商的足够重视,已经自主开发了自动化检测工具及定期的 APP 安全测试评估工作。在此,绿盟科技博客特别邀请到移动 APP 安全测试专家,让他们结合一次 Android APP 安全测试实例,为大家讲解评估特点,并将评估检查点、评估细节和整改建议一一列出,给大家提供移动

2、终端 APP 安全测试的思路。评估思路移动 APP 面临的威胁风起云涌的高科技时代,随着智能手机和 iPad 等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长。在海量的应用中,APP 可能会面临如下威胁:新技术新业务移动 APP 评估思路在这次的移动 APP 安全测试实例中,工作小组主要通过如下 7 个方向,进行移动终端 APP 安全评估:运营商自动化 APP 测评思路爱加密,专业 APP 加密保护平台 运营商自主开发的自动化 APP 安全检测工具,通过”地、集、省”三级机构协作的方式,来完成移动终端 APP

3、 安全检测与评估。APP 测试思路如下:安全检测要点Allowbackup 漏洞AndroidManifest.xml 文件中 allowBackup 属性值被设置为 true。当allowBackup 标志为 true 时,用户可通过 adb backup 来进行对应用数据的备份,在无 root 的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。整改建议将参数 android:allowBackup 属性设置为 false,不能对应用数据备份。WebView 漏洞应用中存在 WebView 漏洞,没有对注册 JAVA 类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其

4、他任何 JAVA 类,最终导致 javascript 代码对设备进行任意攻击。爱加密,专业 APP 加密保护平台 整改建议通过在 Java 的远程方法上面声明一个JavascriptInterface 来代替addjavascriptInterface;在使用 js2java 的 bridge 时候,需要对每个传入的参数进行验证,屏蔽攻击代码;Note :控制相关权限或者尽可能不要使用 js2java 的 bridge 。关键数据明文传输应用程序在登录过程中,使用 http 协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息

5、泄露,给用户带来安全风险。整改建议在传输敏感信息时应对敏感信息进行加密处理。任意账号注册使用手机号 133*887 注册某个 APP,获取验证码 46908;在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为 1338*678(任意手机号);爱加密,专业 APP 加密保护平台 分别使用 133*887 和 133*678(任意手机号)登录,均可以通过验证登录,看到最终结果。整改建议注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。登录界面可被钓鱼劫持应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和

6、密码,可能导致用户账号信息的泄露。爱加密,专业 APP 加密保护平台 整改建议:应用程序自身通过获取栈顶 activity,判断系统当前运行的程序,一旦发现应用切换(可能被劫持),给予用户提示以防范钓鱼程序的欺诈。获取栈顶 activity(如下图),当涉及敏感 activity(登录、交易等)切换时,判断当前是否仍留在原程序,若不是则通过 Toast 给予用户提示。使用 HTML5 架构或 android+HTML5 混合开发,实现登陆、支付等关键页面,降低被劫持的风险。有争议的整改建议在实施整改过程中,运营商、APP 厂商及安全厂商之间就如下几点存在争议:爱加密,专业 APP 加密保护平台

7、 1.关键数据明文传输根据客户测评结果以及移动终端 APP 厂商理解,目前的数据安全问题可为:客户端安全(数据录入)、客户端到服务器安全(数据传输)、服务器端安全(数据存储)。而关键数据明文传输属于客户端数据录入安全,针对此部分,目前不仅是移动终端 APP,包括 Web 安全方面,对此部分要求也是不一而分,具体可以体现为:具有现金流的交易平台:此类业务安全级别要求最高,在数据传输方面也是目前做得最好的。主要代表是:淘宝、京东、各大银行网银等。具有较大社会影响力的平台:此类业务安全级别低于上述业务,但由于账户数据丢失以后,对其自身以及社会影响较大,所以在传输上也不会采取明文传输。如:百度、腾讯等

8、。数据丢失本身不会造成较大的影响的平台:此类业务账户数据本身价值不大,丢失以后也不会造成影响,或者本身不会受到太大关注,一般都不会对传输数据进行加密。这样的例子比比皆是。当然也有厂商提出,明文传输在某些专业的漏洞检测和通报的网站上,是不属于安全漏洞的,为了验证此异议,在某平台上提交了一份关于明文传输的漏洞,得到的结果请看下图:2.登录界面钓鱼劫持APP 应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。这一条检测结果,最大的争议在于按照整改建议整改以后,对一般用户来说,没有任何作用。首先,我们了解一下钓鱼劫持如

9、何产生。Android 钓鱼原理需要理解,Android 启动一个 Activity 时,是这样设计的,给 Activity加入一个标志位 FLAG_ACTIVITY_NEW_TASK,就能使它置于栈顶并立马呈现给用户。但是这样的设计却有一个缺陷。如果这个 Activity 是用于盗号的伪装Activity 呢?这种现象在 XcodeGhost 事件中,已经被证实是可以实现的。在 Android 系统当中,程序可以枚举当前运行的进程而不需要声明其他权限,这样的话,就可以编写一个程序,启动一个后台的服务,这个服务不断地扫描当前运行的进程,当发现目标进程启动时,就启动一个伪装的 Activity。

10、如果这个 Activity 是登录界面,那么就可以从中获取用户的账号密码,具体的过程如下图:爱加密,专业 APP 加密保护平台 检测原理描述清楚以后,就需要给出让软件厂商能够明白的整改建议以及漏洞情景重现。Android 钓鱼情景演示以小米手机为例:1.当打开 3 个 APP 时,最后一个打开的 APP”语音助手”,切换至手机桌面,长按 HOME 键查看进程,”语音助手”会显示在进程的第一个。2.点击”微信”以后,切换至”微信”,再查看进程,可以看到,进程中由于”微信”已切换至当前窗口,故进程中不存在。3.可以从第 1 步看到,当切换至手机桌面时,无论是语音助手、手机令牌、还是微信,都是默认后

11、台运行,而且切换出来以后无任何提示。这样,当恶意爱加密,专业 APP 加密保护平台 activity 收到微信登录界面或者其他敏感界面的时候,就会抢先推送至客户,从而让客户轻易的输入了帐号,并获取了客户的信息,但此时微信不会做任何提示。4.再来观看一下某行手机 APP,当切换至手机桌面时,会对客户做出提示。如下图:假设一下页面是恶意推送的 activity,那么在恶意推送的 APP 页面,应该会显示出此类提示,告知客户,此页面并非正常 APP 的页面。用户打开正常页面 vs 用户打开了恶意页面爱加密,专业 APP 加密保护平台 总结从工信部新技术新业务信息安全评估管理办法(试行)(工信部保2012117 号)及运营商的相关文件规定,以及绿盟科技实施的移动 APP 安全测试项目来看,移动 APP 安全测试在运营商的重要地位。(作者:侯绍岗 杨乔国)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号