手機(jī)丟了你的支付寶還安全嗎?
近日看到一則新聞?wù)f“某男子撿一手機(jī)裝有支付寶網(wǎng)購(gòu),用其購(gòu)買7臺(tái)iPhone”。撿到手機(jī)的人通過(guò)支付寶“找回密碼”操作,成功獲得密碼,然后開(kāi)始網(wǎng)購(gòu),支付寶被刷了3萬(wàn)多元。關(guān)于這則新聞事件的可能性我在微博上與李鐵軍討論了半天。有些朋友可能記得在今年三月份有條新聞?wù)f有人通過(guò)某些偏遠(yuǎn)地區(qū)的移動(dòng)營(yíng)業(yè)廳,使用假證件掛失補(bǔ)辦他人的手機(jī)號(hào),并通過(guò)手機(jī)修改支付寶密碼,盜取支付寶里余額。我先暫且不去分析這兩件事件的真實(shí)性,但作為支付寶的忠實(shí)用戶,我還是想去了解一下究竟,是否存在這種可能。
以前我并不是很關(guān)注支付寶的安全新聞。自從被“強(qiáng)迫”使用了支付寶的快捷支付和最近推出的余額寶,事關(guān)自己的利益,因此最近支付寶出現(xiàn)的安全事件新聞,我都會(huì)參與討論一下,包括上次的交易信息泄露個(gè)人信息的事件。于是上周末我花了點(diǎn)時(shí)間對(duì)阿里的手機(jī)客戶端做了下測(cè)試。由于本人只有安卓的手機(jī),所以測(cè)試的都是安卓應(yīng)用。測(cè)試的應(yīng)用主要是淘寶手機(jī)客戶端和支付寶錢包(都是最新版本),同時(shí)對(duì)wap版及網(wǎng)頁(yè)版淘寶和支付寶做了附帶測(cè)試。本次測(cè)試沒(méi)有使用任何工具,僅僅用常規(guī)手法測(cè)試業(yè)務(wù)流程。但通過(guò)測(cè)試我還是發(fā)現(xiàn)了一些問(wèn)題,或許有些偏差,但測(cè)試的結(jié)果我都截了,應(yīng)該反映的都是真實(shí)情況。以下是測(cè)試發(fā)現(xiàn)主要的一些零碎問(wèn)題:
1. 一分錢可以買你的賬號(hào)信息
支付寶客戶端有一個(gè)“手機(jī)號(hào)轉(zhuǎn)賬的功能”。通過(guò)該功能,可以知道某手機(jī)號(hào)對(duì)應(yīng)支付寶用戶的關(guān)鍵信息。不花錢的情況下可以知道對(duì)方的名字,如果支付一分錢,就可以知道對(duì)方的支付寶的賬號(hào)和真實(shí)姓名(點(diǎn)擊手機(jī)轉(zhuǎn)賬里對(duì)方手機(jī)號(hào)的聯(lián)系人圖標(biāo),為了測(cè)試這個(gè)問(wèn)題,花了幾塊錢,希望支付寶賠給我)。
關(guān)于這個(gè)類似的問(wèn)題,之前小鳥(niǎo)在烏云上報(bào)過(guò),但是還是沒(méi)有完全杜絕。
http://wooyun.org/bugs/wooyun-2010-022400
另外,http://me.alipay.com 也有這個(gè)問(wèn)題,付款前都看不到對(duì)方的賬號(hào)信息,付款后就可以在支付寶里面轉(zhuǎn)賬聯(lián)系人里面看見(jiàn)。
2. 提現(xiàn)銀行卡號(hào)未處理直接顯示
關(guān)于信息泄露的問(wèn)題客戶端還有一些,比如提現(xiàn)銀行卡號(hào)信息泄露的問(wèn)題,網(wǎng)頁(yè)版是看不到的。(301同學(xué)提供)銀行卡號(hào)在網(wǎng)頁(yè)版支付寶取回支付密碼時(shí)可能被用上。
3. 淘寶客戶端退出好難
淘寶客戶端起初我一直沒(méi)有關(guān)注過(guò)退出的問(wèn)題。由于這次順便測(cè)試了下淘寶客戶端的安全性,順便也測(cè)試了下安全退出的問(wèn)題,結(jié)果發(fā)現(xiàn)淘寶客戶端的退出好蛋疼。平時(shí)退出淘寶客戶端我都直接按返回鍵。有時(shí)候也從菜單里面選擇“退出”。但事實(shí)上,淘寶的客戶端根本沒(méi)有真正的退出,重新打開(kāi)還是會(huì)自動(dòng)登錄(登錄界面也沒(méi)有記住密碼的選項(xiàng))。需要退出賬號(hào)得在菜單》》設(shè)置》》注銷,下次登錄才需要輸入用戶名密碼。
此外我尋了半天也沒(méi)有設(shè)置一個(gè)類似支付寶手勢(shì)密碼的地方。既然“不鼓勵(lì)”退出,總該搞個(gè)其他的簡(jiǎn)單驗(yàn)證吧。話說(shuō)淘寶里面有很多隱私信息的,如聯(lián)系人、訂單信息都可以查看,更重要的還可以一鍵切換到支付寶客戶端。
4. 支付寶手勢(shì)密碼形同虛設(shè)
支付寶的手勢(shì)密碼看起來(lái)很威猛,但其實(shí)是個(gè)紙老虎,很容易就能繞過(guò)。我最先想到的方法是把支付寶客戶端卸載了重新安裝,然后通過(guò)淘寶客戶端的一鍵切換跳轉(zhuǎn)過(guò)去,這個(gè)大家可能都能想到。如果機(jī)器沒(méi)有安裝淘寶客戶端,或者淘寶客戶端沒(méi)有登錄怎么辦?辦法還是卸載支付寶客戶端,然后重新安裝。支付寶卸載并沒(méi)有刪除賬號(hào)信息,重新安裝后還可以使用,這樣就繞過(guò)了手勢(shì)密碼。
支付寶和淘寶的驗(yàn)證信息都存在手機(jī)本地,假如手機(jī)被植入木馬,賬號(hào)相關(guān)文件被盜取,是否可以在其他手機(jī)上直接調(diào)用并利用?是否可以逆向出用戶名密碼?關(guān)于這個(gè)我并沒(méi)有測(cè)試,如果有同學(xué)有興趣,可以去研究研究。
5. 取消手機(jī)令寶不需要驗(yàn)證
取消手機(jī)令寶不需要任何驗(yàn)證(貌似小額交易免密碼也是,沒(méi)有測(cè)試確認(rèn),有興趣的同學(xué)可以測(cè)試測(cè)試)。
以上發(fā)現(xiàn)的這些問(wèn)題可以說(shuō)是不痛不癢,有些人可能不是很關(guān)注,那么以下這些問(wèn)題需要大家的足夠重視。
6. 小額免密支付功能與淘寶賬號(hào)登錄支付寶
其實(shí)還有一種辦法繞過(guò)支付寶手勢(shì)密碼,當(dāng)忘記手勢(shì)密碼后可以通過(guò)重新登錄進(jìn)行繞過(guò)。雖然不知道支付寶的密碼,但是可以通過(guò)淘寶賬號(hào)進(jìn)行登錄。而如果有手機(jī),搞到淘寶賬號(hào)和密碼比較容易,僅需要短信驗(yàn)證碼(詳見(jiàn)下一個(gè)問(wèn)題的描述)。
很多人為了方便,開(kāi)啟了小額免密支付功能,通過(guò)淘寶賬號(hào)繞過(guò)登錄后也繼承了這一個(gè)特權(quán)。因此如果手機(jī)丟了,每準(zhǔn)還會(huì)附帶贈(zèng)送200塊話費(fèi)。
7. 欠妥的密碼取回機(jī)制
在說(shuō)這個(gè)問(wèn)題前,我大概梳理了下支付寶以及淘寶密碼取回的條件要求:
目前支付寶及淘寶用戶主要面臨的威脅有(不含釣魚等需要用戶參與的):
Ø 賬號(hào)被盜
Ø 電腦中毒
Ø 手機(jī)丟失或被冒用
Ø 手機(jī)中毒
(如不全,請(qǐng)不要鄙視)
針對(duì)賬號(hào)被盜(撞庫(kù)攻擊),阿里的應(yīng)對(duì)策略應(yīng)該足夠用,有手機(jī)短信作為二次驗(yàn)證,想要修改密碼,基本上很難。我作為一個(gè)安全從業(yè)者,對(duì)自己的手機(jī)系統(tǒng)安全還是比較有信心的,除非被高層盯上要搞我,人家也不會(huì)惦記著我的支付寶余額。但是我卻不能保證自己的手機(jī)不丟失,不能保證不會(huì)被別人用假身份證把我的手機(jī)號(hào)補(bǔ)辦了。阿里以及互聯(lián)網(wǎng)各大公司的賬號(hào)取回機(jī)制過(guò)于依賴運(yùn)營(yíng)商的短信驗(yàn)證,這讓我感到很不安。
淘寶wap站及客戶端僅通過(guò)短信驗(yàn)證碼就可以修改密碼,獲得淘寶的權(quán)限就相當(dāng)于獲得了支付寶登陸權(quán)限(通過(guò)一鍵跳轉(zhuǎn))。
手機(jī)取回淘寶密碼:
手機(jī)取回支付密碼:
支付寶的密碼修改,除了短信驗(yàn)證外還需要身份證號(hào)碼做輔助。但是要搞到機(jī)主的身份證號(hào)碼方法太多了。
A. 手機(jī)上往往能找到身份證的號(hào)碼(短信、手機(jī)郵件、圖片掃描件)。玩轉(zhuǎn)手機(jī)的達(dá)人,丟了手機(jī)就自求多福吧。
B. 通過(guò)其他系統(tǒng)如12306這個(gè)除公安系統(tǒng)外最大的個(gè)人信息庫(kù),假如你登錄12306的賬號(hào)是手機(jī)郵箱,那對(duì)不起。有了手機(jī)可以進(jìn)入手機(jī)郵箱,也可以進(jìn)入12306看到你的身份證號(hào)碼。(301同學(xué)提供)
C. 或者稍微來(lái)點(diǎn)社工手段,比如:撿到手機(jī)后,等著機(jī)主來(lái)電話。電話來(lái)了,就說(shuō)“你是機(jī)主嗎,終于來(lái)電話了,剛才有個(gè)人要冒認(rèn),還好我機(jī)智。我在某某地等你,穿藍(lán)衣服,你手機(jī)好像要沒(méi)有電了,對(duì)了你把你身份證號(hào)碼告訴我,我怕被人冒認(rèn),一會(huì)沒(méi)電了我無(wú)法和你確認(rèn)”失主著急的情況很有可能就告訴你了。如果小偷了解這個(gè)手段,可能偷了手機(jī)還能再撈一筆。
有些人也許會(huì)說(shuō)我手機(jī)有鎖屏密碼,但有些鎖屏密碼是可以繞過(guò)。而且sim卡SD卡是很容易就取出來(lái)的?;蛘吣梦业氖謾C(jī)號(hào)設(shè)置個(gè)短信轉(zhuǎn)移,什么時(shí)候搞到我的身份證號(hào)碼再下手就可以了(沒(méi)有手機(jī)的情況下,不能發(fā)短信但,可以通過(guò)網(wǎng)站修改,支付寶支付密碼修改需要的銀行卡號(hào)可以在提現(xiàn)銀行卡號(hào)里面獲取、也可以在wap網(wǎng)站修改支付密碼)。
不過(guò)我還是最擔(dān)心假身份證補(bǔ)辦卡的攻擊,sim卡和身份證號(hào)碼都有了,只要幾分鐘,余額都沒(méi)了。
對(duì)于普通用戶來(lái)說(shuō),手機(jī)中病毒問(wèn)題也很嚴(yán)重,目前手機(jī)的病毒問(wèn)題在上次安卓簽名漏洞后貌似有爆發(fā)的趨勢(shì),病毒可能只需要發(fā)送一條短信就可以將手機(jī)短信轉(zhuǎn)移了。此外不知道現(xiàn)在流行的假移動(dòng)基站水平什么程度了,是不是可以嗅探到短信的內(nèi)容。假如這個(gè)能實(shí)現(xiàn)也是個(gè)非常大的問(wèn)題。Sim卡克隆也可能是個(gè)途徑,也許未來(lái)中關(guān)村給手機(jī)裝軟件的不光給裝插件的app還給你做點(diǎn)其他事情。
最后:
我們回到最初的2條新聞,從以上分析,通過(guò)補(bǔ)辦卡號(hào)盜取支付寶金錢的是可能的。但撿到手機(jī),然后取回密碼,也是可能的,但需要身份證號(hào)碼,否則最多只能小額交易。此外那條新聞(http://www.cnbeta.com/articles/250708.htm)明確的說(shuō)是信用卡被刷了30000多,關(guān)于這個(gè)我個(gè)人持懷疑的太多。如果是余額被消費(fèi)30000多,那是可能的??旖葜Ц栋庞每ㄖЦ额~度沒(méi)有那么高,一般就幾百。如果要高的支付需要登錄信用卡網(wǎng)上銀行,需要填寫信用卡有效期pin碼等信息。一張借記卡快捷支付轉(zhuǎn)入到支付寶,一個(gè)月限額好像是一萬(wàn)(我個(gè)人是這個(gè)情況,不清楚別人的情況)。那也是借記卡,不是信用卡。所以關(guān)于這條新聞,支付寶最好出來(lái)澄清下。
通過(guò)上面的這些分析,顯然支付寶客戶端在手機(jī)丟失或手機(jī)卡被冒用這塊沒(méi)有做很細(xì)致的考慮。以上發(fā)現(xiàn)的手機(jī)客戶端的部分問(wèn)題,實(shí)際上在支付寶網(wǎng)頁(yè)版都有安全考慮(如賬號(hào)隱藏、關(guān)閉手機(jī)令寶)。但不知道為什么在手機(jī)客戶端出現(xiàn)了這些問(wèn)題。也許無(wú)線部門的安全團(tuán)隊(duì)和網(wǎng)頁(yè)版的不是一撥人,也有可能客戶端安全在阿里目前還是個(gè)盲區(qū)。本次測(cè)試僅僅用了常規(guī)的方法,建議有能力的同學(xué)從軟件本身看看是不是有安全的問(wèn)題。
最后,我也沒(méi)有什么好的辦法,也許最原始的驗(yàn)證安全問(wèn)題是最好的辦法。建議各位做移動(dòng)支付的同學(xué)還是根據(jù)不同場(chǎng)景去重新梳理下安全需求吧,如賬號(hào)被盜、手機(jī)丟失、手機(jī)中毒。不同的情況,攻擊者掌握的資源是不一樣的,應(yīng)該有些規(guī)避的方法。篇幅問(wèn)題,就不再啰嗦,歡迎大家在微博上討論。
以上這些分析基本上只考慮了技術(shù)上實(shí)現(xiàn)的可能性,并沒(méi)有分析借到手機(jī)后作案的可能性。因此各位網(wǎng)友請(qǐng)不要在犯罪心理學(xué)上噴我。本次分析僅僅是因?yàn)槲倚睦锏牟话?,支付寶的賠付機(jī)制只有5000塊大洋,我還沒(méi)有去細(xì)看是否包含手機(jī)丟了被盜是否在賠付范圍之內(nèi)。何況5000塊僅僅是有些同學(xué)余額寶的一點(diǎn)零頭而已。本文寫的比較倉(cāng)促,如果有什么不妥歡迎指正。