对时下流行的Android应用加固技术分析


发布人:admin分类:网络安全浏览量:25发布时间:2017-12-12

我是一名奋战在安全第一线的程序猿,爱好和平,爱好打包不平,Freedom Forever 最近移动安全太火,火的我都忍不住玩了一把,最近几个月在研究各家的安全加固方案,大多dex加密、反调试等技术,玩着玩着就没了意思。

前段时间,突然发现有的企业客户端apk的加固方式发生了一些变化,勾起了我的兴趣,好东西不敢私藏,分享出来供大家把玩。

加固技术分析

这个apk文件中包含了一个classes.des文件,如下所示

    

请出神器JEB,反编译后的程序结构如下所示。

怎么什么都能看到?没道理啊,明明之前得知这个应用是加固了的,经常看到的“Proxy”,“Wrapper”等关键词呢(普及一下,安全加固的开发人员经常这样命名加固程序逻辑)?仔细又看了一眼,猛地发现“secneo.apkwrapper”,打开一看,醍醐灌顶,原来在这。

下面我们分析一下加固效果,怎么想分析什么就分析什么呢?

在下花了一下午时间从Application分析到Activity再到各种逻辑代码,终于发现原来保护的是指定package下的“网络通信”和“数据库操作”模块。

从一名移动安全从业人员的角度讲,我们分析一个应用一般主要分析的Activity等四大组件的逻辑功能,从而找到应用的安全弱点。而数据操作部分在四大组件被分析的情况下再保护起来还能起到多大的保护效果有待考证。

与我的“老师”(也是行业中的大牛了)就该问题仔细讨论了一下,发现这家公司这么做的原因可能是:

大多数移动安全厂商其实的加固方案是整体dex加密技术,定制版加固与免费版加固方案上没有区别,都是可执行文件的加密保护。

这种应用加固方案在Android  Art模式和Android5.0上兼容性不好,只能采用“预编译”的方式来兼容,但这种预编译的方式会带来严重的程序效率问题(设想一下应用一执行到受保护的程序逻辑的时候要先编译一下)。而secneo(其实就是棍棍加固)采用保护部分逻辑的方式来躲避这种效率低下的影响(需要预编译的代码块变少)。带来的不良影响不言而喻:

(1)应用只能受到部分保护,仍然可以被逆向分析,程序敏感逻辑被分析,即使不能“二次打包”,也可以轻易的分析程序弱点。
(2)应用在运行到被加固的功能模块需要经过编译过程,程序运行效率大大变低。应用中关于数据的操作响应效率大大受到了影响。

形象化的加固方案思路如下

整体dex加固(笑脸)



定制版dex加固(哭脸)

终于分析完了,总结一下。我觉得这种方式的保护效果有限,有糊弄客户的嫌疑。Android 系统在迭代,安全加固的方案也要迭代,而不是逃避。

从事安全研究多年,始终觉得移动安全也一样,要从应用的方方面面着手,包括系统层和驱动层。技术小文一篇,希望大家一起努力,共同迎来移动安全从业人员的春天!

[参考信息来源TheFounder,喜欢文章请点赞鼓励。转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21344727(PV) 页面执行时间:82.711(MS)
  • xml
  • 网站地图