当我使用我的银行的Android应用时,应用程序会注意到我的手机是有根的,并贴出一条红色的“危险”符号和一条写着“易受攻击的设备”的信息。我完全理解他们这样做,因为金融机构总是喜欢安全的一方。然后银行可以说:“我们警告过你!”如果一个有着根深蒂固的设备的人让他们的网上银行受到损害。
现在,我意识到我的手机不像一个无根的Android设备那么安全。我相信大家都会很乐意同意的。(少多少显然将取决于许多事情。)
但我的想法是,这真的与在Windows桌面上运行的浏览器中使用网络银行有什么不同吗?我的意思是,Windows也“扎根”在某种意义上,你有能力给予任何你想要的应用程序“根”(管理)特权?
所以,在他们抱怨我的手机有能力给应用程序“根”权限的情况下,这不就像在桌面操作系统上使用网上银行一样吗?
如果我在手机上使用浏览器应用程序的在线银行业务呢?这比应用程序安全吗?
在我手机上的浏览器应用程序中使用网上银行与在Windows桌面上使用浏览器有什么不同吗?(这两种浏览器都运行在“根”操作系统下。)
发布于 2016-04-30 10:34:22
的
我们在几乎所有的移动应用程序安全检查列表(例如OWASP)中都提到了“检查越狱/根设备”。在将其与桌面或web浏览器进行比较时,我们必须记住,它们有不同的威胁模型。
例如,在桌面计算机上,在设计应用程序时,我们已经知道还有其他具有管理员权限的应用程序。
举个例子,Windows或Linux这样的操作系统的安全模型并不阻止应用程序访问另一个应用程序的目录或内存。
现在,在移动环境中,以Android为例,操作系统阻止应用程序访问彼此的目录和根权限,从而绕过这个安全控制。因此,通过使设备生根,您正在对设备进行更改,这可能是应用程序开发人员无法预见到的,也可能不会考虑到它的风险。
现在回到OWASP的移动安全项目(越狱/生根的危险),根方法分类如下:
其风险是:
我们可以为每个平台计算无数的风险,从web、移动应用程序、桌面应用程序等等,从安全性的角度比较这些平台是不容易的。它可能高度依赖于特定的平台(Android,Windows Linux),也依赖于用户行为(拥有大量垃圾应用程序的移动设备,而只有已知应用程序的移动设备)。在每一种情况下,我们都试图采取措施来降低我们的风险,一旦一个平台变得过于不安全,我们就可能停止在其上提供服务(例如,通过固定电话或USSD进行电话银行业务)。
回到使用移动电话的web浏览器与使用移动银行本地应用程序的问题,风险取决于移动银行应用程序的实现以及手机上可能存在的恶意软件类型。
发布于 2019-03-29 14:59:08
Android中的应用程序在底层Linux中被分配了不同的UID/GID,因此以这种方式彼此隔离。与标准桌面应用程序相比,用户运行的所有程序通常具有相同的权限(在没有AppArmor或SELinux配置的情况下)。Windows不类似吗?浏览器提供一些沙箱功能,但只能从其他浏览器运行的代码,甚至这个环境是充满了跨网站的渠道,潜在的利用。
根使用户能够授权任意应用程序具有提升的权限。这无疑是一个威胁,并困扰银行,因为他们觉得这是超出他们的控制。但它在用户的控制范围内。重要的一点是,用户的能力和行为总是不受银行的控制。据推测,任何使用手机的人都有可能至少对风险有一些更高的理解,同时对缓解也有更高的理解。因此,当然,银行不知道用户还在和谁上床--拥有更高的特权--也不知道他们有多精明。另一方面,根支持可以增强安全性的反措施。如果用户不小心,生根可能会使他们暴露。
即使没有根权限,任何应用程序也可以显示一个假装是银行应用程序的显示,并诱使用户提供身份验证凭据。如何成功地完成这一任务固然具有挑战性,但对许多潜在的受害者来说无疑是可能的。
我认为,根使电话“不安全”的教条--一个定义不清的术语--是误导人的,银行应该把注意力集中在其他事情上。
FWIW,除其他原因外,我使用root来配置iptable,因为有趣的是,stock Android不允许我有选择地授权访问Internet的应用程序。我们都能猜到这种情况对我们有什么好处。
发布于 2018-02-20 13:55:47
我同意@Silverfox提供的信息。金融机构的目标当然是减少欺诈风险,因为它们的安全政策是建立在目标设备特有的威胁模型基础上的。
许多网上银行系统都采用了多因素认证(MFA)来证明用户的身份。这意味着获得您的用户名/密码组合的攻击者无法访问您的帐户(这将要求他们获得验证代码,或者欺骗/破坏以前“受信任的PC")。
权限提升允许对手打破隔离并访问任何敏感数据。由于手机现在是用户认证方案的一个关键部分,因此,一旦手机被破坏,一个有根的设备对金融公司来说是一个更大的风险。例如,恶意软件可以窃取银行应用程序的凭据,甚至可以获取作为MFA一部分发送的SMS验证代码,立即删除它以向用户隐藏跟踪。
但是,需要考虑的一件重要事情是,这些运行时环境检查通常可以很容易地被绕过。执行检查的方法和API多种多样,但例如,许多应用程序将大致执行以下操作:检查"su“二进制文件是否存在,如果存在,则假定设备具有根用户权限。通过稍微重命名"su",就可以绕过这种类型的检查。
为了获得更好的效果,许多现代的安卓应用程序将使用Google来进行远程认证,并检查设备的遵从状态。此外,在移动设备管理(MDM)应用程序的保护伞下还有一些第三方解决方案,这些解决方案通常由大型企业部署,它们分担员工携带敏感数据的风险,例如,如果有根设备感染,他们的工作电子邮件应用程序就会受到损害。
https://security.stackexchange.com/questions/121972
复制相似问题