我正在使用一些内容,我从Android中的文件解密,并且需要在内存中保留应用程序的整个持续时间。这是否是来自破解者的安全风险?如果是这样,Android是否提供某种形式的敏感内容内存保护,类似于Windows的进程安全内存访问保护机制?
我不是在私有模式下通过SharedPreferences寻找存储,我需要一些无法进行篡改的内存区域。将数据存储在本机缓冲区中是一条好路线吗?我也意识到不可变的,垃圾收集的String对象可能是存储这些数据的一个非常糟糕的主意,我目前正在使用char []。
答案 0 :(得分:5)
这是否存在来自破解者的安全风险?如果是这样,Android是否提供某种形式的敏感内容内存保护,类似于Windows的进程安全内存访问保护机制?
Android进程的内存只能由该应用的用户帐户或超级用户访问。因此,具有超级用户权限的任何人(在Android术语中:rooted device users)原则上可以使用内核调试器访问进程的内存。
AFAIK,每个现代操作系统都在类似的模型下工作。因此,Android在这方面的安全性不亚于Windows,OS X,Linux等。事实上,Android正在使用实际的Linux进程安全性来实现自己的实现。
有关详情,请参阅Accessing any memory locations under Linux 2.6.x。
将数据存储在本机缓冲区中是一条好路线吗?
这没有任何影响。
答案 1 :(得分:2)