我正在撰写一些关于Android设备的小型安全报告,通常与从RAM访问信息有关。 主要条件是设备最初是非根的。
用例: 用户打开第三方应用程序,在密码字段中输入一些密码。之后,使用此运行的应用程序丢失设备。此应用程序的源代码显示在应用程序启动并运行时RAM中可用的密码信息。例如,在公共String myPassword中的类AllMyAppPasswords中。现在是关于访问此密码信息的可能方法的问题(如果我错了,请纠正我):
结论:如果设备是非root用户,则无法从应用程序获取密码驻留在RAM内存中。这是对的吗?
更新用例: 我们假设用户只是取消装箱新设备并且100%确定它没有root,并且不包含任何键盘记录应用程序。因此,用户刚刚安装了我的应用程序,输入了密码,应用程序在运行时内部使用此密码定期连接服务器(仅密码RAM,从不存储在磁盘上)。因此,在视觉上,编辑文本字段中没有任何内容,仅在应用程序内存中供内部使用的密码信息,当然不可能只是从屏幕上读取密码文本。现在用户丢失了手机。如果用户担心发现手机的人可以从RAM获取此密码信息吗?
答案 0 :(得分:1)
虽然不是这个领域的动手内幕,但我会声称我对平均水平感兴趣,这是我的想法。但并不是说你不太可能已经知道这一点。
我在某种程度上扩大了原始问题的范围,但也许还有一些对你有用的东西。即使一字一句地坚持你的问题,我相信安全漏洞点确实很痛,除了我不知道任何可靠的(完全无疑的,现在和未来)的方式识别有根设备。
直接硬件访问可能超出了您的目标安全级别范围,但我似乎记得我最近读过一些关于此的内容。