銀行取引用コードの不正傍受で預金が引き出される可能性

銀行取引用の2段階認証コードを盗むため、通信プロトコルSS7がハッキングされた事例について。

2段階認証は、顧客の財産を保護するために、世界各地の金融機関で採用されています。新しいデバイスから初めて口座にログインする場合や取引を承認する場合には、4~6桁のコードの入力が求められますが、このワンタイムパスワードのやりとりにSMSのテキストメッセージを採用する銀行が多々あります(※訳注:日本の銀行ではあまり使われていませんが)。しかし、残念ながらSMSのテキストメッセージは傍受される恐れがあり、SMSを使った2段階認証は安全性の面で最も心配な部類に入ります。英国で起きた先日の事件は、まさにこれでした。

犯罪者はどのようにしてテキストメッセージを手に入れるのでしょうか?方法はさまざまありますが、もっとも大胆なものは、通信会社が使用しているSS7というプロトコルにあるセキュリティの欠陥を悪用して、テキストメッセージや通話を転送する方法です(参考:英語記事)。SS7ネットワークはリクエストを送信したのが誰かを気にしませんから、悪者にアクセス権を握られてしまうと、その命令どおりにテキストメッセージや通話が送信されます。

全体の流れを大まかに説明しましょう。サイバー犯罪者はフィッシングやキーロガー、銀行を狙うトロイの木馬などを利用して、標的がインターネットバンキングで使っているユーザー名とパスワードを入手します。続いてインターネット経由で銀行にログインし、送金をリクエストします。多くの銀行では送金の再確認のため、口座の名義人宛てに確認用のコードを送信します。この送信にテキストメッセージが使われた場合、サイバー犯罪者はSS7の脆弱性に付け込んでメッセージを傍受可能となり、自分が受け取ったかのようにそこに書いてある確認コードを見て入力します。この取引はパスワードで1回、確認用のワンタイムパスワードで1回と計2回認証されているので、銀行は送金リクエストを正当なものとして承認します。こうして、お金は犯罪者の元に送られます。

英国のMetro BankはMotherboard (英語記事)の取材に対し、一部の顧客がこのタイプの詐欺に遭ったことを認めました。2017年にはドイツの Süddeutsche Zeitung(ドイツ語記事)が、国内の銀行が同じ問題に直面していたことを伝えています。

幸いなことに、Metro Bankがコメントしているとおり、この問題に対処しなければならなかったのは顧客のごく一部で、金銭的損害が残った人はいなかったとのことです。

銀行がテキストメッセージに頼らずに別の形で2段階認証を行っていれば(たとえば認証用アプリや、Yubikeyのようなハードウェアのセキュリティキー)、このような問題を回避できたかもしれません。しかし残念ながら、現段階ではSMS以外の2段階認証方法を認める金融機関が非常に少ないのが実情です。近い将来、顧客を守るためにほかの選択肢を用意してくれる銀行が世界中に増えていくことでしょう。

さて、この記事で覚えていていただきたいことは次の2点です。

  • できるだけ2段階認証を使おうというのはいい心がけですが、認証用アプリやYubikeyなどより安全性の高い手段を使用すればさらに安心です。このような選択肢があるならば、SMSではなく、そちらを使ってみましょう。
  • 信頼できるセキュリティ製品を使って、銀行を狙うトロイの木馬やキーロガーをシステムに近づけないようにしましょう。これにより、悪者はログインIDやパスワードを窃取できなくなりますから、心配の種がひとつ減ります。
ヒント