繁体   English   中英

防止在Airwatch受管设备上进行Android应用反向工程

[英]Prevent android app reverse engineering on Airwatch managed devices

从Airwatch的功能和文档中,他们提到应用程序是容器化的。 因此,所有应用程序内容均已安全加密并且不容易公开。

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

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

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

虽然由于不熟悉而无法为您提供有关Airwatch的建议,但我可以提醒您,如果您在移动应用中存储此类敏感信息,则您已经处于危险之中,因为逆向工程秘密并不存在正如我在文章如何通过静态二进制分析从移动应用程序中提取API密钥中所展示的那样困难:

摘要

使用MobSF对移动应用程序的APK进行反向工程后,我们可以快速提取API密钥,还为我们提供了大量信息,可用于执行进一步的分析,从而可能向移动应用程序和API服务器揭示更多的攻击源。 在此信息中或在可以以smali和java格式下载的反编译源代码中找到用于访问第三方服务的机密也是很常见的。

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

这里的教训是,在移动应用程序代码中运送API密钥或任何其他秘密就像锁住家门,但将密钥留在垫子下一样!

甚至在另一篇文章中也提到了MitM攻击:

结论

尽管我们可以使用JNI / NDK等高级技术将API密钥隐藏在移动应用程序代码中,但它不会阻止某人执行MitM攻击以窃取该API密钥。 实际上,MitM攻击很容易使非开发人员也可以实现。

我们已经重点介绍了一些很好的资源,这些资源将向您展示其他保护移动API的技术,例如证书固定,即使实现和维护可能会很困难。 我们还注意到,仅凭证书钉扎是不够的,因为它可以被绕过,因此需要采用其他技术来保证没有人可以窃取您的API密钥,而且,如果您完成了我建议的深入研究,您将知道到现在为止,在移动API的上下文中,可以保护API密钥免于通过MitM攻击被盗。 因此,如果您还没有这样做,请阅读我在缓解MitM攻击一节中链接的文章。

而且,技术娴熟的开发人员可以在运行时挂钩一些自省框架,例如Frida和xPosed,以拦截和修改任何正在运行的代码的行为。 因此,即使他们无法解密您的数据,在您在应用程序中解密内容后,他们也将拦截内容。 为了做到这一点,他们只需要知道要钩住您的代码,就可以通过使用移动安全框架或APKTool等工具对移动应用的代码进行反编译和反向工程来实现此目的,但是开源社区中存在更多工具。

移动安全框架

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

弗里达

将自己的脚本注入黑匣子进程。 挂钩任何功能,监视加密API或跟踪私有应用程序代码,不需要任何源代码。 编辑,点击保存,立即查看结果。 全部没有编译步骤或程序重新启动。

x位置

Xposed是一个模块框架,可以在不影响任何APK的情况下更改系统和应用程序的行为。 太好了,因为这意味着模块可以用于不同版本甚至ROM,而无需进行任何更改(只要原始代码的更改不太多)。 撤消也很容易。

APK工具

反向工程第三方封闭式二进制Android应用程序的工具。 它可以将资源解码为几乎原始的形式,并在进行一些修改后重新构建它们。 由于文件结构之类的项目以及一些重复性任务(例如构建apk等)的自动化,这也使应用程序的使用更加轻松。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM