2016年2月、Bangladesh Bankから8100万ドルが盗まれました。 世界では「SWIFT hack」「10億ドル強盗」と報じられましたが、New York FedもSWIFTも中核システムへの侵害を否定しています。一方、Bangladesh Bank側のSWIFT接続環境ではclient softwareの改変まで報告されました。printer、typo、週末、そしてCustomer Security Programmeから、事件の本質を読み解きます。
- 2016年2月5日、プリンターに紙が出ていなかった
- 「10億ドル」「1億100万ドル」「8100万ドル」は同じ数字ではない
- New York Fedは侵害されていなかった
- SWIFTの中核ネットワークも、侵害された証拠はなかった
- 「正しく認証されたmessage」と「正しい意思」は違う
- 空のプリンタートレーは、なぜ重要だったのか
- “fandation”――一文字の誤記は、何を止めたのか
- 犯罪者は「銀行の営業時間」まで利用する
- 事件後、SWIFTはCustomer Security Programmeを開始した
- 事件から10年たっても、法的な回収は終わっていない
- 「authentication」は「intention」ではない
- 主な出典
- 関連するOtakuwallet記事
2016年2月5日、プリンターに紙が出ていなかった
2016年2月5日の朝。
Bangladesh Bankの担当者が、いつものようにSWIFT取引の記録を確認しようとすると、プリンターのトレーが空だった。
通常なら、夜のあいだに国際送金の記録が印刷されている。
BloombergやWIREDの当時報道によると、担当者は手動で印刷しようとしたが、うまくいかなかった。最初は、ありふれたprinter troubleのようにも見えた。
しかし銀行の外では、すでに巨額の資金が動いていた。
巨大な国際決済事件の最初の兆候は、最先端のsecurity alertではなく、「いつもの紙が出ていない」という小さな異常だった。
「10億ドル」「1億100万ドル」「8100万ドル」は同じ数字ではない
この事件は数字が混同されやすい。
記事では、次のように分ける。
| 段階 | 金額 | 意味 |
|---|---|---|
| attempted / instructed | 約9.51億ドル | Reutersが当時の調査を基に報じたBangladesh Bank事件の不正送金指図総額。一般に「nearly $1bn」と報じられた |
| outbound payments that advanced | 約1.01億ドル | 8100万ドルのPhilippines向け + 2000万ドルのSri Lanka向け |
| reversed / blocked early | 2000万ドル | Sri Lanka向け。誤記を含む不審点から照会され、最終的な流出を免れた |
| stolen | 8100万ドル | PhilippinesのRCBC4口座へ入り、その後流出。米司法省もこの額を「stole」と記載 |
| later recovered | 約1500万ドル | Philippines側から後にBangladesh Bankが回収したと、2026年9月時点のBangladeshの公的報道が記録 |
| publicly reported unrecovered balance | 約6600万ドル | 8100万ドル−約1500万ドル。会計上の最終net lossではなく、公開情報上の未回収残高の概算 |
ここで特に注意したい。
米司法省の2018年資料には、2015~2018年の複数金融機関を狙ったより広いcampaignについて「少なくとも10億ドルの窃取を試みた」とある。
これはBangladesh Bank単体のattempted amountと混同してはいけない。
Bangladesh Bank事件について当時Reutersが報じたのは、約9.51億ドルの不正指図である。
New York Fedは侵害されていなかった
事件はしばしば“SWIFT hack”と呼ばれる。
しかし、どこが侵害されたのかを分けないと、本質を見失う。
New York Fedは2016年3月9日、
- Federal Reserve systemsへの侵入を試みた証拠はない
- Fed systemsがcompromiseされた証拠もない
- payment instructionsはSWIFT messaging systemの標準authentication protocol上、fully authenticatedだった
と公表した。
つまり、New York Fedから見れば、受け取ったmessageは「正規の認証を通ったmessage」に見えた。
SWIFTの中核ネットワークも、侵害された証拠はなかった
SWIFTも、
- SWIFT network
- core messaging services
がcompromiseされた兆候はないと説明した。
2016年5月、当時のSWIFT CEO Gottfried Leibbrandtも、Reutersに対してSWIFT network自体はhackされていないと述べている。
ただし、ここで話を終えると不正確になる。
Bangladesh Bank側のSWIFT接続環境は侵害されていた。
米司法省によれば、攻撃者はBangladesh Bankのcomputer networkへ侵入し、SWIFT systemへinterfaceするbank側terminalへアクセスしたうえで、不正に認証されたSWIFT messagesを送ったとされる。
さらに2016年4月、BAE Systemsのresearchersは、攻撃者がBangladesh Bank内で使われていたSWIFTのclient/interface software、Alliance Accessを操作し、送金記録を隠すためのmalwareを利用した可能性が高いとReutersへ説明した。
SWIFT側も、malwareがcustomer-side softwareを狙ったことを認め、security updateを出した。一方で、そのmalwareはSWIFT networkやcore messaging servicesには影響しないと説明した。
したがって、この事件を一文で正確に表すなら、
SWIFTの中核ネットワークが破られた事件ではない。Bangladesh Bank側のlocal environmentとSWIFT接続interfaceが侵害され、正規のcredentialとmessage channelが悪用された事件だった。
となる。
「正しく認証されたmessage」と「正しい意思」は違う
ここが、この事件の最大の教訓である。
暗号化された通信路を破らなくてもいい。中央のnetworkを破らなくてもいい。
信頼されたendpointを乗っ取り、正規のcredentialでmessageを出せれば、networkから見たmessageは正規に見える。
決済networkは、一番強い部分のsecurityではなく、chain全体のsecurityで決まる。
空のプリンタートレーは、なぜ重要だったのか
printerは8100万ドルを盗んだ原因ではない。
しかし、攻撃者が痕跡を隠そうとしていたことを示す象徴的な場面だった。
ReutersがBAE Systemsの調査として報じたところでは、malwareはBangladesh Bank内のSWIFT-related databaseの記録を改変し、outgoing requestを隠したり、incoming confirmationを見えにくくしたり、printer outputを妨げたりするよう設計されていたとされた。
巨大なcyber heistが最初に人間の目に見えたのは、画面の赤い警告ではなく、プリンターの沈黙だった。
これは決済securityを考えるうえで重要だ。
securityとは、暗号やfirewallだけではない。普段なら必ず存在する帳票が出ていない、いつもの処理件数と違う、いつもと違う時間帯にmessageが集中する――そうしたoperational anomalyを異常として認識できるかもsecurity controlの一部である。
“fandation”――一文字の誤記は、何を止めたのか
この事件には、世界中で報じられたエピソードがある。
Sri LankaのShalika Foundation向けとされた2000万ドルの送金指図で、“foundation”が“fandation”と誤記されていた。
Reutersは2016年3月、この誤記を見たrouting bankのDeutsche Bankが確認を求めたことが、送金を止める契機になったと報じた。
ニュースとしては非常に強い。
「ハッカーのtypoが10億ドルを救った」というheadlineが世界を回った。
しかし、歴史記事では少し修正して理解する必要がある。
Reuters自身も、New York Fedが通常より多いpayment instructionsを疑ったことや、private entitiesへの送金について照会したことなどを報じている。
したがって、一文字のスペルミスだけで残り約9億ドルが救われたわけではない。
より正確には、
“fandation”という誤記は、Sri Lanka向け2000万ドルの送金を止める契機の一つになった。事件全体では、複数の銀行による照会とcontrolが働いた。
となる。
犯罪者は「銀行の営業時間」まで利用する
決済networkは24時間動いているように見える。
しかし、そのnetworkを監視し、異常を判断し、電話をかけ、送金を止めるのは人間と組織だ。
SWIFTの後年のsecurity analysisでは、Bangladesh Bank事件が、payment flowに関係する複数国でnon-working daysが続く直前に行われたことが指摘されている。当時の報道でも、Bangladesh側の週末やPhilippines側の休日が、照会と回収の時間差を広げた状況が描かれた。
ここから得るべき教訓は、攻撃手順ではない。
24/7で動くpayment infrastructureには、24/7で異常を検知し、判断し、止められるoperational resilienceが必要である。
ということだ。
事件後、SWIFTはCustomer Security Programmeを開始した
Bangladesh Bank事件は、SWIFTにも責任境界の見直しを迫った。
SWIFTは2016年5月27日、Customer Security Programme(CSP)を公表した。
重要なのは、「SWIFTのnetworkをもっと強くする」というだけの話ではない。
SWIFTに接続するcustomer environmentまで含め、local SWIFT-related infrastructure、credential、access control、detection、cyber risk management、community-wide information sharingを強化する方向だった。
事件が示したのは、
networkが安全でも、networkへ正規に接続するcustomer endpointが乗っ取られれば、信頼されたnetworkが犯罪者の命令を運ぶ経路になり得る
ということだった。
事件から10年たっても、法的な回収は終わっていない
事件は2016年で終わっていない。
Bangladesh Sangbad Sangstha(BSS)が2026年9月14日に報じた事件記録では、8100万ドルがPhilippinesのRCBC4口座へ送られ、Sri Lanka向け2000万ドルは失敗し、Bangladesh BankがPhilippinesから回収できたのは約1500万ドルとされている。
同日時点で、BangladeshのCIDによる捜査報告書の提出期限は98回目の延期となり、次回は2026年10月19日に設定された。
つまり、技術史としては有名な事件になっていても、資金回収と国内捜査という現実の後処理は、10年後も終わっていない。
「authentication」は「intention」ではない
Bangladesh Bank事件の本質は、おそらく一文にできる。
正しく認証されていることと、本当に正しい意思であることは同じではない。
これはSWIFTだけの問題ではない。カード決済でも、bank transferでも、APIでも、walletでも、account takeoverでも起きる。
強いauthenticationを導入しても、正規credentialを持つ主体そのものが乗っ取られれば、systemは偽の意思を「正規のmessage」として処理する可能性がある。
決済securityとは、単に暗号を強くすることではない。
誰を信頼するのか。どこまでを信頼するのか。信頼した主体が乗っ取られたとき、何が止めるのか。
2016年の8100万ドル事件は、その問いを世界の銀行に突きつけた。
主な出典
当時の海外報道・事件再構成
- Bloomberg, “Printer Error Triggered Bangladesh Race to Halt Cyber Heist”(2016-03-16)
- WIRED, Bangladesh Bank事件の再構成(2016-05-17)

