我正在努力确保我公司产品的安全性。我们有该产品的移动版本。这个问题是针对安卓版本的
背景 - 我们的产品是基于 SaaS 的产品,该应用程序旨在供租户组织的不同销售人员使用。我们已经实施了不同的控制层来确保我们的应用程序的安全(或更安全)环境 -
- 我们检查根检测 - (操作系统级别检查)
- 实施 SSL pinning -(传输层级别检查)
- 在 Android 钥匙串中存储秘密
- 最小的本地数据存储。加密本地数据(需要存储)
而这样的例子不胜枚举。简而言之,从设备层到通信层再到服务器层,我们都在覆盖每一个角落。
问题是我们收到了一位安全研究人员报告的一个问题,称由于我们的应用程序可以从 Android Play 商店下载,因此它可以在模拟器上运行,并且在模拟器上,可以绕过根检测。所以它增加了一个巨大的威胁,应该立即修复。
我进行了搜索,但如果可以在模拟器上安装应用程序,我找不到可能存在的安全隐患。我还检查了是否可能需要修复它,可能的解决方案是什么。检查运行环境是否为 SDK,检查相机或传感器等功能是否正常工作,但所有这些检查也可以在模拟器中绕过。
这对我来说很关键,因为如果我接受这个问题,我们的客户会在报告中看到它并坚持修复它。我将不得不向管理层和开发人员解释(如果我接受)并修复(以后可能需要)的含义,我对此一无所知
更新 -
- 我想澄清一件事,我们从不提倡根检测或任何其他客户端安全控制作为我们应用程序的一个优点,因为我们相信所有客户端保护都可以在某一时刻被绕过
- 我们继续尝试在服务器级别构建更安全的架构。但是由于客户端也构成了生态系统的一部分,所以我们不能对其置之不理。
- 我们甚至尝试在通信层(TLS 除外)实施控制,以确保仅通过点击就无法获取所有内容
整个想法是,如果我们无法控制某些事情,我们至少可以让恶意方难以应对。我们的主要重点是确保我们的用户数据和控制措施到位并正在进行中。
同样来自 Pentester 的更新 - 在与他讨论后,他说他不了解应用程序的安全要求。按照他的说法,所有应用程序都应该有根检测。我们向他解释说,这些事情对我们来说是次要的,但如果任何客户特定的数据显而易见,或者由于应用程序中的错误配置或应用程序中的任何漏洞(如硬编码的秘密)而受到损害,那么它是主要的。
根据为你们提供的输入,我能够明确区分并帮助解决问题。早些时候,由于这个问题,一切都是噪音。谢谢大家