TOPシステム開発> 第1回:iPod touchにアプリケーションがインストールできる不思議 (2/3)

完全先取り! iPod touch開発

完全先取り! iPod touch開発

第1回:iPod touchにアプリケーションがインストールできる不思議

著者:masuidrive

公開日:2007/11/27(火)

libtiffのバグを利用したJailBreak

iPod touchにインストールされているlibtiffのバグとは、本来のフォーマットとは違う値が埋め込まれたTIFF画像を表示すると、その値によって意図しない動作を行わせることができるというものです。このようなプログラムを「exploit code」と呼びます。JailBreakではexploit codeを利用し、iPod touch上のディスク領域の読み書きとアプリケーションインストーラの導入を行っています。

「なぜSafariでJailBreakするのか」という理由は、JailBreak前のiPod touchでは外部から直接libtiffに画像を読み込ませることができないためです。exploit codeの入ったTIFF画像を読み込ませるには、そのTIFF画像が公開されているURLにlibtiffを使っているSafariを介して接続することが、近道だったということです。

この方法ならば、外部から好きなプログラムを実行させることが可能で、ファイルを書き換えるといった操作を容易に行うことができます。

このように画像処理ライブラリのバグを利用して画像にプログラムを埋め込む手法は、Windowsなどで出回ってるWebブラウザで感染するタイプのウイルスとまったく同じ仕組みなのです。「ウイルスを送るか、Appleの制限を外すJailBreakを行うか」、それだけの違いしかないのです。

JailBreakをするTIFF画像だと思って、まったく別のexploit codeが含まれた画像を表示することのないように注意してください。

なお、現在最新のJailBreak用のexploit codeの含まれた画像の中には、Jail Break後にlibtiffのバグ修正を行い、危険なtiff exploitを回避できるものまで登場しています。

JailBreakの流れ
図2:JailBreakの流れ

iPhoneはどのようにしてJailBreakされたのか

iPod touchがJailBreakされる前段階として、iPhoneの存在を忘れてはいけないでしょう。

通常、Windowsではアプリのインストールにはインストーラなどの専用アプリを使います。しかし、Mac OS Xでは、アプリケーションファイルをコピーするだけでインストールが完了します(もちろん例外もありますが)。

同じOS Xを搭載したiPhoneでも、特別なインストーラを使わずファイルのコピーだけでアプリケーションのインストールができる可能性が非常に高いといえます。しかし、PCとiPhoneをUSB接続した際にPC側からアクセスできる領域は、曲や写真といったiTunesで扱うデータだけでした。

この方法ではアプリケーションを保存するための領域にアクセスできません。そこで、この領域以外にもアクセスできる方法探しが開始され、なんとiPhoneが発売された1週間後には発見されてしまいました。このときは、iPhoneとパソコンを繋ぐUSBの通信内容を解析し、内部ファイルシステムにアクセスできるようになったとのことです。

iPhoneのメディア領域以外にもアクセスができるようになったことで、その行為が「JailBreak=監獄破り」と呼ばれるようになったのです。 次のページ


前のページ  1  2  3  次のページ


masuidrive
著者プロフィール
masuidrive
最近は風呂の人と呼ばれるが、別にいつも風呂で仕事なわけじゃない。喫茶店が好きでMacBook proを持って、あちこちのお店で仕事してる。でも良い喫茶店が見つからず、マクドが多いのが残念。
http://masuidrive.jp/


INDEX
第1回:iPod touchにアプリケーションがインストールできる不思議
  iPod touchになぜアプリケーションがインストールできるのか
libtiffのバグを利用したJailBreak
  iPhoneの解析からアプリケーション開発がはじまった