前回は「Man in the Browser」(MITB)と呼ぶ新しい攻撃を取り上げた。パソコンを対象にしたマルウエアを使った攻撃で、被害者側では防ぎにくく、気付きにくいのが特徴だ。最近はAndroidスマートフォンを狙うマルウエアが急増している。ではAndroidでもMITB攻撃は起こり得るのか。脅威の可能性を検証した。

 マルウエアを使った攻撃手法が高度化している。代表格とも言えるのが、「Man in the Browser」(MITB)である。この攻撃ではマルウエアをブラウザーに介入させ、画面や送信データの書き換えなどを行う。オンラインバンクのパスワードを盗んだり、不正口座に振り込ませたりというものだ。

 「防ぎにくく」「気付きにくい」攻撃なのが特徴で、二要素認証が事実上無力化されてしまったり、ユーザー側からは正常な挙動にしか見えなかったりする。2012年秋以降、日本国内でもオンラインバンクを狙った攻撃に使われたケースが報道されている。

 Androidで不正アプリが多く発見されるなど、昨今、攻撃者がスマートフォンをターゲットにしている気配がある。今回はAndroid上でMITB攻撃が成立するのかどうかを検討しよう。

Androidブラウザーへの侵入は可能?

 MITBでは、パソコンのブラウザー内部に侵入し、ページの改ざんを行うものが多い。Androidでもこれが起こり得るのかを、まず検証する。

 これまで、Androidのブラウザーに侵入するような脅威は報告例がない。AndroidとWindowsでは、OSの設計に大きな違いがあるからだ(図1)。

図1●Androidでは原則としてマルウエアが直接ブラウザーに介入することができない
図1●Androidでは原則としてマルウエアが直接ブラウザーに介入することができない
[画像のクリックで拡大表示]

 Windowsでは、同じユーザーが動作させているほかのプロセスのメモリーを変更できる。MITBの基本的な手法はこの悪用だ。マルウエアがブラウザーのプロセスに介入し、画面表示や通信内容を書き換えてしまう。

 一方、Androidでは、各アプリが別ユーザーのプロセスとして動くように設計されている。そのため、ほかのプロセスのメモリーにはアクセスできない。マルウエアは単体のアプリとしては危険だが、ブラウザーなど別のアプリへの影響は原則としてない。

 ただし例外はある。現時点で分かっているものとしては4種類。(1)root化した端末への侵入、(2)Androidシステム自体の脆弱性、(3)悪意あるブラウザー拡張、(4)Class Loading Hijacking脆弱性─がそうだ。これらが存在するケースでは、マルウエアがブラウザーに介入できてしまう可能性がある。