いやーーー
特大の爆弾級の金融事故発生です。

セキュリティー界隈でも
なかなか面白い事件になっていますので
まとめてみました。


解説動画はこちら




記事はこちらでも公開しています。
qiita
note




不正出金被害が相次いで報告

NTTドコモが提供する電子決済サービス「ドコモ口座」を利用して
銀行から不正に現金を引き出す被害が続出。

顧客に被害があったとしてドコモ口座への新規登録を
当面停止すると発表する金融機関は次のようなものがあります。

七十七銀行(宮城県仙台市)
中国銀行(岡山県岡山市)
大垣共立銀行(岐阜県大垣市)
東邦銀行(福島県福島市)も8日

これは一部で相次いで報告が上がっています。



ドコモ口座とは?
ドコモ口座は、ネットやアプリ上で送金やお買い物ができる
バーチャルなお財布で、どなたでも無料で簡単に開設できます!!

NTTドコモが提供する電子決済サービスのことですが
以下のようなことができるようです。


口座開設すれば、各種決済関連が行えるようになるわけですね。



ドコモ口座の開設方法

ドコモ口座の開設方法はHPによると次のようになっています。

1.dアカウントを作成
2.ドコモ口座を新規作成
3.ドコモ口座に銀行口座を登録

このうち、1,2に関してはNTTドコモのユーザーでなくても
作成ができてしまうようです。

ポイントとなるdアカウントの作成方法を見てみましょう。



dアカウントの作成方法のステップ

step1「メールアドレスの登録」と
step2「ID・基本情報の登録」が必要です。

dアカウントは「Web」「アプリ」「店頭」の
3つの方法で作成可能です。

ドコモとの契約があるお客様はもちろんのこと
ドコモとの契約がないお客様も作成することが出来ます。

つまり匿名でもメールアドレスがあれば
dアカウントを作れそうです。
次にドコモ口座の作成方法についてです。


ドコモ口座を新規作成のステップ
step1.dアカウントへログイン
step2.「同意画面へ」をタップ
step3.注意事項・利用規約をご確認の上、「次へ」をタップ

dアカウントがあればすぐに口座を作ることができそうです。
最後にドコモ口座に銀行口座を登録するところを見てみましょう。

ドコモ口座に銀行口座を登録のステップ
step1.登録する金融機関を選択
step2.入力内容を確認し、各金融機関のサイトで手続き

ここは各種金融機関のサイト側で設定を行うようです。
金融機関によって対応はバラバラなようです。



ドコモ口座に連携できる金融機関
発表されているドコモ口座対応の金融機関は
以下のようです。

みずほ銀行
三井住友銀行
ゆうちょ銀行
イオン銀行
伊予銀行
池田泉州銀行
愛媛銀行
大分銀行
大垣共立銀行
紀陽銀行
京都銀行
滋賀銀行
静岡銀行
七十七銀行
十六銀行
スルガ銀行
仙台銀行
ソニー銀行
但馬銀行
第三銀行
千葉銀行
千葉興業銀行
中国銀行
東邦銀行
鳥取銀行
南都銀行
西日本シティ銀行
八十二銀行
肥後銀行
百十四銀行
広島銀行
福岡銀行
北洋銀行
みちのく銀行
琉球銀行



不正出金の手口
ドコモ口座を使った不正出金の手口は
どのようなものだったのでしょうか?


手口の概要はこういうことが想定されます。

悪意の第三者が
step1.口座名義と口座番号を入手する
step2.dアカウントを作成
step3.ドコモ口座を開設
step4.リバースブルートフォースを行い
パスワードを突破し銀行口座紐付けを行う

step5.紐付けできた銀行口座に対し
ドコモ口座への出金(チャージ)を行う
step6.ドコモ口座にチャージしたお金を抜く

NTTドコモ、銀行側の確認の隙をついた手口です。
2020年一番の金融事故になると思います。


どうしてこんなことが起きたのか?
この事件が起きた要因としては次のような
事項があると思われます。

1.ドコモ口座の開設時の本人確認のあまさ
2.ドコモ口座から銀行口座紐付けを行う際の
  セキュリティーのあまさ
3.口座名義、口座番号のリストが出回っている

被害内容から察する手口は上記のようなものかと思いますが
特筆すべきは
・ドコモユーザーで無くても不正出金されている
・ドコモ口座は自分のではない
という点です。

これは本人確認を行わずにドコモ口座が
開設できている部分に起因すると思います。

銀行口座の開設には本人確認が必要なことになっています。
本人確認法

ですのでドコモ口座開設時の本人確認を行う必要が有ったと思います。
スマホからの登録などであれば携帯番号開設時に本人確認を行うので
スマホのユーザー = 本人 という証明がなされますが

PCからのdアカウント作成、ドコモ口座開設ではそのような
確認機構が無いようです。
ここの隙を突かれたものかと思います。

2点目に被害が出ている銀行に差がある点です。
ドコモ口座から銀行口座への紐付け時の確認項目では
「口座名義」
「口座番号」
「暗証番号」
という3点のみの確認しかしていない銀行があるようです。
これ以外にワンタイムパスワードなどを求める銀行では
被害報告がなさそうな感じです。

しかし、どうやって暗証番号が分かったんですか?
という疑問が浮かぶと思います。
ここで登場するのがリバースブルートフォースという手法です。



リバースブルートフォースって何?

例えば銀行口座が分かっている場合
その口座に対して暗証番号を
総当たりで当てに行こうとします。

この手口をブルートフォースと読んでいます。

暗証番号は4桁の数値なので

0000
0001
0002・・・

とやればいつかは当たることになります。
しかし、銀行側ではさすがにその対策はしていて
3回連続で間違うと暗証番号入力が
出来なくなるような設計になっています。

そこで、暗証番号を固定して逆に口座名義
口座番号の方を変えていくという手法が
リバースブルートフォースという手口になります。

一般的にはパスワードを固定し、ユーザーIDを辞書ツールなどで
片端から試していくことでログインを試みる手法です。
今回はこれの銀行版を試されたのだと思われます。

例えばパスワードを1234などで固定し

口座番号1
口座番号2 ・・・

のようにやっていけば、暗証番号1234の口座が見つかります。
この手法の大きな利点はパスワードが間違っても
ロックされない点にあります。

1口座に対し、1回だけチェックを行うのであれば
口座のロックが掛からないので不正検知で知られることがありませんので
銀行のチェックの仕組みの盲点であると言えます。

しかし、ここでもう一つ問題にぶち当たります。
「口座名義」,「口座番号」
はどこからやってきたのか????????



口座番号などはどこからやってきたのか?

今回の一番の謎はここです。

この不正出金の手法では
リバースブルートフォースアタックをかけるのには
大量の銀行口座番号と名義が必要になっているはずです。

通常の暗証番号は4桁で1万分の1の確率です。
いくらリバースブルートフォースアタックをしても
1万口座くらいなければ1つも突破できないでしょう。

ということは万単位で
「口座名義」,「口座番号」
これのリストが漏れているはずです。

1つ考えらえることとして、最近口座名義や口座番号を
大量に受け付けているイベントは無かったでしょうか?

給付金

これ、自分も郵送しましたが、銀行口座に
免許証のコピーを添付しているので
生年月日なども分かられています。

これ、郵送で送ったりして、その後の作業は手入力ですよね。
入力したデータは少し頑張れば抜けてしまいます。

銀行口座の暗証番号を生年月日などにしている場合
365分の1で暗証番号が当たります。
より確率を上げられるので、口座数が少なくて済みます。

数万口座抜いてくれば余裕で
リバースブルートフォースアタックで
突破できてしまう口座が見つかるかもしれません。

あくまで給付金受付から漏れた可能性が高いと
考えているだけで断定はできません。

今後の捜査の進展を期待したいですね。


どうすればこの手口を防げたのか?

まず今回の手口をまとめると
・ドコモ口座の開設に本人確認がいらなかった
・銀行口座紐付けが簡単に行えてしまった

という2点ですね。
まずは本人確認を徹底するところからでは無いでしょうか?

最近では金融関連のFintechという分野が
トレンドになっていますが
利便性とセキュリティーは
トレードオフの関係になっています。

利便性を上げすぎると、今回のように
セキュリティーがガバガバーナになってしまうわけです。

必要最低限のセキュリティーを担保しつつ
利便性をあげる努力をしてゆくのが
サービスにとっては必要なことだったのでは
無いでしょうか?

2点目の口座紐付けの方もそうです。
本人確認と口座確認の容易さが逆に
不正アクセスされる原因になっています。

ちなみに、この手のアタックはPCからの
アクセスであればスクリプトを用意すれば
容易に出来てしまいます。

大量の口座番号のファイルを貰えたら
自分なら1時間ほどあれば
リバースブルートフォースアタックして
暗証番号を突破するコードを
かけてしまいます。

今はやりませんけどねwwwwww。

口座紐付けの方ではこの
リバースブルートフォースアタックに対して
暗証番号だけでは防ぐことはできません。

もう一つ確認用の仕組み
ワンタイムパスワード発行などをしていれば
少しは違っていたかもしれません。

また、同一IPからのアクセスなどを制限しておくようにすれば
リバースブルートフォースアタックには有効かと思いますので
一定時間における同一IPからの操作回数に制限をしておくなどの
対策をしておくのが良いんじゃないでしょうかね。

そして一番の闇は
「口座名義」,「口座番号」の漏れ

これは様々な手口が考えられるので
それを一つ一つ塞いでいくしかありません。

個人情報や口座情報を取り扱う際の
セキュリティーを一段向上させる仕組み作りが
のぞまれるところです。



誰が悪い?
さて、今回の事象での責任はどうなるでしょうか?

一番悪いのはこの仕組みを悪用した犯人ではありますが
このような仕組みを放置した金融機関や
NTTドコモには一定の責任が発生すると思います。

自分の考えでは
8:2くらいでNTTドコモさん側の責任の方が大きい気がします。
他人が勝手に口座を作れちゃってる訳ですからね。

セキュリティーのテストでは
意外と想定しない使われ方まで
考え抜いてテストする必要があると思っています。

金融系のサービスを作る人、運営している人は
これを機会に、反面教師として
今一度見直しをした方が良いでしょうね。

NTTドコモ様
自分はAUユーザーですがネタを提供していただいて
誠にありがとうございまーーす。

半沢直樹の次のシリーズのネタに
使われちゃったりしたら
爆笑しますねーーー楽しみ!!

頑張って倍返ししてくださいねーーー。

それでは。