首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在Airwatch托管设备上对android应用程序进行反向工程

防止在Airwatch托管设备上对android应用程序进行反向工程
EN

Stack Overflow用户
提问于 2019-07-18 15:52:23
回答 1查看 202关注 0票数 0

从Airwatch的功能和文档中,他们提到应用程序是容器化的。因此,所有的应用程序内容都是安全加密的,不容易暴露。

对于有根的设备,Airwatch可以检测到这类设备,并远程擦除公司数据。

我想检查Airwatch是否可以保证应用程序代码不能被反向工程,以便从代码库中提取敏感数据,如API密钥、加密密钥等。

EN

回答 1

Stack Overflow用户

发布于 2019-07-19 22:33:50

我想检查Airwatch是否可以保证应用程序代码不能被反向工程,从代码库中提取敏感数据,如API密钥,加密密钥等。

虽然我不能为你提供有关Airwatch的建议,因为我不熟悉它,但我可以提醒你,如果你在你的移动应用程序中存储这种类型的敏感信息,那么你已经处于危险之中,因为逆向工程秘密并不像我在文章How to Extract an API key from a Mobile App by Static Binary analysis中所展示的那样困难

摘要

使用MobSF对移动应用程序的APK进行反向工程,可以让我们快速提取API密钥,也可以给我们提供大量的信息,我们可以用来执行进一步的分析,这些信息可能会揭示更多进入移动应用程序和API服务器的攻击载体。在这些信息中或在以smali和java格式下载的反编译源代码中,也经常会发现用于访问第三方服务的秘密。

现在,您可能会问自己如何保护API密钥,为此,我建议先阅读有关Mobile Api安全技术的这一系列文章。

这里的教训是,在移动应用程序代码中传送你的API密钥或任何其他秘密就像锁上了家里的门,但把钥匙留在了垫子下面!

或者甚至使用此other article中的MitM攻击

结论

虽然我们可以使用高级技术,如JNI/NDK,在移动应用程序代码中隐藏应用程序接口密钥,但这不会阻止某人执行MitM攻击以窃取应用程序接口密钥。事实上,MitM攻击很容易,甚至可以由非开发人员实现。

我们已经重点介绍了一些很好的资源,这些资源将向您展示保护移动API的其他技术,例如证书锁定,尽管它在实现和维护方面可能具有挑战性。我们还注意到,证书锁定本身是不够的,因为它可以被绕过,因此需要使用其他技术来保证没有人可以窃取您的API密钥,并且,如果您已经完成了我推荐的深入研究,您现在就会知道,在移动API的上下文中,API密钥可以通过MitM攻击得到保护。因此,如果您还没有这样做,请阅读我在关于缓解MitM攻击的部分中链接的文章。

此外,更熟练的开发人员可以在运行时挂钩一些自省框架,如Frida和xPosed,以拦截和修改任何运行代码的行为。因此,即使他们无法解密您的数据,他们也会在您的应用程序中解密内容后将其拦截。为了能够做到这一点,他们只需要知道是挂钩到你的代码,这是通过反编译和逆向工程的移动应用程序的代码在工具的帮助下,如移动安全框架或APKTool,但更多的工具存在于开源社区中。

Mobile Security Framework

移动安全框架是一个自动化的,一体化的移动应用程序(安卓/iOS/Windows)笔测试框架,能够执行静态分析,动态分析,恶意软件分析和web API测试。

Frida

将您自己的脚本注入黑盒进程。钩子任何函数,监视加密API或跟踪私有应用程序代码,不需要源代码。编辑,点击保存,并立即看到结果。所有这些都无需编译步骤或程序重启。

xPosed

Xposed是一个模块框架,可以在不接触任何APK的情况下更改系统和应用程序的行为。这很棒,因为这意味着模块可以在不同的版本甚至ROM上工作,而不需要任何更改(只要原始代码没有太多更改)。它也很容易撤消。

APKTool

是一个逆向工程工具,第三方,封闭式,二进制安卓应用程序。它可以将资源解码为接近原始的形式,并在进行一些修改后重新构建它们。它还使使用应用程序变得更容易,因为它的项目,如文件结构和一些重复任务的自动化,如构建apk,等等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57089607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档