全球变量安全影响

时间:2015-10-18 11:25:15

标签: android security variables android-security

我的申请表中有Global Variable。这是我不想存储的内容,但用户在应用程序运行时应该能够访问。一切正常。

我的问题是,使用全局变量有什么安全隐患?可以从其他应用程序访问吗?

2 个答案:

答案 0 :(得分:1)

不,全局变量无法从其他应用程序访问。

答案 1 :(得分:1)

其他应用程序无法访问全局变量,唯一的情况是如果你有root设备而某些恶意应用程序(低级别)可以访问内存,创建应用程序使用的内存转储,而不是搜索你的变量,但是我不确定即使使用root访问也很容易。

但任何人都可以将您的APK文件反编译为smali代码,并轻松找到此变量 如果您的数据非常敏感,则有一些方法可以保护它。

  1. 使用应用程序签名加密它,何时需要解密。但它仍然可以通过从应用程序签名获取公钥等来攻击。

  2. 根本不要将它存储在设备上(在你的应用程序内部,如全局变量),从服务器解析此变量,此外使用SSL连接。

  3. 默认情况下,如果您不使用Content Provider,其他应用和数据库都无法访问共享首选项。但是通过root访问权限获取应用数据非常容易。

  4. 我更喜欢第二种变体,存储在设备上的所有内容都可以比存储在外部存储上更容易。

    但即使您正在从服务器解析数据,请记住,不同的网络攻击会发挥作用。

    此外,如果您的数据(变量)对所有应用程序都相同,并且如果被盗,所有资源都可以访问,请考虑使用临时令牌或其他具有过期时间的机制。

    <强> P.S。

    Android在基于linux的内核上运行,所有安全机制都适用。因此,每个进程都有自己的内存地址空间,并且不知道系统中的任何其他进程(通常)。

相关问题