ドコモ口座への不正送金事件を契機に、金融機関のネットサービスやネット決済サービスの弱点が報道などで次々に明らかにされている。事件の手口には未だ謎が残っており、当初報じられたような「ネット決済サービスの本人確認の強化という大穴をふさげば問題は全て解消する」という単純な話ではなさそうだ。世界を見ても金融機関のオンラインアカウントの乗っ取りを狙う犯罪は多発している。今回は「見えない不正ログイン」という観点から、こうした犯行の手法や、事件を取り巻く背景を改めて考察してみたい。

●不正送金事件の手口の考察

 ドコモ口座の事件では、すでに多くの分析や報道が行われた。その結果、「電子決済サービスのアカウント開設時の本人確認が不十分」「銀行のWeb口座振替受付サービスとのひも付けの申し込みがわずかな情報で可能」という弱点を突いて、銀行口座から犯人が偽造した決済サービスのアカウントに不正送金が行われたことが分かっている。

 筆者も今回被害が報じられた銀行のいくつかに口座を持っていたので、少し検証してみた。ある銀行が提供するネットバンキングサービスへの直接ログインでは、「契約者ID(口座契約者に郵送される口座番号とは別の数字10桁)」と「パスワード」でログインができる。申請すればワンタイムパスワード化もできるようだ。銀行側からの振り込みにはワンタイムパスワードが都度必要となる。

 このことから、銀行自身のネットバンキングでは、契約者番号など普段利用しない情報などを求めることで、多少高めのハードルを設定していることが分かる。一方で、オンライン口座振替サービスの申し込みに必要な情報は「口座名義」「支店・口座番号」「生年月日」「キャッシュカードの暗証番号」と少ない。今回の事件ではこの弱点が狙われたといえるだろう。また、口座ひも付け申し込み時の失敗率はそれほど高くないというNTTドコモの会見時のコメントから、あらかじめ4つの情報がセットで犯人の手元にそろっていたと考えられる。では、犯罪者はこの精度の高い情報をどう入手したのだろうか?

 必要な情報のうち「口座名義」「生年月日」「支店・口座番号」は、秘匿扱いの情報とはいえない。氏名と生年月日の情報はSNSなどで簡単に集められる。支店・口座番号は、還付金、払い戻しなどの振り込み先としてネットでも時々入力する情報だ。振り込み先情報がそれらのサイトから流出してもおかしくない。懸賞金の振り込みをかたり、口座番号を聞き出す特殊詐欺の手口も横行している。振り込み先の確認用に、入力した支店・口座番号から、口座名義を表示するサービスをオンラインバンキングで提供する銀行もある。

 では、残りの暗証番号などの秘匿情報を犯罪者はどうやって入手したのか?

 世界では、複数のサービスから集めた個人情報を組み合わせて悪用する手法が一般化している。特に銀行の口座情報やクレジットカード情報、利用者の住所や生年月日などをセットにした情報は「Fullz」(フルズ)と呼ばれ、闇市場で高値で取引されている。

 銀行口座の暗証番号や、クレジットカード裏面のセキュリティコードを含む情報には高値が付くため、闇市場の売人たちはそれらの秘匿情報を入手しようとする。そのために利用されているのが「フィッシング」「botによる総当たり攻撃」「Webスキミング」だ。

 Webスキミングでは、例えば不正なJavaScriptをWebブラウザに送り込み、利用者が入力する情報を気付かれぬよう盗み取る。この攻撃手法はまだ日本では認知度が浅く、金融機関でも十分対策が取られているとは言いがたい。対策を急ぐべき分野だろう。手口と対策については、以前の連載記事で詳しく取り上げたので参考にしてほしい。今回は、残りの「フィッシング」「botによる総当たり攻撃」が用いられる可能性を考えてみよう。

●フィッシングに必要な情報は?

 フィッシングはサービス提供事業者に成り済ましてメールなどを送り、偽のWebサイトに誘導して、利用者が入力した情報を盗み悪用する行為だ。例えば銀行のセキュリティ強化のためと偽り、暗証番号などの秘匿情報の入力を促す。メールの代わりにスマートフォンなどのSMS(ショートメッセージ)を送る「スミッシング」も広く用いられている。

 フィッシングの成功率を上げるために犯罪者は、メールアドレスやSNSの宛先となる携帯電話番号、サービスの利用履歴などの情報を集めようとする。そのため、最終的な標的となる金融機関と直接連携するサービス、例えば銀行のグループ企業が発行するクレジットカードのWebサイトや決済サービスのスマートフォンアプリは、bot(自動実行プログラム)による不正ログイン攻撃に常に晒されている。

 9月初旬、米FBIは米国の金融業界にセキュリティアラートを送り、botによる大量のパスワードリスト型攻撃(クレデンシャル・スタッフィング)の攻撃数が増加していることを警告した。これまで被害を受けた業種には、銀行、金融サービス、保険、証券会社が含まれる。さらに攻撃の多くは、多要素認証を必要とせずログイン監視の対象となっていないことが多いAPI(Application Programming Interface)を標的にしていると述べている。APIは、スマートフォンアプリや、FinTechなど企業間連携のサーバ側の受け口として用いられているが、Webブラウザベースのオンラインバンキングサービスの陰に隠れて、botによる不正ログインの検知対策が遅れていることが多い。

 世界中に金融業界の顧客を持つ米Akamai Technologies(アカマイ)でも、この傾向の変化を検知している。2019年5〜9月に金融業界に試みられたbotによる不正ログイン試行は一日最大で1900万回に達した。この期間、金融業のAPIに対する不正ログインの試行が不正ログイン総数の最大75%を占め、標的が通常のWebブラウザによるログインページから急激にAPIログインに切り替わったことが下記のグラフから分かる。

 フィッシングは、暗証番号の入力を促すだけでなく、乱数表やSMSを利用したワンタイムパスワードを使った二要素認証を突破するための手段としても用いられている。警察庁は、2019年にネットバンキングの不正送金被害にあった個人口座1852件のうち56%で、SMSを利用したワンタイムパスワードが突破されていたと発表している。これはフィッシングサイトで入力された二要素認証の情報をそのまま利用して、自動的に不正ログインを行うシステムを犯罪者が構築しているからだろう。

 これまでの日本の金融機関では、乱数表などを使った二要素認証を、振り込みなどの資金操作時に使えば万全と考えていたサービスが多かった。しかし、ここで説明したようなbotにより自動化された不正ログイン試行とフィッシングとの組み合わせ攻撃により、これまでの常識が通用しなくなっている。

 botによる不正ログインの試行は、大量に行われるため一見目立ちそうだが、実は特別な対策を取らないと検知ができない「見えない攻撃」だ。それを実データで具体的に示してみよう。

●botによる「見えない不正ログイン」

 botによるパスワードリスト型の不正ログインを仕掛ける攻撃者は、攻撃検知を回避するため、攻撃元として大量のbotネットのIPを用い、「Low & Slow」という特性を持った攻撃を行う。これは、長い時間をかけて低頻度でログイン試行を行うという、自動化されたbotならではの攻撃手法だ。

 アカマイが観測した、ある金融機関のAPIに対する攻撃では、合計約7万回のログイン試行が、大きく2つのbotネットから以下のようなパターンで行われていた。

・botネットA:約4万個のIPアドレスから、174回/毎時の不正ログイン試行

・botネットB:約800個のIPアドレスから、2回/毎時の不正ログイン試行

 ログインリクエストを受けるAPIサーバからみると、例えば、botネットAのペースは、1つの IPあたり、10日に1回しかログインを試さない計算になる。これでは、正規の人間のログインよりアクセスの頻度が少なくなるため、サーバのログを監視するだけではbotによる不正なログイン試行を見分けることができない。フィッシングの起点となっているこのような不正ログインによる情報漏えいを、不正なアクセスがあったタイミングでリアルタイムに防ぐには、「機械学習によるふるまい検知」などの高度な検知能力を持ったbot対策専用の製品を用いないと、対策が難しい。

 アカマイでは、国内の金融機関に対してもこのようなLow & Slow特性を持ったbotによる攻撃を観測している。攻撃はログインページやログインAPIだけに来ているわけではない。例えば、「有効なID」だけのリストをまず作るために、パスワードリセットの仕組みなどもbotは狙っている。bot対策を取る場合にはノウハウを持つ専門家と相談し、このようにbotに狙われやすい隠れた弱点をふさいでいく必要がある。

●botによる総当たり攻撃の可能性

 キャッシュカードの4桁の暗証番号や、クレジットカード裏面の3桁セキュリティコードを探るために、「リバースブルートフォース」「パスワードスプレー」などの、botによる手の込んだ総当たり攻撃が一連の事件に用いられたのでは、という指摘もある。

 この場合、暗証番号を固定して異なるIDに対し、ログイン試行するのがリバースブルートフォース、複数のサイトに対して暗証番号をLow & Slowで順に試していくのがパスワードスプレーだ。どちらも、一度に大量のログイン試行を行うことによる標的からの検知や、ログイン失敗によるアカウントロックを防ぐために用いられる攻撃手法だ。これらも攻撃を自動化するbotならではの手法といえるだろう。

 このような総当たり式の攻撃は、原理的にログインの失敗が大量に発生するため、失敗数の変化を監視すれば、攻撃が仕掛けられている兆候を把握できる可能性はある。ただし、ログイン試行が行われている時期と、実際その情報を使って不正送金などの不正行為が行われる時期が必ずしも一致しないことに気を付ける必要がある。不正にログインされただけですぐに実害が無いといって、対策を怠ってはならない。また、ログイン失敗によるアカウントロックが大量に発生すると、正規のユーザーのロック解除要求の対応でコールセンターが機能不全になるという運用上の問題も実際起きている。

 総当たり攻撃で生じるこれらの課題に対しても、適切なbot検知が実装されているか否かが予防の鍵を握っている。

●自動化する攻撃への対策は周回遅れ

 ここまでの考察で、複数の攻撃手法を用いて収集された情報を、別の攻撃者が闇市場で入手し、最終的に組み合わせて標的を襲っている、という犯罪の大まかなシルエットが浮かんできた。FBIが指摘するように、それらの攻撃の起点には、botにより自動化された不正ログイン試行が常に見え隠れしている。

 一見単純にも思える「攻撃の自動化」の進化で、二要素認証などのこれまでのセキュリティの常識が通用しなくなっている。その一方で、攻撃の自動化への防御側の対策は、攻撃側に対して周回遅れになってはいないだろうか。

 今回の事件で決済事業者の本人確認という、目に見える大穴をふさぐ対策は急務だろう。しかし、これまで過小評価され、後手に回ってきた「見えない自動化攻撃」を予防する取り組みもまた、今起きている事件を抑止するための必須要件となっていることを忘れてはならない。