(圖片來源: thetechjournal.com)
由於事態非常嚴重,此文章會函蓋分析三個重點:
- 保安漏洞
- 受害者可能存在的風險
檢查自己是否受害者的方法(Updates: 官方已移除所有信用卡資料)
保安漏洞
詳細分析 Gobee.Bike Android V0.0.9 APK Decompile 後的檔案,有以下發現:
- 信用卡資料(包括信用卡號碼、CVV、到期日)以沒有加密的方式(http)被傳送到 Gobee.Bike 伺服器 (V0.1.0 版本已移除)
- 信用卡資料(包括信用卡號碼、CVV、到期日)以可解密或未加密方式儲存於 Gobee.Bike 伺服器
- 所有資料(例如信用卡資料、用戶密碼等等...)均使用沒有加密的方式(http) 傳送
以上已經嚴重違反了 PCI (Payment Card Industry Data Security Standard)。
嚴重漏洞:
每當用戶點擊自己的「用戶資料」時 ,用戶的信用卡資料都會由 Gobee.Bike 伺服器經過沒有加密的方式(http) 傳送到 Android 手機上。
基本上每開啟一次該 Gobee.Bike App 就會增加信用卡資料落入黑客手上嘅機會。
現時已知所有使用 Gobee.Bike App V0.0.9 版本登記嘅用戶都有極大機會成為受害者。
受害者可能存在的風險
-
***黑客攔截網絡傳送資料,所有信用卡資料都會直接被讀取。***例如透過:使用不知名公共 WiFi、黑客設陷阱假扮知名公共 WiFi、已感染木馬程式嘅 Android 手機
-
Gobee.Bike 伺服器以可解密或未經加密方式儲存信用卡資料,一旦伺服器被駭,將會漏泄所有用戶信用卡資料。
-
資料庫操作員及其他開發人員或有存取權限,只要心存一念之惡下載所有用戶信用卡資料,所有信用卡資料均有可能隨時被盜用。例如 三個月後?半年後?一年後?兩年後?
檢查自己是否受害者
(Updates: 官方已移除所有信用卡資料)
檢查方法:使用私人電腦於 GoBee.Bike 的伺服器 登入,再直接由伺服器取得自己的用戶資料;由於 GoBee.Bike 的伺服器使用未經加密連線,使用此檢查方法前,請先確保使用私人電腦以及私人網絡,並建議使用 Chrome 無痕模式。
步驟一
使用電腦於最新版的 Chrome 點擊開啟 GoBee.Bike 的伺服器地址使用滑鼠右鍵點擊任何空白地方按「檢查 (Inspect)」(如圖 )
步驟二
點擊 「Console」(如圖內 A.)複製以及貼上代碼 (如下)修改THIS_IS_YOUR_PHONE
為你的登記電話號碼 (如圖內 B.)修改THIS_IS_YOUR_LOGIN_PASSWORD
為你的登入密碼 (如圖內 B.)使用鍵盤按「Enter」鍵運行代碼仔細閱讀代碼運行後的訊息
阿 Gap 的忠告
由於事態非常嚴重,若果你已測試咗自己係受害者,阿 Gap 強烈建議你
Cut 卡保平安
但若果你等緊 Gobee.Bike Refund,由呢一瞬間開始,唔好再打開 Gobee.Bike App,直至有更新解決上述問題為止!待 Refund 完成後再 Cut 卡保平安。
總發現列表(開發者限定)
- V0.1.0 更新後,原本將用戶信用卡資料上傳到伺服器改成毫無關係嘅輸入(基本上係亂入)
- Android 基本 Proguard 都無做
- 全 Http
- Hard-code AWS EC2-instance IP,連 Domain 都無
- 用 8088 Port (非標準 80/443 port)
- Debug Logging 有大量簡體字(你懂的)
- Tomcat Manager Expose
- 獨特的 API 設計 (非 RESTful)
- 用咗 Stripe 做 Payment (純粹發現並無負面意思)
- 亂用 Retrofit...
總結
希望大家呼籲身邊朋友,若使用過 GoBee.Bike V 0.0.9 登記嘅用家,不論佢有無扣你 $399,都必先檢查自己是否受害者之一。
真心見到有啲嬲,故勿論你老板有咩冠冕堂皇的理據要趕住隻 App 出街
Code 寫得爛無問題,可以遲啲先執
介面做得求其都無問題,都可以遲啲先執
唯一,Information Security 真係唔可以讓步,一出問題就即刻無得救;呢一條亦係作為一個專業嘅 Developer 唔可以越過嘅底線。