Man-in-the-Browser攻撃
利用者のPCに感染したマルウェアが、Webブラウザと Webサーバの間の通信を、ブラウザの中で盗み見たり書き換えたりする攻撃。インターネットバンキングでの不正送金に使われる。
イマシルちゃんの解説
インターネットバンキングで、「Aさんに1万円振り込む」って入力したとするね。
画面にはちゃんと「Aさんに1万円」って表示されてるのに、
実は銀行には「犯人に100万円」って送られていた……なんてことが起きるのが、この攻撃なんだ。
ブラウザの中に悪いプログラムが入り込んで、こっそり中身をすり替えちゃう。
通信は暗号化されてて、本物の銀行のサイトにつながってるのに、だまされちゃうんだよ!
より深い解説
定義
Man-in-the-Browser(MITB)攻撃は、利用者の端末に感染したマルウェアが、Webブラウザの機能を乗っ取り(ブラウザの拡張機能やプロセスへの注入などによる)、ブラウザとWebサーバの間でやり取りされる情報を、利用者に気づかれないように盗み取ったり改ざんしたりする攻撃である。
攻撃の流れ(不正送金の例)
- 利用者のPCが、MITBの機能を持つマルウェアに感染する
- 利用者が、本物の銀行のWebサイトにログインする
- 利用者が振込先と金額を入力すると、マルウェアがブラウザの中で、送信する内容を攻撃者の口座に書き換える
- 銀行からの確認画面の内容を、マルウェアが元の振込先と金額に戻して表示する
- 利用者は、正しい内容だと思って送金を確定してしまう
従来の対策が効かない理由
| 対策 | 効かない理由 |
|---|---|
| TLS(HTTPS)による暗号化 | 改ざんは、暗号化される前(ブラウザの中)で行われる |
| サーバ証明書の確認 | 利用者は本物のサーバにつながっている |
| ワンタイムパスワード | 本人がログインした正規のセッションを悪用するため、ワンタイムパスワードも本人が入力してしまう |
| フィッシングへの注意 | 偽のサイトに誘導するわけではない |
中間者攻撃との違い
| 中間者攻撃(MITM) | Man-in-the-Browser攻撃 | |
|---|---|---|
| 攻撃者がいる場所 | 通信経路の途中 | 利用者のブラウザの中 |
| 暗号化の効果 | TLSと証明書の検証で防げる | 暗号化の前に改ざんされるので防げない |
有効な対策
| 対策 | 内容 |
|---|---|
| トランザクション署名 | 振込先や金額などの取引内容を、PCとは別の機器(ハードウェアトークンやスマートフォン)に表示・入力させ、その内容から作った認証コードで取引を確定させる |
| 取引内容の別経路での確認 | 銀行が、取引内容をメールやSMS、専用アプリなど、ブラウザとは別の経路で通知し、利用者に確認させる |
| マルウェア対策 | OSやブラウザを最新に保ち、マルウェア対策ソフトを使う |
| 不正な振る舞いの検知 | 銀行側で、普段と異なる送金を検知する |
ポイントは、感染したPCのブラウザに表示された内容を信じずに、別の機器や経路で取引の内容を確認させることである。
CDNとの関係
MITB攻撃は、利用者の端末の中で行われる攻撃であり、サーバへのアクセスを分散させるCDNを使っても、その影響を軽減することはできない。