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