跳至主要內容
>_ITDITD網站資安平台

資安事件與漏洞

7pay 盜刷事件(2019)— 沒有 2FA 的支付 App 為何一天就被接管

2019 年 7 月,Seven & i 的支付 App『7pay』在上線隔天就遭遇帳號被接管:約 808 名使用者被盜刷約 3,862 萬日圓(約 36 萬美元),該 App 在約 3 個月後就被收掉。核心失誤是沒有雙因素驗證,以及密碼重設可把新密碼寄到未登記的電子郵件地址。防禦之道是對敏感操作要求 2FA、把密碼重設限制在已登記的管道、抵禦帳密填充攻擊,並在上線前檢視驗證流程。

發布於 2026-07-07 更新於 2026-07-07 閱讀時間 4 分鐘

我們把真實、已公開的事故,不當成新聞重播,而是以 「你要如何防禦這種情況?」 的角度來解讀。本文以 公開記錄(公司聲明、主管機關、可信報導) 為基礎。出處列在文末,且不含任何攻擊教學。

約 3,862 萬日圓
盜刷損失(約 36 萬美元)
約 808 人
受影響使用者(截至 2019 年 7 月底)
約 3 個月
從上線到收掉
沒有 2FA
登入只靠 ID +密碼
事件檔案
目標
「7pay」支付 App 中的使用者帳號(營運方:株式會社 7pay/Seven & i Holdings 旗下)
察覺
2019 年 7 月 2–3 日(上線後隨即注意到未授權存取)
手法
沒有 2FA + 密碼重設的寄送目標可以是未登記的地址 → 身分驗證 被繞過 → 盜用餘額
規模
約 808 名使用者、約 3,862 萬日圓的盜刷(件數後來經調查再修正)
根本原因
沒有 2FA(只有 ID +密碼)+ 密碼重設可寄到未登記的電子郵件 + 對帳密填充攻擊抵抗力弱 + 外部 ID(7iD)整合薄弱 + 上線前對驗證流程的檢視不足
真正的修法
對敏感操作要求 2FA、把密碼重設限制在已登記的管道、偵測/鎖定帳密填充攻擊、上線前檢視驗證流程

發生了什麼(用白話說)

一個行動支付 App 握有 動用你金錢的權限。這使得「只有真正的擁有者能登入、別人不行」——也就是 身分驗證 設計——成為關鍵所在。7pay 在這裡很弱:它的防禦實際上就是 一把密碼

有兩個問題疊加在一起。第一,沒有 雙因素驗證(2FA):只要 ID 和密碼對得上,你就進去了——所以這個 App 對 帳密填充攻擊 很脆弱,攻擊者會拿從其他服務外洩的 ID/密碼來嘗試。第二,是 密碼重設 的設計:新密碼可以被寄到 與已登記地址不同的電子郵件,因此任何握有片段個人資料(出生日期、電話、電子郵件)的人,即使不是真正的擁有者,也能替換掉密碼。這兩者加起來的意思是:單一密碼的防禦,可以透過脆弱的重設被正面偷走。

用單一的脆弱因素去把關一個『能動錢的入口』是最糟的情況

攻擊者最看重的是 一道直接對應到金錢或個人資料的單一關卡。用一把密碼加上脆弱的重設,去把關一個高價值的入口——支付、轉帳、管理員登入——正是這種情況。除了支付之外,任何一次登入就能觸及餘額或每一位使用者資料的管理後台,都帶著同樣的危險。

攻擊鏈也是一張防禦地圖

這是一條 在每一步都有地方可以攔下它 的鏈。請把它讀成 它本可在哪裡被打斷,而不是攻擊教學。

1. 入口:登入只靠 ID +密碼

在別處外洩、被重複使用的帳密可能直接就能用。

攔截點:2FA/通行金鑰;偵測並鎖定帳密填充攻擊

2. 透過密碼重設冒充本人

新密碼可以被寄到未登記的目標地址。

攔截點:重設只寄到已登記的管道;加強身分核對;重設時通知本人

3. 帳號被接管、餘額被盜用

被劫持的帳號被拿去付款和儲值。

攔截點:敏感操作前重新驗證;偵測並暫停異常付款;通知

4. 損害擴大、服務被收掉

在所有儲值都被暫停後,整個服務在約 3 個月內被廢止。

攔截點:上線前檢視驗證流程;別在設計上就打造出單一故障點

每一步都有一個攔截點。縱深防禦意味著守住其中好幾個攔截點,而不是只靠一道牆。

已公開的時間軸

  1. 2019-07-01

    7pay 上線(在 7-Eleven App 內、與 7iD 整合)。
  2. 2019-07-02

    開始出現盜用的初步通報(包含來自海外 IP 的存取)。
  3. 2019-07-03

    確認盜用;封鎖海外存取,並暫停信用卡/簽帳卡的儲值(入金)。
  4. 2019-07-04

    召開記者會公開說明;暫時停止所有儲值。沒有雙因素驗證一事被廣泛指出。
  5. 2019-07-05

    日本 METI 要求提出因應;展開根本原因調查與組織強化。
  6. 2019-08-01

    宣布廢止服務(安全地重啟需要相當長的時間)。
  7. 2019-09-30

    7pay 服務終止。

根本原因是多層一起失守,不是單一失誤

把這件事草草歸結為「密碼被破解了」,只會招致重蹈覆轍。實際上是 好幾層驗證同時都很薄。

失守的那套設計

  • 一個支付 App 卻 沒有雙因素驗證(只有 ID +密碼)
  • 密碼重設可以寄到 未登記的電子郵件地址
  • 對用外洩帳密發動的 帳密填充攻擊 毫無抵抗力
  • 上線前對驗證流程的 檢視不足

守得住的那套設計

  • 對敏感操作要求 2FA/通行金鑰
  • 重設密碼 只寄到已登記的管道
  • 偵測、限速並鎖定 帳密填充攻擊
  • 上線前 檢視驗證流程(在設計上就消滅單一故障點)

設計優先於速度:事後的帳單遠遠超過事前的投入

7pay 在上線後隨即遭到盜刷,暫停了所有儲值,並在約 3 個月內 把整個服務整個收掉。為了搶市場競爭而略過驗證流程的檢視,意味著 失去信任、退場與重建的成本,遠遠超過事前的設計投入。要讓驗證設計與你所保護的價值相稱——在上線 之前,而不是之後。

你要如何防禦這種情況

即使你不做支付,只要有某個單一地方是 一次登入就能動用大量價值,這件事就是你的事。依優先順序:

1

對敏感操作提供雙因素驗證(2FA)

在登入以及動用金錢/資料的操作上加上 2FA,並在可行處優先採用像 通行金鑰 這類抗釣魚的方式。即使是 一次性密碼(OTP),也遠比單一密碼堅固得多。

2

把密碼重設限制在『只寄到已登記的管道』

新密碼或重設連結 只寄到已登記的電子郵件/電話——絕不寄到任意的目標地址。別只憑片段資料就通過身分核對(出生日期、電話)。重設一發生就 立即通知擁有者

3

預設會有帳密填充攻擊;偵測並加以限制

用外洩帳密重放的攻擊是必然會發生的。加上 限速、異常登入偵測,以及嘗試 N 次後鎖定,並拒絕已知外洩的密碼。引導使用者遠離重複使用密碼。

4

上線前檢視驗證流程

讓登入、重設與重新驗證 在設計階段和上線前都經過第二雙眼睛檢視。「能動」不等於「安全」。別為了求快而略過驗證的檢視。

這與本站的建置方式在哪裡重疊

這起事件的核心,在於用 單一的脆弱因素 去把關一個有價值的操作,然後又讓脆弱的重設偷走那個因素。 這正是本站自身原則的鏡像——別打造單一故障點、以多層防守敏感操作、縮小爆炸半徑。 除了支付之外,任何一次登入就能觸及餘額或每一位使用者資料的管理後台,都帶著同樣的危險。「加上 2FA、重設只寄到已登記的管道、敏感操作前重新驗證」是任何人在任何規模都能落實的防禦。

出處(公開記錄)

以下事實以這些公開資訊為基礎。不含任何攻擊教學——只有 防禦上的教訓

  • Seven & i Holdings,「關於停止『7pay』服務的公告」(2019) — 7andi.com
  • Seven-Eleven Japan,「部分『7pay』帳號遭未授權存取一事」(2019) — sej.co.jp
  • 日本 METI,關於無現金支付盜刷因應的相關揭露 (2019) — meti.go.jp

延伸閱讀

FAQ

Q7pay 事件的根本原因是什麼?
A

驗證設計。一個支付 App 在沒有雙因素驗證(2FA)的情況下就上線,所以登入只需要 ID +密碼。更糟的是,密碼重設流程可以把新密碼寄到與已登記地址不同的電子郵件,因此只要片段的個人資料(出生日期、電話號碼、電子郵件)就足以接管一個帳號。這套設計對帳密填充攻擊(重複使用從其他服務外洩的 ID/密碼)也很脆弱。

Q我又不做支付服務——這跟我有關係嗎?
A

有。真正的問題是用單一密碼去保護一個有價值的操作(金錢、個人資料),然後又讓脆弱的重設流程把那唯一的密碼偷走。請在登入時提供 2FA、把密碼重設只寄到已登記的管道,並在敏感操作前重新驗證。這套原則適用於任何 App 或管理後台。

Q身為個人使用者,我能做什麼?
A

能:(1) 絕不在不同服務間重複使用密碼(這能讓帳密填充攻擊失效);(2) 只要有提供,就開啟 2FA 或通行金鑰;(3) 為支付開啟交易通知,以便快速察覺異常。即使營運方的設計很弱,不重複使用密碼就能封住主要的接管路徑。