0

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

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

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

4

1 回答 1

0

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

虽然我不能就 Airwatch 向您提供建议,因为我不熟悉它,但我可以提醒您,如果您将此类敏感信息存储在您的移动应用程序中,那么您已经处于危险之中,因为逆向工程机密不是正如我在如何通过静态二进制分析从移动应用程序中提取 API 密钥一文中所展示的那样,这很难:

概括

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

现在您可能会质疑自己将如何保护 API 密钥,为此我建议您从阅读有关移动 API 安全技术的系列文章开始。

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

甚至在另一篇文章中使用中间人攻击:

结论

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

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

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

移动安全框架

Mobile Security Framework 是一个自动化的一体化移动应用程序 (Android/iOS/Windows) 渗透测试框架,能够执行静态分析、动态分析、恶意软件分析和 Web API 测试。

弗里达

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

摆姿势

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

APK工具

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

于 2019-07-19T14:33:50.043 回答