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

  • A+
所属分类:业界关注

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

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

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

HTML5安卓应用安全现状

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

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

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

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

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

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

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

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

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

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

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

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

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

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

结语

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

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

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

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: