安卓平台已经逐渐成为最受欢迎的移动终端操作系统,基于安卓系统的软件应用数量众多,同时安全威胁也在不断增加。介绍了Android系统的安全风险及加固的核心技术,据此提出了一种安卓应用程序的安全加固系统,设计和实现了基于代码混淆的加固技术,从而达到了移动应用安全加固的目的。
安卓系统安全风险
在Android应用软件迅速发展的同时,Android用户也面临着许多威胁。常见的恶意威胁如下:
1、恶意扣费
移动应用威胁中最常见的恶意行为是恶意扣费。威胁手段包括用户在不知晓或者不知情的情况下,擅自使用非法手段让用户订购各种收费,活在无意识状态下使用手机支付服务的情况下,它会屏蔽服务短信发送回服务提供商,破坏系统的正常功能。
2、隐私窃取
隐私窃取是近年来流行的一种应用威胁,它是用户不知道的情况下擅自窃取用户的秘密信息。该病毒感染手机后,开始窃取用户隐私信息的背景,包括通话记录、短信内容、地理位置、通讯录、浏览器历史记录信息,然后通过病毒上传信息到远程服务器被黑客控制。如果用户在手机上有网络支付和其他行为,该账户的隐私也将是一个严重的威胁。
3、远程控制
病毒会自动在后台引导载人,并在用户不知道或不授权的情况下与服务器连接。进一步,通过与服务器交互,在没有权限的情况下对受害手机进行控制,从而进一步扣除费用,下载恶意软件和其他恶意行为。
4、资源消耗
在用户不知道或者不授权的情况下,导致用户收费的损失,自动发送短信、多媒体短信、电子邮件、网络连接等。
5、恶意通信
在用户不知道或者不授权的情况下,传播病毒或木马本身,使得它的衍生工具或者其他移动互联网恶意代码可以通过其进行复制、感染或者提供下载。
6、其他
病毒在后台大量下载软件,并消耗用户手机流量,或者执行一些更耗电的操作来消耗手机的功率,从而影响正常手机通信。
几维安全安卓加固系统的实现
1、防逆向保护
针对Android应用的Java、C、C++代码采取混淆、虚拟化、加壳等安全保护措施,防止攻击者通过逆向手段反编译Dex和So文件。同时满足等保2.0中的数据保密性保护要求:应采取加密、混淆等措施,对移动应用程序进行保密性保护,防止被反编译。
2、Dex文件加壳
Dex文件加壳可以防止dex2Jar、Apktool、AndroidKiller、JEB等逆向工具反编译Dex文件,从而避免Java代码被恶意分析、核心技术被窃取。Dex文件加壳基于类加载的方式实现,对Classes.dex文件进行整体加密,并拆解存放在APK的资源中,在APP应用运行时先在内存中解密Classes.dex,并让Dalvik虚拟机动态加载Dex并开始执行。
效果对比:
利用JEB反编译原始Dex文件效果如下,可以清晰看到原始的Java代码。
利用JEB反编译已加密Dex文件效果如下,只能看到kiwivm壳的代码,无法查看原始Java代码。
3、Dex-Java2C保护
Dex-Java2C是针对Java函数进行深度加密,将Java自动化翻译为C代码,并进行Native层的虚拟化加密,相比Dex文件加壳粒度更细,安全更高。攻击者无法还原Java函数,从而避免关键Java代码被恶意分析、核心技术被窃取。
Dex-Java2C基于LLVM编译器实现,利用复杂的处理流程将Android-Dex指令代码转换成LLVM-IR,然后利用LLVM后端编译器直接生成【或者与代码虚拟化配合使用】Native指令。该方案的转换是不可逆的,从根本上让逆向工程不具备可行性,从达到保护关键Java代码的目的。
效果对比:
利用JEB反编译原始Dex文件效果如下,可以清晰看到原始的Java代码的函数体。
4、So文件加壳
So文件加壳可以防止IDA、ghidra等逆向工具的反编译分析,从而避免C/C++代码被恶意分析,核心技术被窃取。So文件加壳技术与Windows平台的加壳技术类似,利用特殊的算法对文件进行加密处理、抹掉ELF格式中的关键节区描述数据,并行文件压缩存储,从而造成IDA等工具解析失败,达到防反编译,保护C/C++代码的目的。
效果对比
采用IDA工具反编译未加壳的So文件,可以看到相关的函数信息。
采用IDA工具反编译已加壳的So文件,出现解析错误,造成反编译失败
几维安全安卓加固技术优势
1、安全覆盖全面
能够保护应用Dex文件和So文件,并且提供主动防御保护机制,全面保护APP安全;
2、安全强度高
独家Dex-Java2C和源码虚拟化技术配合使用,对Java代码进行高强度加密,可抵挡专业黑客的逆向攻击;
3、加密粒度细
以Java/C/C++代码的函数为单位进行加密保护,粒度细、可控性高、隐蔽性强;
4、兼容性高
适配APP内的各种业务逻辑,并且高级版的Java2C通过中间代码进行加密保护,兼容性与原始应用一致;
5、性能损耗低
Dex加壳方案的启动时间增量小于1s,是业界做得最好的方案。Java函数级加密影响非常小,可以忽略不计
。
Android 开发人员已经为广大用户开发出海量的应用程序,这给用户带来方便的同时也带来了巨大的安全隐患。几维安全在长期的攻防实战之中推出了一站式、全生命周期移动安全解决方案,面对中小企业免费提供APP检测与加固服务,登录几维安全官网即可免费申请使用。
相关推荐
针对这一问题,文章提出了一个基于Android重打包的应用程序安全策略加固系统的设计。 【动态权限管理】在Android系统中,权限管理是防止恶意行为的关键。然而,传统的权限管理模式存在缺陷,用户只能在安装时一次性...
通过针对这些难点进行加固方案的具体设计,并实现加固系统,最终实现一套应用加固系统,使其在性能上与Dalvik模式下的加固系统性能相当,同时满足大多数应用对于安全的要求。 安卓系统安全机制所包含的应用签名、...
对于防御策略,书中会讨论如何设计和实现安全的Android应用,包括使用安全编码实践、加密通信、数据保护、安全框架选择等。此外,还会讲解如何利用Google Play服务的安全功能,如 SafetyNet API 和 Google Play ...
为了达到这一目的,开发者在设计和实现应用时,需要考虑保护用户隐私、防止数据泄漏、确保应用稳定运行等关键因素。 文章的研究为Android开发者提供了安全应用设计的指导,帮助他们理解Android平台的安全机制,掌握...
《Android应用威胁等级评估技术的设计与实现》这篇文章深入探讨了在Android平台上,如何设计和实施一个有效的应用威胁等级评估系统,以确保移动安全。在当前信息化时代,移动设备特别是Android设备已经成为恶意攻击...
本文从移动终端数据通信安全、系统防护、软件加固三个方面出发,探讨了人工智能与机器学习在移动互联网终端安全领域的应用,并提出了相应的技术解决方案。 首先,移动终端数据通信安全是保证用户隐私和数据安全的...
通过系统地分析和设计安全检测指标,开发出的评估模型对于发现和缓解安卓应用的安全威胁具有重要的现实意义。随着移动安全领域的不断深化,这些研究成果也将为其他移动应用安全评估提供参考和借鉴。
7. **用户体验与界面设计**:“面向Android系统的移动应用程序安全加固系统的设计与实现”和“Android主界面个性化定制技术研究与实现”关注用户界面和交互设计,以及应用的安全性。 8. **特定领域应用**:“基于...
总之,《Android平台恶意代码检测通用脱壳机的设计》一文揭示了Android应用安全检测的新思路,通过设计通用脱壳机,克服了加固技术带来的检测难题,为移动安全研究提供了新的视角和实践方法。这一研究对于提升...
启明星辰推出的天镜移动应用安全检测加固系统提供了全面的解决方案。该系统在设计上,考虑了移动应用从开发到运维的整个生命周期,旨在预防和应对各种安全风险。通过安全检测、安全加固、渠道监控和移动态势感知等...
【基于沙盒技术的企业移动应用安全平台设计】 随着移动互联网的快速发展,企业逐渐采用移动设备进行日常工作,极大地提升了效率,但同时也暴露出一系列数据安全问题。企业必须应对各种潜在风险,例如不安全的应用...
在移动应用开发领域,安全性和隐私保护至关重要,其中360加固保作为一款广受欢迎的安卓应用加固工具,为开发者提供了强大的安全防护。然而,为了进一步提升应用的功能或进行定制化操作,开发者可能需要利用Xposed...
《360App加固助手:保护安卓应用安全的利器》 在移动互联网时代,安卓App作为用户接触服务的重要入口,其安全性不容忽视。360App加固助手是360公司推出的一款专业针对安卓Apk应用程序进行加密加固的工具,旨在提升...
- **代码加固**:为了防止恶意逆向工程或篡改,开发者可以采用代码混淆、加密算法等多种技术手段来增强应用程序的安全性。 - **输入验证**:有效验证用户输入可以预防多种攻击方式,如SQL注入等。开发者应当在接收...
总结而言,企业在面临移动安全问题时应高度重视,通过集成安全SDK、实施定期的安全检测与加固、构建渠道监控和响应机制、以及根据自身特色制定定制化安全方案等手段,确保移动应用的安全性和可靠性。同时,针对不同...