[关闭]
@ensis 2017-01-10T09:00:14.000000Z 字数 4207 阅读 1312

熟人可重置你的支付宝密码,论账户安全的风险管控

支付宝


一、事件简要回顾

今天一早,看到了几个新闻稿,总结下来就是通过【填写用户账号】、【忘记密码】、【手机不在身边】、【买过的东西9选一】、【好友头像九选一】这五个步骤,就可以开启重置登陆密码的大门,而新闻稿中的案例是笔者试了几个同事的账号,有一些成功的案例,分析了可能造成的影响,如使用该账号进行小额免密支付,最后给出应对办法是快速挂失支付宝。
在知乎上也看到一些评论说会全部删除好友、解绑银行卡、关闭花呗借呗等应对方式。
此时,笔者进行了测试,成功重置了好友A的登陆密码,与所描述的不同之处只是买过的东西9选一换成了正确选择常用的收货地址。
但在笔者尝试重置好友B的登陆密码时,却没有遇到这种方式,而是常规的【回答安全保护问题】、【验证已绑定的银行卡信息】、【验证本人银行卡信息】、【拨打验证电话】这四种方式,后来发现原因是刚好在操作过程中手机断开了工作wifi,也就是说当发起攻击的手机处在与好友B经常连接网络不同的网络环境中时,是无法触发这一验证过程的。因此笔者判断,触发这一比较容易通过的安全保护的条件,起码包含支付宝风控的一些条件判断,比如常用的设备、安全的网络环境等。

上午11时50分,支付宝官方微博发文称,已限制这种重置密码方式的使用条件,只有在用户自己的手机上才能进行这一操作。文中同时也验证了笔者对未更改之前触发条件的猜测。
整理一下思路,可以发现在支付宝未做响应之前,也就是原本的问题的攻击条件是:
1、攻击者能够触发这种通过两个安全问题(买过的东西、好友头像、收货地址等)验证身份的机制
2、攻击者能够选中两个问题的正确答案
第二个条件从概率上来说至少能以1/81的概率达成,但由于熟人有获取相关问题答案信息的优势,因此我们在这里就简单认为这个条件很容易满足。
因此问题的关键就在于第一个条件能在怎样的条件下满足:
首先毫无疑问,若是在自己的手机上,或是曾经登陆过你账号的手机上,这个条件是满足的,因为对自己的手机掌控权比较大,除去二手手机的因素,基本上认为这个你个人的操作,因此信任程度较高。
其次,攻击者的手机若是处在与攻击对象常用网络的同一网络环境中时,第一个条件满足。
除此之外,攻击者是无法满足第一个条件的,因此,事实上攻击者的攻击窗口受到实际情况限制很大。除本人外,处于同一安全网络环境的熟人(如同事、情侣、家人等)是会触发这一问题,但至于说经常送快递的小哥、门房的保安等人,他们虽然能够以比较大概率满足第二个条件,但由于第一个条件的限制,因此他们并不在可能利用这一问题的范围内。
支付宝的应对方案,是进一步缩小了满足第一个条件的人群,也就是基本上限定在本人(拥有你手机控制权的人)才能触发这一密码重置过程。

那么支付宝为什么要使用这一方案呢,很多人会质疑说好友的头像、收货地址、买过的物品这些会太容易被获知,但另一方面来说,用户的身份证号信息、银行卡号信息等,也都并没有严格的保密,不可否认这些信息身边的熟人、甚至为你办事的陌生人,都可以获取到。


【束博士版】
在各大网站上,网友们信誓旦旦的说着自己成功重置了好友的支付宝密码,完成一次令人咋舌的攻击。更有网友表示已经删除全部好友、解绑银行卡、关闭花呗借呗以保平安。然而,事实真的如此吗,真的能如此轻易的重置一个支付宝账号的密码吗?本着严谨的科研精神,笔者组织实验室同学们进行了若干实验,实验的过程和结果整理如下。为了
密码重置请求实验,触发场景:
1.使用曾经登录过该支付宝账号的设备发起重置请求。
2.在该支付宝账号常用的WiFi环境下,使用未曾登录过该支付宝账号的设备发起重置请求,支付宝账户内没有余额。
3.在该支付宝账号常用的WiFi环境下,使用未曾登录过该支付宝账号的设备发起重置请求,支付宝账户内有余额。
4.在4G网络环境下,使用未曾登录过该支付宝账号的设备发起重置请求,支付宝账户内有余额。
5.在4G网络环境下,使用未曾登录过该支付宝账号的设备发起重置请求,支付宝账户内没有余额。

密码重置请求实验结果,认证方式:
1.【输入身份证号码】即可。
2.【好友9选1】 并且 【收货地址6选1】。
3.【回答安全保护问题】 或者 【验证已绑定的银行卡信息(进行实名银行卡绑定)】或者【验证本人银行卡信息(已经绑定的卡号和身份证号)】或者【拨打验证电话】
4.【回答安全保护问题】 或者 【验证已绑定的银行卡信息(进行实名银行卡绑定)】或者【拨打验证电话】
5. 【回答安全保护问题】 或者 【验证已绑定的银行卡信息(进行实名银行卡绑定)】或者【拨打验证电话】

由于时间和资源的原因,我们所进行的实验并不能完全覆盖到所有的情况,但是从上述的实验结果中我们可以看出一些端倪。当使用常用设备重置密码时,是非常的简单快速的。一旦设备发生了更换,就无法通过单一信息进行密码重置。进一步,当网络环境也发生改变时,就会限制使用几种较为复杂的方式进行密码重置。我们可以认为,网友们所描述的成功攻击的案例只能发生在非常苛刻的前提下。


学术观点

这就引出了身份认证的问题,如何认证身份,也就是在网络中如何证明你是你。
“你是你所知道的”(you are what you know),也就是用你知道的信息(something you know)来证明你是你,基本上概括了现在大部分的身份认证方式。密码,就是你所知道的信息中最具代表也使用最多的一种。那么其他的“你所知道的”信息,概括起来就可以归为是隐私信息,隐私信息,说的简单直白些,就是那些你不想让人知道,但总会有小部分人知道的信息。
此外,用你有的东西(something you have),比如U棒等也可以用来认证,但因为在实际应用中的不便捷,更多的是充当多因子认证中的一个因子。而something you are,也就是用指纹、面部识别、虹膜等来认证你是你,这需要相应硬件的支持,与第二种方式面临类似的问题。
应该说上面三种方式是一个比一个安全的,但从目前的使用情况来看,能明显反映出可用性的需求还是大过了安全性。这并非是借口或是万能的挡箭牌,实际中在安全性可以接受的情况下优先保证实用性应当是大家的共识。
在安全界顶级的学术会议论文中,也有研究如何在不损害安全性的前提下提高可用性的工作,来自康奈尔大学的研究人员在发表于2016年学术界顶级安全研究会议S&P上的“pASSWORD tYPOS and How to Correct Them Securely”一文中,论证了网站可以接受用户输入密码时的typo而不降低网站对用户身份认证的安全性,比如原本的密码时Password,而在用户输入成pASSWORD、password或Password`等时,网站也会验证通过,让用户成功登陆。

支付宝隐私安全保护与管控的合理性讨论 & 从一个案例说起

作为一名合格的安全研究人员,在评估一个安全问题所带来的风险时,必须结合实际应用场景进行分析,任何抛开现实来谈论“安全性”或者“发生攻击的可能性”都是不负责任的行为。
在今天发生的XXX事件中,大家讨论的焦点在于,当我需要“证明我是这个支付宝账户的拥有者”时,使用哪些信息是合适的、安全的。
这个问题可以分成可用性和安全性两个方面来分析。
首先,可用性表现在,当忘记自己的支付宝登录密码时,可以提供哪些信息来证明我是该账号拥有者。其次,安全性表现在,这些能够被用来证明我身份的信息,其他的人能否获取的到。
这里我们可以通过一个思维实验来探讨一下目前支付宝所使用这套密码重置方案在可用性和安全性上表现的怎么样。
假设现在你忘记了自己支付宝的登录密码,你的第一选择应该是通过支付宝绑定的手机号码进行密码重置。然而,当这个手机号码无法使用时(欠费,手机卡遗失等),用户就需要使用其他的信息来自证身份。在这个过程中,可以被使用的信息有:设备信息(设备型号、IMEI码等)、所处网络环境信息(地理位置、WiFi信息等)、账号相关信息(消费记录、送货地址、好友关系,银行卡号等)、用户身份信息(指纹、面部识别、虹膜、身份证等)。仔细的思考一下会发现,在现实生活中,上述信息中的绝大部分,你都不是唯一知晓的人。你的朋友可以轻易的知道你的手机型号,你的同事和你使用同样的网络环境,给你送货的快递小哥会知道你家的地址同时也(可能)知道你买过哪些东西,给你转过帐的人知道你的银行卡号,帮你买过车票的人知道你的身份证号,更不要说和你关系更密切的家人和挚友了。此外,作为能够唯一标识一个人身份的生物特征信息,出于种种原因(需求特殊硬件、受到法律法规限制等)无法被大规模的推广。说到这里,我想唯一能够准确证明你身份并且不太可能被他人冒名顶替的做法大概就是持本人身份证进行人工验证了吧。然而,对于一款国民级的应用来说,每天有成千上万的人需要找回自己的支付宝密码。在这种情况下,需要人为介入的方案会给用户体验带来毁灭性的影响。
我们再回过头看看支付宝所采用的这套方案。首先通过用户发起密码重置请求时所处的环境信息(设备型号、网络环境等),对该请求进行一个初步的风险评估,根据评估的结果提供不同的密码重置方案。比如当你使用常用设备申请密码重置时,只要输入身份证号即可。当使用全新设备申请密码重置时,只能选择更加复杂的方案。其次,通过组合多种身份证明信息(身份证+银行卡,收货地址+好友名),减少被攻击的概率。同时,在支付宝内部设置有对大额、反常交易的二次验证,保证了账号密码被恶意重置的情况下,用户的财产损失控制在一个较小的范围。最后,对确实发生的用户财产损失进行赔付,尽可能的将用户在一次攻击中所遭受的损失降到最低。
根据上述的讨论,我们认为在支付宝所提供的风险管控和赔付策略的支撑下,目前所使用的密码重置方案无论是在可用性和安全性上均能够满足现实生活的需求。

上海交通大学密码与计算机安全实验室 (LoCCS) 安全研究团队通过该问题进行的全面安全测试,指出基于相关用户信息的密码重置方案尽管在特定场景下(如同一wifi环境并了解被攻击者相关信息)存在攻击面,但是攻击者的攻击窗口受到实际情况限制较大,且在完成登陆后再进行针对用户财产的操作会被支付密码进一步限制,因此很多现有评估存在对安全威胁的夸大描述。
同时,针对该登陆方式与其他登陆方式的比较,LoCCS研究人员指出在相关风控策略的限制下,并不能简单认为哪种方式更不安全
应该考虑实际应用场景进行分析

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注