JSSEC技術部会 スマートフォン・サイバー攻撃対策ガイド 第4回 インターネットバンキング情報窃取 |
JSSEC技術部会マルウェア対策WG |
宮崎 力(株式会社ラック) |
昨年2020年、電子決済サービスの不正引き出し事件が相次いで発生しました。
大々的にメディアでも取り上げられたため記憶にも新しいと思われますが、この事件でなによりインパクトがあったのは、当該の電子決済サービスの利用者でなくても被害者となりうるということです。
電子決済サービスの多くは、サービスの専用アプリとネットバンキングの口座を紐づけることで利用可能となります。
一連の事件が報じられた際はサービス名が先行したため、サービスを利用していない者には関係ないという誤解を生みましたが、実際には紐づけ可能な口座を持っているだけで被害者となりうるというものでした。
攻撃の概要
電子決済サービスの専用アプリをネットバンキングの口座に紐づけるには、最低限ネットバンキングの
口座番号と暗証番号が必要になります。事件が報じられた当時、犯人がこの情報をどのように知りえた
のかが話題になりました。実際の手口は未だ明らかになっていませんが、以下の3つの攻撃手段が現実的
な手段と考えられます。
・暗証番号に対するブルートフォースアタック
・口座番号に対するリバースブルートフォースアタック
・偽銀行アプリ等を使用したフィッシング
技術解説
①暗証番号に対するブルートフォースアタック
ブルートフォースアタックとは総当たり攻撃のことです。その名の通り、考えられるパターン全てを
パスワードとして入力する解読法を指します。
パターンの数が多ければ解読にも時間がかかりますが、口座の暗証番号は4桁の数字に過ぎません。
一桁あたりは0-9の10種類の数字のいずれか、それが4桁ですから、10^4で1万通りとなります。
もちろんこれを手入力するなら膨大な時間がかかりますが、コンピュータを利用するならさほどの時
間を要しません。以下はパスワード付zipを口座番号に見立て、設定された4桁の数字からなるパスワー
ドを実際に解読した様子です。
16:58:06開始で16:58:22終了、実に16秒で解読に成功しました。4桁の数字からなる暗証番号が如何
に容易に解読可能であるか、お分かりいただけるかと思います。
ただ、いくらパスワードの解読が容易であったとしても、実際にネットバンキングにログインするに
は、総当たりの回数分ログインを試みる必要があります。実際のATMも同様ですが、指定回数以上暗
証番号の入力を間違えると、それ以上の試行は許可しない仕様になっていることがほとんどです。
そこで手口として考察されたのが、次に説明するリバースブルートフォースアタックになります。
②口座番号に対するリバースブルートフォースアタック
リバースブルートフォースアタックとは、試行回数に上限が設定された暗証番号を解読対象とするので
はなく、試行回数に上限が設定されていない口座番号に対し解読を試みるというものです。
銀行口座の口座番号は7桁の数字から成ります。一桁あたりは0-9の10種類の数字のいずれか、それが
7桁ですから、10^7で1000万通りとなります。
以下は、ブルートフォースアタックの検証同様、7桁の数字からなるパスワード付zipを実際に解読した
様子です。
17:29:49開始で17:30:00終了、実に11秒で解読に成功しました。この程度の桁数であるなら解読に
要する時間に大差がないことがわかります。暗証番号が1万通りだとしても、1万回リバースブルート
フォースアタックを繰り返せば、いつかは必ずログインに成功し、かつそれほどの時間を要しません。
試行回数に上限を設定しない危険性がお分かりいただけるかと思います。
③偽銀行アプリ等を使用したフィッシング
実際に不正引き出しのあった電子決済サービスを提供する会社からは、当該事件では、大量の攻撃が
行われたものではなく、あくまでもピンポイントで連携されたというコメントがありました(※)。
※「ドコモ口座」不正引出、2019年10月より120件 - 試行回数多くなくピンポイントに連携
https://www.security-next.com/118430
ブルートフォースアタックでもリバースブルートフォースアタックであっても、大量の試行を行うこと
に変わりはありません。これら試行の形跡が確認できなかったということは、いずれも当該事件におけ
る攻撃手段とは考えにくいといえます。
事前に知りえた口座番号および暗証番号をもって犯行が行われたとするなら、その情報はどのように
漏洩したのでしょう?
当該事件に先立つ2017年に、オンライン銀行アプリを偽装する不正アプリが話題になりました (※)。
※オンラインバンキングアプリを狙う「BankBot」を「Google Play」上で確認、国内銀行 7 行も対象
https://blog.trendmicro.co.jp/archives/15950
このようなアプリは、正規のネットバンキングアプリを装って、ユーザの口座番号や暗証番号などネッ
トバンキングに必要な情報を入力させます。いわゆるフィッシングです。
不正アプリの例として挙げた「BankBot」は、一旦無害なアプリとしてGoogle Playにアップロードさ
れ、ユーザがインストール後に、アプリのアップデート機能を利用してペイロードを仕込むという非常
に手の込んだものでした。
不正アプリの作りこみの精度から、攻撃側は大規模なリソースを投入していると推測するのが妥当と思
われます。また、組織的な攻撃だとするなら、不正に入手した情報はどこかでデータベース化され共有
されていることも想像がつきます。
対策
一般社団法人全国銀行協会が実施したアンケートによると、ネットバンキングを攻撃対象としたサイバ
ー犯罪は急増しており、法人口座より個人口座が集中して狙われていることがわかります。
https://www.zenginkyo.or.jp/fileadmin/res/news/news320907_2.pdf