看我七十二变:HTML5游戏重打包变身安卓恶意软件

随着W3C于2013年十月完成HTML5标准制定后,由HTML5编写的WEB应用程序数量一直呈快速增长趋势。我们可以预见越来越多的HTML5应用可能被攻击者利用,由普通Web应用重新打包为恶意移动软件。

FreeBuf小科普

WebView(网络视图):能加载显示网页,可以将其视为一个浏览器,它使用了WebKit渲染引擎加载显示网页。

SDK(Software Development Kit):一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

HTML5安卓应用安全现状

据我们的监测情况来看,在2013-2014之间安卓平台的HTML5程序量新增加了200%,而2012-2014更是已经增加了600%。

我们注意到,HTML5包装的恶意软件或PUAs(潜在威胁软件)的数量也在增长,其中2014年近50%的HTML5恶意软件/PUAs被伪装为游戏应用。

其实有大量移动恶意软件及潜在威胁软件被伪装成合法游戏应用的例子:

一个名为小步枪(Tiny Rifles)的APP就是款典型的需要com.html5.game2包的HTML5游戏。运行它以后,浏览器除了会加载HTML5游戏,还会通过代码注入恶意广告SDK。该款恶意应用目前已经在Google Play中下架,我们将它定义为潜在威胁软件(PUA)。

HTML5安卓恶意软件的两种攻击方式

经我们分析得出,HTML5打包的恶意软件主要使用两种攻击方式:

方法一.初始化本地网络视图

这是一种非常受黑客欢迎的攻击方式,使用它并不用改变HTML5应用的代码。黑客只需要初始化一个本地网络视图,加载本地或远程的HTML5/JavaScript/CSS代码即可。这样主程序仍能运行,而产生的却是新的安卓应用。

然而,大多数黑客并不会在这里止步,因为只把web应用转为安卓应用是完全没有意义的。黑客在大多数时候会在发布应用之前,就将恶意代码注入其中。

这样打包应用的话,恶意代码和正常代码会在源里分离。黑客只需要关心注入的部分代码,而不用太在意HTML5的那部分,这样使得代码逻辑清晰简单。

方法二.把HTML5应用打包,通过中间件注入恶意JS代码

随着安卓越来越受大众的欢迎,许多中间件由此诞生,方便人们开发跨平台的应用。中间件是一种第三方软件/框架,在应用和操作系统之间作桥梁之用。

对于HTML5与相关web应用,现今有几种开源框架支持跨平台开发,比如:Phonegap, Apache Cordova, Crosswalk, Cocoonjs等等,而且这些中间件通常都支持HTML5,其中一个典型例子就是Apache Cordova。

除了使用网络视图的HTML5/JavaScript/CSS代码外,适用于那些中间件的应用通常都基于那些框架核心库运行,就如那些定制的浏览器一样。由于那些中间件强大的API给开发者提供了许多便捷,他们只需要使用JS代码就能与安卓进行交互。换句话说,如果HTML5应用利用了中间件的特性,可以轻松进行恶意代码注入和执行。

结语

HTML5使得开发更强大的web应用变得更加简单,因其开发的web应用的平台低依赖性,一定程度上在安卓平台上有着较大优势。对于开发者来说,跨平台开发的难度降低,可以说是一次开发多方通用(WORA)并不会在跨平台上耗费精力。对于用户来说,他们可以在不同的移动平台分享喜爱的应用。这些意味着使用HTML5进行web应用开发,对于诸方都是有利的。

当然,跨平台也会带来隐患比如跨平台注入,JS代码保护的机制太少,导致web应用可以被轻松复制和重新打包。理论上来讲,通过代码注入和重新打包,黑客可以剽窃任何他们想要的HTML5的跨平台web应用。

在未来,我们可以预见到这种由HTML5开发的恶意软件可以通杀不同的移动平台(比如IOS,安卓,WinPhone)。为了避免这种情况,开发者应多花点精力在代码混淆和使用其他编码技巧,这样在一定程度上可以保护他们的应用程序。家庭用户需要使用新的应用程序时,最好去官方应用商店下载。

[参考来源 趋势科技,由FreeBuf小编dawner翻译整理,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2015-01-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术杂文

你信任的公司正在窃取你的信息

通常来讲,“购买新产品” 指的是这样的交易过程:购买食物时,可以先确认食材然后购买它,即使难吃也不会要了你的命;购买汽车时,首先它得符合所有安全标准;为特定目的...

13230
来自专栏Java编程技术

阿里之路(二)

从今年7月到现在转眼间转岗到淘宝部门已经有小半年了,最近刚刚经历人生中第一次双11实战,体验了一把系统经受高并发高流量的冲击的感觉,一个字爽,作为小白,在这小半...

12220
来自专栏带你撸出一手好代码

请给你的电脑加上固态硬盘

电脑速度慢,那是老生常谈的话题了。 不管是笔记本电脑还是台式机,是二三千块DIY的货色还是上万土豪配置, 在新系统刚装好那会, 使用起来肯定是顺滑如丝一般的感觉...

33450
来自专栏杨逸轩 ' sBlog

如何建立个人博客?

1.1K90
来自专栏FreeBuf

序列化漏洞影响半数以上Android手机

Stagefright漏洞爆出没多久,Android平台又爆出一重大漏洞,影响55%的手机。IBM的X-Force应用安全研究团队近日发现了这一漏洞。 攻击者可...

23890
来自专栏用户2442861的专栏

taohui.org.cn建站历程

一直以来都在Qzone、CSDN等上面写博客,偶尔有些想法就在Paas平台上搭建服务,新浪和曾经的google上都用过其appengine。可是在别人的平台上...

37410
来自专栏张戈的专栏

浅析网站更换ip或使用CDN会不会影响SEO排名

最近张戈博客在阿里云和腾讯云服务器之间来回折腾了数次,别的收获没有,就悟出了一个问题:网站更换 IP 或使用 CDN 会不会影响 SEO 收录或排名? 收录就不...

51860
来自专栏阳光之海

Chrome浏览器v70正式发布:同步方式改变 新增AV1解码器

谷歌今天发布了Chrome浏览器的最新版本 70.0.3538.67(正式版本)。今天发布的最令人期待的新功能是新的Chrome设置面板选项,允许用户控制浏览器...

29340
来自专栏知晓程序

小程序真的只有 1 MB 吗?/注册小程序需要营业执照吗?/小程序有什么 UI 框架?| 小程序问答 #3

29140
来自专栏地方网络工作室的专栏

打造前端 Deepin Linux 工作环境——安装系统

打造前端 Deepin Linux 工作环境——安装系统 为什么选择 Deepin Linux 系统 在 linux 操作系统的选择上,我个人不喜欢太花里胡哨的...

652100

扫码关注云+社区

领取腾讯云代金券