单机游戏
手机网游
广告SDK
开发框架
从移动应用底层框架建立安全防护机制

基于开发框架的移动应用安全防护解决方案

移动应用开发框架可以帮助开发者快速开发出满足功能需求的移动应用,因而受到广大开发者和企业的欢迎。

目前面向开发者市场,国内有Appcan, PhoneGap等开发框架,国外的Appcelerator、jQuery Mobile、Twitter Bootstrap、Schena Touch以及BackBone等开发框架。国内一些大的IT和移动互联网公司也为其开发者提供了移动应用开发框架,如百度、英特尔等。面向企业市场,国内的Appcan、数字天堂、南京烽火等公司,国外的IBM Worklight、 HP、SAP等都有自己的移动开发框架或移动中间件开发平台。现在国内主流的、面向开发者和企业的移动开发框架已有数十个。

应用开发框架的系统架构

在框架提供特定功能的基础上,开发者可以使用Html、CSS及JavaScript来开发本地移动应用程序。

系统架构上,以PhoneGap 衍生出的 Cordova开发框架为例,框架编写出的APP,用本地的HTML+CSS+JS的方式实现各个客户端平台通用的界面,并且通过Plugin的方式调用不同平台的特性(如摄像头,陀螺仪等),以及实现Native与Web页面之间进行数据交互等功能。许多应用和开发框架都是基于PhoneGap,比如微软、IBM的Worklight、Facebook、Zynga、Salesforce等。

应用开发框架的风险分析

以Android平台为例,原生的Native App(原生程序)或 Hybrid App(半原生半H5框架的混合类APP),由于程序语言及Android平台先天的脆弱性,所有的APK文件均可以轻易被反编译成接近源码级别,包括调试、代码注入等攻击也极其容易实现。

1.JAVA代码的反编译风险
任何JAVA版Android应用在3 分钟内就可以用免费工具轻松破解:
(1) 解压缩应用程序包(APK文件)
(2) 使用免费工具dex2jar将应用代码(二进制代码)转换为JAVA字节码
(3) 使用另外一种免费工具JD-GUI,将JAVA字节码转换为JAVA源代码

在Android APK解压后,其中的JAVA字节码Classes.dex,很轻易的被反编译为JAVA源代码,进而对整个Classes.dex文件进行篡改,然后进行重新编译,签名打包和渠道分发,大量的后门程序、流氓广告、病毒木马等恶意内容被通过此方式安装到用户手机上。

2.Html、JavaScript文件的篡改风险
各个移动应用开发框架都会大量调用各类脚本文件,来实现一些重要的功能和逻辑。
在基于开发框架编写的APP中,这些脚本文件几乎都是以明文或者弱保护方式直接进行打包,攻击者可以轻松的在脚本文件里面修改功能和逻辑,导致APP被篡改。

应用开发框架的危害分析

企业APP遭篡改及二次打包将导致严重的后果和危害,在发布APP应用时,开发者和企业都需要考虑以下这些风险:

  • 预期收入不符,损失严重
  • 研发成本高而收益低
  • 客户端盗版泛滥
  • 用户账号密码等敏感信息被窃取
  • 核心知识产权被盗用
  • 企业品牌形象受损
  • 用户体验和信任度下降
  • APP被利用从事钓鱼、诈骗等犯罪行为
  • 可能因恶意应用受到监管部门核查
  • ......

基于开发框架的移动应用安全防护解决方案

JAVA层代码加密保护 对Android APK中的classes.dex进行加密保护,阻止针对JAVA层的反编译。
脚本文件加密保护 静态时,对脚本文件的Zip安装包加密存放在APK中;
运行时,对Zip加密文件上解压释放出的Html、Js等内容进行二次加密,从而保护业务逻辑安全。
防调试保护 运行过程中反调试、防注入、内存数据保护。
- 利用GDB、IDA pro等调试器无法进行C/C++层面的调试
- 使用GDB等调试器无法进行JAVA层面的调试
- 利用外挂工具无法读取或篡改应用程序运行中的内存数据
数据保护 对存储在系统内部存储或SD卡中的重要信息和数据进行高强度透明加解密等安全防护处理。
完整性校验保护 为应用程序提供文件完整性校验,对试图添加、修改、删除、替换APK中文件的各类行为进行标记,在应用启动时报错退出。

梆梆安全,保护你的APP !

设置
服务通知设置:

邮件通知

手机短信通知 } (未开通,立即认证?