移动应用程序如何保持如此长的会话同时仍被认为是安全的?

信息安全 移动的 pci-dss 会话管理 IOS
2021-08-11 10:45:53

今天几个月来我第一次打开了我的亚马逊 iOS 应用程序,并且能够直接完成结账(我可以在其中查看和更新​​我的地址)而无需重新验证。这怎么可能在安全的同时又符合 PCI 标准?

3个回答

有两种特定的安全措施有助于防止您担心的会话劫持和放置欺诈命令攻击:

  1. 身份验证令牌可以绑定到设备,因为移动应用程序可以轻松访问(移动)帐户和设备特定 ID (UDID),如果身份验证令牌用于错误的设备或在错误的上下文。这在技术上并不是一个万无一失的限制,因为实际的服务是通过 HTTP 调用发生的(可能被恶意用户“欺骗”),但这意味着实际利用被盗的身份验证令牌将需要以下内容:身份验证令牌、设备 UDID(以及可能更多的识别信息),以及亚马逊用于下订单的 API 调用的详细知识。风险肯定很低。
  2. 另一个保护措施是亚马逊不只是让你更改地址。即使有人获得了您帐户的访问权限,他们也不能只给自己下订单。亚马逊长期以来一直采取的一般安全措施是,如果将订单发送到新地址,您必须重新输入任何存储的信用卡号。如果您可以访问其他人的帐户,则无法向自己发送东西。当然,如果您还可以访问他们的信用卡信息,您可以绕过这个问题,但众所周知,那时恶意用户不会费心使用您的帐户下达欺诈性订单。

简而言之,亚马逊这样做的实际风险非常低,而且由于让人们重新登录而导致的潜在收入损失(我敢肯定)要高得多,这就是为什么他们让长期会话在他们的服务器上持续存在的原因.

值得指出的是,这里的风险不仅仅是欺诈性订单。这个值得一读:

https://www.wired.com/2012/08/apple-amazon-mat-h​​onan-hacking/

安全不是一个二元命题;也就是说,事物不是“安全的”或“不安全的”,而是属于安全范围内的某个地方。

因此,亚马逊的某个人已经确定,让移动会话保持几个月的活跃,并且不需要重新提示结帐,就足够安全了。从他们的角度来看,这可能是迫使用户重新认证的(非常真实的货币)成本与用户被盗手机下欺诈订单的(非常真实的货币)成本之间的平衡。我怀疑他们还进行了额外的欺诈检测,可以标记可疑订单,从而降低被盗亚马逊授权手机的成本。

我对 PCI-DSS 的细节不是很熟悉,但我认为它没有任何适用于这种情况的规定。

安全是一个相对的概念。通常在便利性和威胁感知之间找到平衡(两者都是主观领域!)。

一般来说,我会说如果移动应用程序更频繁地使这些会话过期,那么长时间维护经过身份验证的会话的移动应用程序就不会“尽可能安全”。

但是,检查会话到期可以防止的两个主要威胁是有用的:

  1. 某些(不是全部)设备场景的共享使用
  2. 会话劫持

移动设备主要是个人设备,与笔记本电脑/台式机系统上的浏览器选项卡相比,移动应用程序面临的威胁相对较少——另一个用户可以(更有可能)使用系统,从历史记录中打开一个选项卡并找到一个登录帐户.

存在其他针对会话劫持的保护措施 - 例如使用每次对话随机数和客户端 IP 更改检测(有争议)。特定应用程序是否使用任何保护措施是一个重要但经常缺失的细节。:)