見出し画像

API脆弱性 (?) シリーズ: ドコモ口座 (2020)

これもAPIというよりはセキュリティの考え方だと思いますが。

ここ数日七十七銀行とドコモ口座についての記事が話題になっているのを見かけたので、自分の調査ログがてら以下に見かけた情報をまとめていくことにします。私は被害者ではないので経緯をまとめるのみです。

2020/9/10 23:00 追記

現段階で1800万円の被害とのこと。

ドコモの記者会見の内容が発表されています。被害そのものなどの話はともかく、私個人としては技術的に納得できる内容でした。

昨年5月りそなの被害の件:
別物。この時の問題点は、ドコモ口座の名義人と銀行口座の名義人が別であってもチャージできてしまっていた。この時に名義人が異なる場合は登録できない仕組みにしている。

今後のセキュリティ対策:
ドコモ側はdアカウントの登録時の本人確認を、eKYCやSMSを使って認証する仕組みを作る。
ドコモ口座から銀行口座連携を通じた全体のセキュリティについては、あくまでドコモ側の対応をした上でと言う前置きで、

金融機関のセキュリティとドコモのセキュリティ、お客さまから見れば、トータルで考えるべきものと承知している。今回のケースはドコモの本人確認が不十分だったのが一因だ。しかし、今後キャッシュレスを拡大するためには、全体のセキュリティと使いやすさを両立するために、みんなで知恵を出していく必要がある。
セキュリティ強度を高める手法などを(銀行に)示すなど連携している。

被害額1800万円はいつからいつまでの数字か:
2019年8月以降。

ドコモ契約者以外にドコモ口座を解放した流れについて:
りそな銀行の後 (ということは2019/5より後)。

ここから先は9/17段階で金融庁に報告されるとのことですので、その時にまた詳細が出て来ると思います。

ここからは現段階の私の私見として、どうしてこうなったかを想像をふくらませて考察してみます。良い悪い、どうすべきはここでは判断しません。

どのタイミングでドコモ以外のユーザーをターゲットにしたのかというのが気になっていました。

ドコモ口座の問題は、
1. 最初にdアカウント (ドコモの総合サービスを使うためのアカウント) を作成
— ここでメールアドレスだけで登録できる問題
— 登録後のアプリの起動は生体認証や二段階認証などを使っている様子。
2. ドコモ口座をdアカウントに紐付けて作成
— ここはdアカウントを信頼する形で比較的簡素。
3. 銀行口座と連携登録
— ここで銀行側の認証強度の問題

記事の中でも指摘がありましたが、ドコモユーザーに対してはdアカウント登録時に電話番号と、電話番号に対して登録されている暗証番号を入力させているんですね。対してドコモ以外のユーザーにはそれがありません。

ここは推測ですが、これはお買い物をドコモ利用料と合算して請求する機能 (ドコモ払い) のため、ドコモ携帯契約を保護するための認証だったのではないかなあ、というのが今の段階の想像です。

結果としてドコモユーザーに対してはセキュリティが厳しく、それ以外のユーザーにはゆるくなってしまっていました。

で、全体のアンバランスがなぜ生まれたかというと、もしかしたらドコモ以外のユーザーにサービスを拡張した時のサービス設計の段階でセキュリティの精査が必要だという観点が漏れてしまったとか、観点が足りなかったとか、そういう問題があったかもと推測しています。

サービスの拡張や対象ユーザーの拡張でセキュリティの脆弱性が発生するケースは多く、Googleでも事例があります。

7payも、セブンイレブンのアプリとして使っていたものに対して7payの機能を作りつけたり、7payという会社の外側の認証基板 (オムニ7) を使ったがために、7payという単位ではきちんとしていたが、全体のセキュリティを考えた時に弱くなってしまったのではないかな、と思っています。

今日見つけたこちらの7pay事件に関する考察でそういったコメントがセキュリティの専門家からも指摘がありました。

もちろん7payの場合はそれ以外の問題もあったわけですが。

ただし既存サービスの対象ユーザーやユースケースの拡張によるセキュリティへのインパクトを把握しきれていなかった、という大きな共通項はあるのではと思いますので、また詳しい情報が入ってきたら振り返りつつ、開発の現場はどうしたらいいんだろうと考えるためのインプットとしたいと思います。

2020/9/9 23:45 追記

明日からすべての銀行で新規口座登録ストップとのこと。

それから同様の現象が昨年5月にすでにりそなで報告されていたそうです。

個人的にはドコモ口座のお知らせ欄を過去からずっとみていくと、銀行口座新規登録用エンドポイントの障害報告や一時停止が、ほかのエンドポイントに比較してダントツに多いのが気になっている。元々システム負荷が高いサービスなのか、それとも攻撃の結果なのでしょうか。

2020/9/9 20:30 追記

今朝10時前の段階でゆうちょ銀行がドコモ口座からの登録を凍結していましたが

19時過ぎの段階で被害が確認されているそうです。

2020/9/9 9:00 追記

新規口座登録停止の銀行が増えました。合計17行だそうです。

PayPalがどうやってこういった不正を防いでいるのかが気になって調べているのだけどうまく見つけられない。同じように送金で使うことができ、アカウント所有者のアイデンディティの確認は銀行口座連携ができることを持って実施している。日本の外ではPayPalアカウントへのチャージができるので、モデルとしては似ていると思うのだけど。

2020/9/8 22:00 追記

滋賀銀行、鳥取銀行でも被害確認。

あとこちらは非常にいい記事でした。

厄介なことに、狙われているのは銀行口座であって、ドコモ口座ではありません。ドコモ口座やそのほかの何とかPayを使っていなくても、その銀行に預金があるだけでお金を引き出されるおそれがあるというわけです。
では、ほかの何とかPayではなく、なぜドコモ口座が狙われたのでしょうか。その理由は、登録時の本人確認の緩さにありそうです。ドコモ口座はdアカウントを持っていれば、誰でも開設できますが、dアカウントはメールアドレスだけで作成可能。厳密な本人確認はマストではありません。

何で直接じゃなかったの? と言う話ですが、ドコモ口座を経由することで犯人を追いかけにくくしている。銀行から直接振り込みであれば、振り込みを指示した時のIPなどを元に調査したり、振込先口座を探すなどが手掛かりになるかもしれません。

ドコモ口座経由だと、銀行からはドコモ口座しか見えないので、一見正当なアクセスに見えるため、発覚しづらかったのでは。盗んだ側はドコモ口座で何かの買い物をして使ってしまうだろうと思いますが、どこでどんな買い物をしたとかはわかっても、誰が使ったかを特定するのは難しいかもしれません。

2020/9/8 19:00 追記

口座作成に本人確認が必要とあったので調べてみました。

本人確認は口座登録をすることで確認とすると言う制度のようです。てことは実質的口座登録前の本人確認はなく、銀行側のセキュリティ強度を信頼する形式のようですね。

ちなみに口座の前提としてdアカウントを作成する必要があるようですが、ドコモの回線を持たないフローを見る限り、特に本人確認が無さそうです。

ではドコモ側で本人確認をすべきか? あたりが私にはわからない。本人確認した方が良いのでしょうが、必須かどうかは金融系セキュリティの専門家とか法律の専門家のご意見などが出てきたら拝見したいです。

2020/9/8 15:00 追記

東邦銀行も対象のようです。

逆に大垣共立銀行は被害があったかも、と言う状況のようですね。

被害にあった方によると、連携の登録から30分で全額引き出されてしまうそうです。

ツイートはこちらでご紹介いただきました。

2020/9/8 13:00段階でわかったこと

現象:
七十七銀行の口座の出入金記録に覚えのない「ドコモ口座」の引き落としがあることがわかる。

攻撃:
ドコモ口座は情報さえ揃っていれば作成できてしまう (本人確認不要) ことを悪用し、第三者が七十七銀行のユーザーになりすまして口座を開設。
チャージ口座として七十七銀行を指定する。連携登録時に銀行側のサービスで認証を求められるが、七十七銀行の認証は口座と4桁の暗証番号であるため突破が簡単で、簡単にチャージ口座登録できてしまう。

あとはドコモ口座にチャージするだけ。

現在の七十七銀行との連携:
新規口座登録は9/5 (土) に凍結、ただし既存の登録口座からは引き続きチャージできる。
ということは、被害にあった口座はまだまだ引き落とされるということじゃないかと思います。

本当に七十七銀行だけ?:
ドコモ口座は七十七銀行の口座登録凍結のお知らせの記事の中で中国銀行と大垣共立銀行の登録を9/8 (火) 段階で凍結するとアナウンスしています。

同じ記事ってことは同じ現象ではないかと思ったら案の定です。

中国銀行のアナウンス。

大垣共立銀行のアナウンス。PDFですが。

大垣共立銀行は、入金そのものをできなくしている様子。メンテナンス明けにどうなるかですね。

そもそもドコモ口座って?:
Wikiによると、元は「ドコモケータイ送金」という、ドコモの携帯間でお金をやり取りするサービスだったようですね。口座開設なしで、送金金額をあらかじめチャージできる仕組みではなかったようです。(2009年)

金額をプールできる仕組みになったのは2011年、この時は入金方法が限られていて、Pay-easyやコンビニ入金だったようです。

チャージ用口座を連携できるようになったのはいつかがわからない。

が、ドコモ口座のお知らせをたどったところ2018/3にりそな銀行が利用可能になった旨のアナウンスがあったので、少なくともこれ以前には遡ることができ、かつ最近の話ではなさそうです。

ではなぜ今?なのですが、比較的最近追加されている銀行が問題になっている様子。

中国銀行がドコモ口座への入金に対応し始めたのは今年の3月だと言うことです。

大垣共立銀行は2019/12。

七十七銀行については銀行側でもドコモ口座側でもチャージ開始のお知らせを見つけることができていませんが、2019/7の障害復旧のお知らせには七十七銀行の名前を見ることができるので、チャージ開始は上記2行よりずっと古いはずです。

参考にした記事 (2020/9/8 13:00段階)


この記事が気に入ったらサポートをしてみませんか?