Fourteenforty Research Institute, Inc.

MITB in Android

Fourteenforty Research Institute, Inc.
Fourteenforty Research Institute, Inc.
株式会社 フォティーンフォティ技術研究所
http://www.fourteenforty.jp
Ver 2.00.01

1Fourteenforty Research Institute, Inc.

アジェンダ
•••
•
••

背景
MITBとはMITB in Androidの可能性
Firefox for mobileを用いたMITB
デモ
まとめ

2

Fourteenforty Research Institute, Inc.

背景：Androidの普及とMan in the Browser••

Androidマルウェアの増加
従来からのWindows PCマルウェアの攻撃手法の高度化– オンラインバンクを狙ったMan in the Browser (MITB)

McAfee脅威レポート 2012年第3四半期より転載
3

Fourteenforty Research Institute, Inc.

Man in the Browser (MITB)とは•••ブラウザ内に侵入して、画面を書き換える、送信されるデータを書き換える、パスワードを盗むなどを行う攻撃手法
主にオンラインバンクへのアクセスを監視、ユーザーの入力の搾取、改ざんを行う
二要素認証を用いても、正規のセッション、パスワードを攻撃時に用いることもできるため防げない

画面書き換え送受信情報書き換え
4

Fourteenforty Research Institute, Inc.

MITBの現状（海外）•Operation High Roller※– 2012年 US、ヨーロッパを中心に行われたMITB攻撃– 2ヵ月間で最大で20億ユーロの被害が発生（およそ2,000億円）※McAfeeホワイトペーパー Operation High Rollerより

5

Fourteenforty Research Institute, Inc.

MITBの現状（国内）•ZeusやSpyeyeといったツールキット– 2012年、国内でも銀行などを対象にした攻撃が現実に起きている• 三菱東京UFJ銀行• 三井住友銀行• みずほ銀行など

画面は http://www.bk.mufg.jp/info/phishing/ransuu.html より引用

6

Fourteenforty Research Institute, Inc.

脅威予測
スマートフォンユーザーの増加スマートフォンによるオンラインバンク利用者の増加

スマートフォン上で、MITB攻撃が成立するのか対策方法があるのか

7

Fourteenforty Research Institute, Inc.

Man in the Mobile (MITMO)とMITB•••

MITBと似た用語としてMITMOがある– 別の概念モバイル端末にアプリをインストールさせることで、SMSメッセージを利用した認証を回避
MITBと組み合わせて攻撃に利用される
MITMO ≠ MITB•

典型的なシナリオは・・・•8Fourteenforty Research Institute, Inc.

Man in the Mobile (MITMO)の流れ③ユーザーがマルウェアをインストール⑥マルウェアが認証コードを攻撃者側に送信

攻撃者PC⑤認証コード送信⑦認証コードを用い振り込み完了④盗んだログイン
情報でログイン、振込操作①MITB攻撃を仕掛ける②画面を改ざん
うそのメッセージ表示↓
マルウェアをモバイルにインストールさせる
ログイン情報も同時に盗み出す

Online Bank
9

Fourteenforty Research Institute, Inc.

MITB, MITMO, MITM(Man in the Middle)の関係•••

MITBやMITMOは攻撃コードやデータが存在する場所に着目した分類– ブラウザ内 : MITB
– モバイル端末内 : MITMO
MITMは攻撃の形態の一つ。
– MITBやMITMOと組み合わせて利用される– それ以外のものも存在する
それぞれ独立した概念
MITB

MITMO

今回は、この領域の可能性について考える
MITM
10

Fourteenforty Research Institute, Inc.

MITB in Android• Android端末のブラウザに侵入– 画面書き換え– 送受信情報の書き換え• 現状では現実の脅威の報告例はない

11

Fourteenforty Research Institute, Inc.

MITB in Windows•

典型的な手法– メールなどでマルウェアをユーザーに配布、実行させる– IEなどのブラウザプロセスのメモリを書き換え– 特定のURLへの接続を見張るMalwareProcess

Browser
Process

書き換えられた画面

コードインジェクション
12

Fourteenforty Research Institute, Inc.

Androidのセキュリティアーキテクチャ
すべてのアプリケーションが原則別ユーザーで動作
メモリ、ファイルにアクセスできない

ProcessA

ProcessB

uid = 10009

uid = 10112

ファイル

ファイル
Android13

Fourteenforty Research Institute, Inc.

AndroidとPC(Windows)との大きな違い•••

Windowsで起きるMITBがそのままAndroidで起きるか？
– Windowsでは同じユーザーで動作させている他のプロセスのメモリを変更可能– MITBの基本的な手法として利用
Androidでは各プロセス（アプリ）が別ユーザーとして動いており、他のプロセスにアクセスできないように設計されている
Androidマルウェアをインストールしてしまってもブラウザそのものへの影響は原則ない

MalwareProcess

Browser
Process
Windows

MalwareProcess

Browser
Process
Android

Androidではマルウェアが直接ブラウザに介入することができない
14

Fourteenforty Research Institute, Inc.

Man in the Browser in Androidの可能性••

AndroidにおいてMITBを成功させるには？
– 相手プロセスのメモリへの侵入方法を考える
Androidにおいて、ブラウザに介入できるとすれば、以下の4つの可能性が考えられる– root化端末への侵入– Androidシステム、アプリの脆弱性– Class Loading Hijacking脆弱性– Browser Extension

15

Fourteenforty Research Institute, Inc.

root化端末への侵入••••

root化端末では、他のプロセスへの介入が可能となる
root権限を持つプロセスからはメモリの書き換えやファイルの置き換えなどが自由に可能→ 無防備な状態プロセスのメモリの直接の書き換えのほか、アプリケーションの置き換えや、Dalvik-Cacheの置き換えなど、さまざまな手法でMITBを実現できる対策– root化をした状態でAndroidを利用しない

16

Fourteenforty Research Institute, Inc.

root化端末への侵入
MalwareProcess

Browser
Process
Android

MalwareProcess
root化

Browser
Process

root化済みAndroid

root化によりマルウェアがブラウザに介入できるようになる
LSMの効果
•root化対策• LSM（Linux Secure Modules)によって、root権限でできることを制限• ただし、LSMが有効でも、他のプロセスへの介入が可能になる例も(*1)• root化した端末ではMITBに対するリスクは相対的にはかなり高い*1 http://www.fourteenforty.jp/assets/files/research/research_papers/yet-anotherandroid-rootkit.pdf
17Fourteenforty Research Institute, Inc.

Androidシステム自体の脆弱性••

Androidシステム自体に脆弱性がある場合– root化– ブラウザプロセスの乗っ取りの可能性
ブラウザが読み込むライブラリに脆弱性– 任意のコードが実行可能であった場合、MITBは可能となる– ASLRやDEPなどの実装 → このタイプの攻撃は困難に
Version-2.2

2.3-,3.0-

4.0-

4.1-

DEP(スタック)

×

○

○

○

DEP(その他)

×

○

○

○

ASLR(スタック)

○

○

○

○

ASLR(ヒープ)

××

△

○

ALSR(モジュール)

××

△

○

AndroidのDEP, ASLRへの対応状況
http://www.fourteenforty.jp/assets/files/research/research_papers/InternetWeek2011_s10-02.pdf
より一部修正、追記して転載

18

Fourteenforty Research Institute, Inc.

Androidシステム自体の脆弱性•対策– アップデートを適切に行う

19

Fourteenforty Research Institute, Inc.

Class Loading Hijacking脆弱性の利用•••

Class Loadingという外部のDEXコードを読み込む機能– ファイルなどをコードとして取り込める
WindowsのDLL Hijackingと同様の脆弱性の可能性
2011年シマンテックより発表された– http://www.symantec.com/connect/blogs/android-class-loadinghijacking

20Fourteenforty Research Institute, Inc.

Windows DLL Hijacking
Network Dir

Local PC
①ファイル実行②対応アプリ起動
Data.abc④Foo.dll?

System Dir

Foo.dll③Foo.dll?

21

Fourteenforty Research Institute, Inc.

DexClassLoader••classes.dex (複数のコードのアーカイブ)を動的に読み込む
引数– dexPath : 読み込むdexファイルのパス– optimizedDirectory : 最適化適用後のodexファイルの出力パス

いずれかのパスが他アプリから書き換え可能な場合脆弱22

Fourteenforty Research Institute, Inc.

Class Loading Hijacking脆弱性の利用

ProcessABrowser

DexClassLoader

dexdex書き換え

23

Fourteenforty Research Institute, Inc.

Class Loading Hijacking脆弱性の利用•

Android APIのドキュメントにも注意書き– 主要ブラウザでこのような問題を作りこんでしまう可能性は低い– 標準ブラウザ、Chrome, Firefoxを調べた限りは現状脆弱性はない•

対策– システム（アプリ）のアップデート

24Fourteenforty Research Institute, Inc.

Browser Extension••••

Android版Firefoxはブラウザアドオンをサポート– 悪意あるアドオンを導入– 画面等を書き換えられる可能性があるアドオンが安全かどうか判定する明確な方法はない
AMO(addons.mozilla.org)には、審査を通ったもののみが登録されている対策としては、ウェブページなどで促されるままにAMO以外からアドオンを導入しないこと

25

Fourteenforty Research Institute, Inc.

MITB in Androidの可能性と対策
ユーザーが行える対策をまとめると、以下のようになる
可能性
root化端末への侵入対策
root化を故意に行わない
root化した端末を利用しない

Androidシステムの脆弱性

システムのアップデート

Class Loading Hijacking

ブラウザのアップデート

Browser Extension(Firefox)

AMO以外からのアドオンのインストー
ルを控える

26

Fourteenforty Research Institute, Inc.

(参考)Browser以外での脅威••

ブラウザ以外の銀行専用アプリへの攻撃– MITBではない– ただし、こちらも攻撃される可能性あり– Class Loading Hijackingなどの脆弱性への攻撃
専用アプリに似せた偽アプリを利用した攻撃の可能性

27

Fourteenforty Research Institute, Inc.

First PoC of Firefox MITB Addon•

ユーザーが悪意あるアドオンをFirefoxにインストールしてしまった場合何ができるのか？
– 画面の書き換え– 情報の読み取り（パスワードなど）– 送信データの書き換え

28

Fourteenforty Research Institute, Inc.

Addonの構造1
Firefox for Android
Addon
main.js
PageMod({include: “*.demo_bank.co.jp/”,contentScript:data.url(“content.js”)});

http://yahoo.co.jp/...

content.js
特定ページ上にJavaScriptを挿入

http://www.demo_bank.co.jp/...
29

Fourteenforty Research Institute, Inc.

Addonの構造2Firefox for Android
Addon
main.js
ユーザーID

content.js

パスワード

ログイン
var button =document.getElementsByName(‘login_button’).item(0)button.onclick = function(){// ここで攻撃者サーバーに情報送信}

ログインボタンイベントの書き換え

30

Fourteenforty Research Institute, Inc.

デモ
Online Bank

Attackers Server
192.168.1.181
２．オンラインバンク
ログイン
３．アドオンがログイン情報送信
１．アドオンインストール
Mal Addon

31

Fourteenforty Research Institute, Inc.

32

Fourteenforty Research Institute, Inc.

Firefox Addon Install without User Awareness••••

ユーザーに許可なく、悪意あるAddonをFirefoxにインストールことができるか？
できる場合、root化なし、ユーザーによる悪意あるアドオンのインストールなしで、MITBが成立する

Firefoxの脆弱性を発見(CVE-2013-0798)
悪意あるアプリをインストール、実行してしまうと、ユーザーに気づかれることなくアドオンをインストール可能

33

Fourteenforty Research Institute, Inc.

Firefox Addonを利用した脆弱性攻撃シナリオ••••

ユーザーが悪意ある（無害なアプリを装う）アプリをインストール、起動
ユーザーがFirefox for Androidを利用して無害なAddonをインストール– ユーザーが無害なAddonを選択、「インストール」をタップ– Firefox for Androidが確認画面を表示– この際、バックグラウンドで動作している悪意あるアプリはでテンポラリディレク
トリにダウンロードされたアドオンのファイルを変更– ユーザーが確認画面で「インストール」を選択しインストール– Firefox for Androidは悪意あるAddonをインストール（Firefox for Androidがテンポラリファイルを置き換え可能なパーミッションで保存していることが脆弱）
ユーザーはいつも通りFirefox for Androidを用いてオンラインバンクなどを利用
Webページの書き換え、パスワードの搾取が行われる

34

Fourteenforty Research Institute, Inc.

35

Fourteenforty Research Institute, Inc.

危険度の比較（攻撃者視点）
Mal-Addonのインストール

AndroidマルウェアによるAddonインストール

審査△(AMOによる審査)△(Playストアによる審査)

インストール可能性×(Addonはインストール数が少ない)○(Playストア、またはその他の場所からインストールされる可能性が高い)

脆弱性○(脆弱性を探す必要なし)

×(脆弱性を突く必要あり)

36

Fourteenforty Research Institute, Inc.

まとめ•••••••

AndroidのブラウザのMITB可能性– 有り– Windowsに比べるとハードル高
root化によるリスク大
root化されてない場合– システムの脆弱性– ブラウザの脆弱性– ブラウザプラグイン
Androidのセキュリティモデルを適切に運用できることが重要
Androidならではの対策の難しさも（サードパーティアプリには限界がある）
MITBに関して言えば、マルウェアを実行してしまうだけで、MITBが可能となってしまう
Windows PCを利用するよりも、Androidを利用したほうが安全？
MITB以外の、フィッシングや、偽アプリにはWindows PC同様注意が必要

怪しいアプリはインストールしない！
37