整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

移动APP安全测试要点

动APP安全测试要点 上次《 运营商渗透测试与挑战》中提到,随着运营商新技术新业务的发展,运营商集团层面对安全的要求有所变化,渗透测试工作将会面临内容安全、计费安全、客户信息安全、业务逻辑及APP等方面的挑战。随着运营商自主开发的移动APP越来越多,这些APP可能并不会通过应用市场审核及发布,其中的安全性将面临越来越多的挑战,这一点在《XcodeGhost危害国内苹果应用市场》一文中就曾提到过。

这个问题也引起了运营商的足够重视,已经自主开发了自动化检测工具及定期的APP安全测试评估工作。在此,绿盟科技博客特别邀请到移动APP安全测试专家,让他们结合一次Android APP安全测试实例,为大家讲解评估特点,并将评估检查点、评估细节和整改建议一一列出,给大家提供移动终端APP安全测试的思路。

作者:侯绍岗 杨乔国

评估思路

移动APP面临的威胁

风起云涌的高科技时代,随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用应用客户端上网的方式,而智能终端的普及不仅推动了移动互联网的发展,也带来了移动应用的爆炸式增长。在海量的应用中,APP可能会面临如下威胁:

新技术新业务移动APP评估思路

在这次的移动APP安全测试实例中,工作小组主要通过如下7个方向,进行移动终端APP安全评估:

运营商自动化APP测评思路

运营商自主开发的自动化APP安全检测工具,通过”地、集、省”三级机构协作的方式,来完成移动终端APP安全检测与评估。APP测试思路如下:

安全检测要点

Allowbackup漏洞

AndroidManifest.xml文件中allowBackup属性值被设置为true。当allowBackup标志为true时,用户可通过adb backup来进行对应用数据的备份,在无root的情况下可以导出应用中存储的所有数据,造成用户数据的严重泄露。

整改建议

将参数android:allowBackup属性设置为false,不能对应用数据备份。

WebView漏洞

应用中存在WebView漏洞,没有对注册JAVA类的方法调用进行限制,导致攻击者可以利用反射机制调用未注册的其他任何JAVA类,最终导致javascript代码对设备进行任意攻击。

整改建议

通过在Java的远程方法上面声明一个@JavascriptInterface 来代替addjavascriptInterface;

在使用js2java的bridge时候,需要对每个传入的参数进行验证,屏蔽攻击代码;

Note :控制相关权限或者尽可能不要使用js2java 的bridge 。

关键数据明文传输

应用程序在登录过程中,使用http协议明文传输用户名和密码,并未对用户名和密码进行加密处理。通过监控网络数据就可以截获到用户名和用户密码数据,导致用户信息泄露,给用户带来安全风险。

整改建议

在传输敏感信息时应对敏感信息进行加密处理。

任意账号注册

使用手机号133*****887注册某个APP,获取验证码46908;

在确认提交时,拦截请求,修改注册的手机号码,即可注册任意账号,这里修改为1338*****678(任意手机号);

分别使用133*\*887和133**678(任意手机号)登录,均可以通过验证登录,看到最终结果。

整改建议

注册过程最后的确认提交时,服务器应验证提交的账号是否是下发验证码的手机号。

登录界面可被钓鱼劫持

应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。

整改建议:

应用程序自身通过获取栈顶activity,判断系统当前运行的程序,一旦发现应用切换(可能被劫持),给予用户提示以防范钓鱼程序的欺诈。

获取栈顶activity(如下图),当涉及敏感activity(登录、交易等)切换时,判断当前是否仍留在原程序,若不是则通过Toast给予用户提示。

使用HTML5架构或android+HTML5混合开发,实现登陆、支付等关键页面,降低被劫持的风险。

有争议的整改建议

在实施整改过程中,运营商、APP厂商及安全厂商之间就如下几点存在争议:

关键数据明文传输

根据客户测评结果以及移动终端APP厂商理解,目前的数据安全问题可为:

  • 客户端安全(数据录入)。

  • 客户端到服务器安全(数据传输)。

  • 服务器端安全(数据存储)。

而关键数据明文传输属于客户端数据录入安全,针对此部分,目前不仅是移动终端APP,包括Web安全方面,对此部分要求也是不一而分,具体可以体现为:

  • 具有现金流的交易平台: 此类业务安全级别要求最高,在数据传输方面也是目前做得最好的。主要代表是:淘宝、京东、各大银行网银等。

  • 具有较大社会影响力的平台: 此类业务安全级别低于上述业务,但由于账户数据丢失以后,对其自身以及社会影响较大,所以在传输上也不会采取明文传输。如:百度、腾讯等。

  • 数据丢失本身不会造成较大的影响的平台: 此类业务账户数据本身价值不大,丢失以后也不会造成影响,或者本身不会受到太大关注,一般都不会对传输数据进行加密。这样的例子比比皆是。

当然也有厂商提出,明文传输在某些专业的漏洞检测和通报的网站上,是不属于安全漏洞的,为了验证此异议,在某平台上提交了一份关于明文传输的漏洞,得到的结果请看下图:

登录界面钓鱼劫持

APP应用存在钓鱼劫持风险。应用程序没有做防钓鱼劫持措施,通过劫持应用程序的登录界面,可以获取用户的账号和密码,可能导致用户账号信息的泄露。

这一条检测结果,最大的争议在于按照整改建议整改以后,对一般用户来说,没有任何作用。首先,我们了解一下钓鱼劫持如何产生。

Android钓鱼原理

需要理解,Android启动一个Activity时,是这样设计的,给Activity加入一个标志位FLAG_ACTIVITY_NEW_TASK,就能使它置于栈顶并立马呈现给用户。但是这样的设计却有一个缺陷。如果这个Activity是用于盗号的伪装Activity呢?这种现象在XcodeGhost事件中,已经被证实是可以实现的。

在Android系统当中,程序可以枚举当前运行的进程而不需要声明其他权限,这样的话,就可以编写一个程序,启动一个后台的服务,这个服务不断地扫描当前运行的进程,当发现目标进程启动时,就启动一个伪装的Activity。如果这个Activity是登录界面,那么就可以从中获取用户的账号密码,具体的过程如下图:

检测原理描述清楚以后,就需要给出让软件厂商能够明白的整改建议以及漏洞情景重现。

Android钓鱼情景演示

以小米手机为例:

1.当打开3个APP时,最后一个打开的APP”语音助手”,切换至手机桌面,长按HOME键查看进程,”语音助手”会显示在进程的第一个。

2.点击”微信”以后,切换至”微信”,再查看进程,可以看到,进程中由于”微信”已切换至当前窗口,故进程中不存在。

3.可以从第1步看到,当切换至手机桌面时,无论是语音助手、手机令牌、还是微信,都是默认后台运行,而且切换出来以后无任何提示。这样,当恶意activity收到微信登录界面或者其他敏感界面的时候,就会抢先推送至客户,从而让客户轻易的输入了帐号,并获取了客户的信息,但此时微信不会做任何提示。

4.再来观看一下某行手机APP,当切换至手机桌面时,会对客户做出提示。如下图:

假设一下页面是恶意推送的activity,那么在恶意推送的APP页面,应该会显示出此类提示,告知客户,此页面并非正常APP的页面。

用户打开正常页面 vs 用户打开了恶意页面

总结

从工信部《新技术新业务信息安全评估管理办法(试行)》(工信部保〔2012〕117号)及运营商的相关文件规定,以及绿盟科技实施的移动APP安全测试项目来看,移动APP安全测试在运营商的重要地位。

本文通过对一次移动APP安全测试及评估的实际案例,希望能够对安全从业者在移动终端APP评估方面,也欢迎大家在QQ群里参与这方面的讨论。

请关注绿盟科技博客 http://blog.nsfocus.net/mobile-app-security-security-test/

期,几家游戏引擎公司、数据公司和分发平台都纷纷发声,预测HTML5游戏将在今年爆发。然而就轻量的HTML5游戏来说,继《围住神经猫》之后,就没有再出现有一定影响力的游戏。

1999年,他用HTML5写了一个棋牌类游戏平台,令他3个月内赚了300万。之后,他又开发了国内三大休闲游戏平台之一的可乐吧,他就是Layabox的CEO谢成鸿。Layabox是一家为Flash程序员开发HTML5提供技术解决方案的公司,简单地说,借助Layabox的解决方案,程序员可以直接在Flash环境下开发大型的重度HTML5游戏。

2010年,赵霏开始第二次创业——磊友科技,从手游行业转向HTML5,就是因为乔布斯的一句话:“移动时代是低功耗设备、触摸屏界和开放网络标准的时代,Flash已经落伍。”在苹果、Facebook等科技巨头们纷纷加入HTML5行业之时,赵霏和他的团队开始着力开发HTML5的解析引擎和手机浏览器,同时也被李开复相中,成为创新工场孵化的第一个HTML5项目。

然而,到了2012年,HTML5从技术支持到产品都不见成效,自身的标准制定也分成了两派,Facebook创始人马克·扎克伯格更公开宣布放弃HTML5。这一年,赵霏和他的团队把重心都放在了开发大型手机HTML5网页游戏上。

2013年,磊友科技陆续推出的5款HTML5游戏都没有获得成功,团队不断有人出走,一直笼罩在“散伙”的阴影下。有的转去做代计费的,有的转去做iOS和Android开发,有的甚至离开了这个行业,几近凋敝。团队只剩下了两三个“元老”,但是赵霏仍旧没有放弃HTML5。

HTML5就这样一直在冰火两重天里游走,谁也没有想到,就在2014年8月,一个HTML5的小游戏《围住神经猫》在微信朋友圈一夜爆红,而南京泥巴怪公司其实只是为了拉点用户,花了一天功夫就将它做了出来。自此以后,HTML5的“卡片”广告、邀请函、互动游戏在朋友圈里盛传,不管是营销公司、游戏公司还是风投,都跟风研究起HTML5。

风口,大型游戏借HTML5颠覆App?

近期,几家游戏引擎公司、数据公司和分发平台都纷纷发声,预测HTML5游戏将在今年爆发。然而就轻量的HTML5游戏来说,继《围住神经猫》之后,就没有再出现有一定影响力的游戏。而且,《围住神经猫》一直为人诟病的就是,生命周期短,没法将流量变现,而这两点恰恰是游戏的命脉。

在谢成鸿看来,HTML5游戏的前景在于大型游戏。

但问题就来了,大型的HTML5游戏需要有高性能的浏览器适配,如若不然,卡顿、发热就会成为硬伤,目前看来还没有浏览器可以顺畅地跑大型游戏。于是,就衍生出了做HTML5加速器的公司,Cocos、白鹭引擎和谢成鸿的Layabox俨然成三足鼎立之势。

“Cocos和我们主要针对较大的游戏开发者,白鹭引擎主要面向小开发者,在HTML5游戏潜在客户里,我们已经占有一半左右。”谢成鸿说道。据悉,国内20家主流页游厂商中,已经有三分之一与Layabox合作。

“大型HTML5游戏在普通浏览器上跑不动,这是最大的问题。”他说。于是,Layabox就做出了一套针对HTML5生态链的整体解决方案。

目前,Layabox有三个主要业务方向,在开发者端,基于Flash的开发环境较为成熟,所以Layabox为开发者提供在Flash环境下开发大型HTML5游戏的解决方案,夸张一点的理解就是一键转换;在浏览器适配问题上,Layabox开发了自家的加速器,可以让微信这样的流量平台也可以跑得动大型页游。

几年前,赵霏和他的团队也都认为,PC上既然经历了从端游到页游的趋势,说明用户有使用场景上的需求,那么在移动设备上,应该也会有从App向HTML5转移的倾向。在解决卡顿和发热的前提下,毕竟HTML5游戏不用下载安装,比起App更加方便,而且营销成本将近比App要低10倍。

难道HTML5真的能颠覆App?经过几年的试水,赵霏开始不看好大型HTML5游戏在移动端的前景。因为他发现,用户在手机上玩大型游戏时,还是会倾向于App。“用户体验的时间和场景都是不对的,举个简单的例子,当你想再玩一次HTML5网页游戏时,会发现很难找到入口,但App至少在桌面上有个图标。”他对《IT时报》记者说道。

模式,流向变现还得傍上o2o

在海底捞,最壮观的场景就是排队等食,虽然已经使出了免费美甲、免费擦鞋等招数,但仍旧没有缓解食客因为排队而流失的情况。

这倒是激发了赵霏的灵感,于是磊友科技就为海底捞设计了一个HTML5的游戏营销方案。食客在排队时,可以通过扫描二维码玩一个小游戏,如果能荣登排行榜,就可以领取海底捞的代金券。

今年1月份,这个HTML5游戏上线,在北京10家海底捞分店进行试玩,结果显示,20%~30%的食客愿意参与进来,达到了30万人次的访问。

从海底捞的成功案例开始,宝洁、可口可乐、旺旺等公司都踏进了赵霏的门槛,目前已有将近100家企业让他们定制游戏。一般这些小游戏都会被植入商家的微信公众号内,玩游戏并分享至朋友圈来赢取代金券,就是用积分抽奖等方式帮电信运营商消耗积分。

那么,怎么解决用户留存的问题呢?“HTML5的游戏营销最重要的是考虑使用场景,比起横幅、弹窗等互动性不强的移动营销模式,效果更好。”赵霏说。

一般来说,在外面消费时,HTML5就显示出了不用下载安装的优势。到酒店先连Wi-Fi是一个常见的使用场景,客人可以直接扫二维码自动关注酒店微信号,同时取得连接Wi-Fi的权限,然后就能点开公众号里的菜单,玩游戏赢取附近餐厅的代金券。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

更多干货关注o2o杂志网的微信公众号:“o2ozazhi”长按可复制,也可以直接搜索“o2o杂志网”添加关注,提供最权威,最专业的o2o咨询,汇集最全面,最详实的大数据资料。

手机中国 评测】2014年10月21日,魅族联合阿里巴巴发布了Flyme powered by YunOS系统,该系统界面不但采用简洁优雅的设计风格,而且运行YunOS内核的MX4在安全性上进行了优化,可有效保护用户隐私及敏感信息。此外,这款手机经过优化,运行速度提升11%,续航提升达33%,而全新卡片式生活服务可让消费者感受到便捷的使用体验。

YunOS金色版魅族MX4

配置方面,YunOS版MX4和Android版大同小异,都采用了5.36英寸触摸屏,分辨率为1920×1152像素,内部搭载一颗真八核处理器,辅以2GB RAM,整机运行速度十分流畅。此外,该机背面内置一枚2070万像素索尼IMX 220镜头,单个像素面积达到1.20um×1.20um,即便放大 2 倍也可以看到饱满的色彩及清晰的细节。除此以外,这款手机还支持双4G网络(移动、联通),并向下兼容3G/2G频段以及5模13频。

此次来到手机中国评测室的是搭载YunOS系统的金色版MX4,该机内置全新的卡片式生活服务拥有多达31种,用户无需另行下周第三方应用,便可满足自身需求,并且这些程序都是在云端运行,极大提升这款手机的运行速度。下面就跟随笔者来深入探索一下吧!

首先,按照国际惯例,我们来欣赏一下搭载YunOS系统金色版MX4的外观,相信您看过之后对其精致的做工赞不绝口。

YunOS金色版魅族MX4

YunOS版MX4正面依旧采用白色面板,金属边框经过人工打磨及抛光,与2.6mm超窄边框搭配,使其看起来更加时尚大气,特别是这款金色MX4,边框和机身颜色融为一体,给人以高端典雅之感,而金色后壳的手感也更加舒适。

听筒/感应器/前置镜头

圆形HOME键

细节方面,这款手机正面上方分布着听筒、感应器、前置镜头,正面下方则是魅族MX系列经典的圆形HOME键,此键是魅族MX系列最具象征性的标志,科技感十足。

音量键

耳机孔和开关机键

扬声器/Micro USB接口

YunOS版MX4的音量键设计在机身左侧面,开关机键和耳机孔分布在机身顶部,Micro USB接口则设计在底部,并且扬声器也从背面挪到底部,其采用第二代NXP Smart PA芯片,与上代产品相比,显著提高外放喇叭输出音质,让用户有身临其境的感觉。

YunOS金色版魅族MX4背面

另外,该机背面内置一枚2070万像素索尼IMX220 Exmor RS堆栈式传感器,与双色温闪光灯搭配,在低光照环境下,可大幅减少色彩失真、肤色惨白、油光和红眼等尴尬效果。而背面底部印有的“MEIZU”标识,使其更加光彩照人。

YunOS版MX4保留了Flyme的整体风格,并在安全、生活服务、系统优化三方面进行了改进。除能有效防止病毒入侵外,其多达31种衣食住行服务,极大方便用户出行,而系统的优化则使其续航有所提升,下面我们就来体验一下YunOS版的系统UI。

安全中心

安全中心内部拥有常用和高级两大选项,在常用功能里,可对该机进行内存优化和垃圾清理,以此提升运行速度,骚扰拦截和流量统计,能对陌生电话进行有效拦截,并可随时关注当月流量使用情况,非常实用。而在高级选项里,则拥有隐私空间、病毒云查杀、权限管理等功能,可有效保护用户数据安全。

卡片式生活服务

卡片式生活服务

采用YunOS版的MX4最大亮点就是内置卡片式生活服务,其将生活中的各种场景通过云端串联起来,用户无需下载APP,便可直接使用购票、充值、导航等常用功能(需网络支持)。

搜索栏

如果上述卡片式生活服务让你眼花缭乱,还可通过搜索栏来快速定位,并且此搜索栏支持语音输入,可满足不同用户的搜索需求,人性化十足。

内置浏览器

内置浏览器

此外,该机内置浏览器包含军事、体育、科技、财经等数十大栏目,用户可通过轻应用来添加自己喜欢的程序,其和卡片式生活服务遥相呼应,给用户带来便捷畅快的生活服务体验。

设置界面

设置界面

在设置界面中,我们可以看到该机内置YunOS和搜狗输入法,长按主键增加了关闭屏幕功能,系统版本则显示Flyme OS 4.0.2Y,这是因为此系统结构从底层已和Android大不相同,所以自然也不会出现Android字样。

下拉菜单/后台管理

下拉菜单可对一些常用功能进行快速开/关设置,十分便捷。由于该机只有一颗圆形HOME键,所以后台管理需用手指从屏幕底部向上滑动方可启动,该功能可关闭那些占内存的应用程序,非常实用。

YunOS版MX4搭载一颗八核处理器,辅以2GB RAM,整机运行速度流畅。下面笔者就通过几款常用的软件来测试一下该机的各项性能,看看其表现如何。

安兔兔评测

《安兔兔评测》是一款专门为Android手机、平板电脑进行性能评测的软件,它能一键运行完整测试项目,通过“内存性能”、“CPU整数性能”、“CPU浮点性能”、“2D/3D绘图性能”、“数据库IO”、“SD卡读写速度”等多项测试,对手机整体和单项硬件性能做出评分。

Quadrant

《Quadrant》是一款老牌移动设备性能测试软件,它所检测的范围包括12项CPU测试、1项内存测试、4项I/O测试、1项2D图形处理测试、3项3D图形处理测试,最终会得出一个综合成绩。理论上来说,分数越高代表被测试设备硬件综合性能越强。

Vellamo

《Vellamo》是一款网页浏览器基准测试软件,它可以对手机浏览器的性能及稳定性进行测试,包括Java脚本性能、渲染、联网和用户界面等。测试结束后会提供一个总成绩,分数越高则表明手机对浏览器的优化程度越高,网页浏览体验越好。该软件测试内容包括两个主要模块:HTML5模块和Metal模块。HTML5模块用来评估移动网页浏览器性能,而Metal模块可以对移动处理器的CPU子系统性能进行检测。

Basemark X

Basemark X

《Basemark X》是一款用于评估设备游戏图像性能的专业测试工具,其独特性体现在它是唯一一款建立于真正游戏引擎Unity4之上的专业评测软件,能够生成高质量及客观的性能衡量分数。由于含有大量的图形,旨在将设备的图形渲染量推至极限。所以,Basemark X的测试分数不会很高,因为它反应了设备渲染类似游戏时的真实帧数。

安兔兔3D评测

《安兔兔3D评测》是一款专业的AndroidGPU性能测试软件,同以往的安兔兔综合性能测试不同,3DRating只偏重于Android设备中GPU硬件的3D部分,而3D性能正是游戏软件的重点。通过测试所得的分数越高,说明设备的3D性能越好,也就能在此台设备中运行相应级别要求的游戏软件。

拍照方面,YunOS版MX4同样内置一枚2070万像素1/2.3英寸CMOS感光芯片,与双色温闪光灯搭配,使其在低光照环境下也能拍出精美图片。下面我们就来介绍下该机的拍照界面。

自动/手动

美颜/全景

进入拍照界面,映入眼帘的便是简洁易懂的操作界面,从默认自动起用手机触摸屏幕向左滑动依次为手动、美颜、全景等多达9种拍摄模式。其中,手动模式,可对快门、ISO、曝光值、焦距进行快速设置,从而拍出自己想要的照片效果。美颜则可对眼睛、脸型、皮肤进行处理,不用化妆也能拍出惊艳效果。

光场/夜景

扫码/慢镜头

除上述几种模式外,该机还拥有夜景、光场、扫码、慢镜头等有趣的拍摄模式,光场能实现先拍照后对焦功能,慢镜头可让用户对快速移动的物体进行慢速回放,这对一些摄影达人来说,可玩性十足。

微距/设置菜单

效果模式

另外,当用户轻点拍照界面右下方三颗圆点,可对相机的一些常用参数进行设置,像照片尺寸、水平仪、自拍计时等,非常实用。而多达13种的效果模式可帮助用户拍出精美图片。

YunOS版MX4采用2070万像素镜头,与前代相比有大幅提升,下面我们就通过样张来了解一下它的实际拍照性能。

拍照样张

拍照样张

该机样张给人的第一印象就是清晰,2070万像素镜头有着不俗实力。其所拍摄的照片,画面纯净度高,细节把握准确,效果堪比家用卡片相机。并且在色彩还原上,它能准确还原被摄物体颜色,成像效果不错。

拍照样张

拍照样张

从这组样张可以看出,被摄物体明暗反差和过度都比较明显,虽然会丢失一些暗部细节,但从整体看并不失真,并且没有出现过多偏色、溢色问题,白平衡也比较准确。

接下来,我们来瞅瞅这款手机在远景成像方面的表现如何,请滚动鼠标往下看。

拍照样张

100%比例截图放大

拍照样张

100%比例截图放大

拍照样张

100%比例截图放大

从这几组样张可以看出,这款手机的镜头拥有极强的解析力,因为将图片放大到100%后,其远处的字体及船篷的边缘,它们的轮廓有很多细节都得以保留,并且色彩也没失真,所以说该机镜头还是很给力的。

相比远景而言,近景和微距对相机性能的要求也很高。下面我们再来看看该机的近景、微距拍摄以及100%比例截图放大后,在清晰度、解析力、细节方面的表现如何。

拍照样张

100%比例截图放大

拍照样张

100%比例截图放大

拍照样张

100%比例截图放大

在近景和微距拍照过程中,其不论清晰度还是解析力都表现不错,虽然按100%放大后,降噪方面的表现还有待提升,但一些纹理细节仍有不少得到了保留,并且它在光线处理、色彩还原上也很到位。

如今,智能手机的功能越来越丰富,俨然一部掌上PC。虽然智能机的功能繁多,但通话仍是消费者最为关心的地方,下面我们回归本质,来看下YunOS版魅族MX4在通话和续航方面的表现。

SIM卡槽

这款手机只有一个SIM卡槽,位于开关机键下部,其支持双4G网络(移动、联通),并向下兼容3G/2G频段以及5模13频。而在实际使用过程中,该机信号稳定,通话时没有出现杂音、电流声等不和谐因素。

不可拆卸式电池

续航方面,YunOS版魅族MX4标配一块3100mAh大容量不可拆卸式电池。虽然八核芯和5.36英寸高清屏幕都算得上是“耗电大户”,但系统经过优化,在原有的基础上续航时间会有所增加。不过,要是外出游玩的话,笔者还是建议多备一块移动电源,以备不时之需。

YunOS金色版魅族MX4

总结:

YunOS版魅族MX4虽然在硬件配置方面没有改动,但其在安全、系统优化以及云服务上,给消费者带来不少便利。如果你喜欢大屏手机,并注重品质和体验的话,YunOS版魅族MX4是个不错选择。