我正在开发一个处理敏感数据的应用程序。
该应用程序具有合理的安全模型,包括加密,SSL和数据不会持久存储在设备上。
我正在尝试确定我的应用是否在root设备上“安全”运行,或者设备已植根的事实将更容易利用/破解应用。 所以问题是:处理敏感数据的应用程序应该在root设备上运行吗?
我已经做过研究,但我还没有看到任何关于root设备安全性的讨论。我知道检测有根设备的方法有可能被规避,因此不支持有根设备的重点是什么?
答案 0 :(得分:2)
根设备上的应用程序最大的安全问题是:
你能做的最好的事情是:
savedValue = ((((realValue*10)+1)/365*23)*50)+1;
这样的东西这使得黑客很难编辑你保存的值并得到想要的结果,但是因为他/她会反编译你的apk,这是一个非常基本的保护措施。这些只是我能想到的一些建议。我绝不是安全专家,你可能想咨询一下这个问题。
答案 1 :(得分:1)
Android根设备中的应用是否受到侵害?是的,他们是。
即使在非root用户手机上,攻击者仍有可能捕获漏洞并采取根控制(GingerBreak是其中一个展示案例)。因此,即使没有用户使用,手机也不会受到100%的损害。
正如您所提到的,root的检测不能完全可靠,因为它们可以被绕过。但是,如果您检测到手机已经根除了,您肯定会阻止它。如果你没有检测到它,这并不意味着手机没有root,你仍然需要有防御根电话的安全机制。
您可能需要应对几种类型的攻击:中间人攻击,键盘记录程序,屏幕捕获,用户模式rootkit,内核模式rootkit,...
好消息是,有些公司会为您制作库,以保护您的应用免受此类攻击。他们为您提供解决方案,让您摆脱头痛,因为他们会为您提供帮助。 V-Key 就是其中之一,您可以查看他们的网站并考虑是否要购买 V-Guard 产品。