JailBreakに潜む“脆弱性”という危険性(簡易な攻撃と解説)

皆さんこんにちは。研究開発部です。
今回はiOSの“JailBreak”について軽く触れたいと思います。

JailBreakは、一般ユーザーからすると
機器のカスタマイズ性を増加させる魅力的な操作ですが、
実はiOSのセキュリティに穴を空け、アプリを無防備にしてしまう行為です。
JailBreakを知っている・知らないに関わらず、
改めてセキュリティ意識向上に繋がればと思います。

【要約】

  1. JailBreakにはセキュリティリスクが高まるという大きなデメリットがある
  2. JailBreak端末でのアプリへの攻撃は容易である
  3. アプリを配信する企業は、JailBreak端末でのセキュリティを意識する必要がある

1.JailBreakとは

ではまずJailBreakについて説明します。
JailBreakとは、iOSによるユーザー権限の制限をなくし、
アプリ等が本来許された範囲を超えて動作できるようにすることを指す言葉です。
自由度が増す一方、それゆえに
デバイス内のプログラムを解析・改ざんすることも可能になります。

JailBreakは、日本では依然としてマニアックなものですが、
今年度ニュースにも取り上げられたことによって知名度が増していると思われます。

“内蔵プログラムを改変したiPhone(アイフォーン)を販売したとして、
京都府警が3日、商標法違反の疑いで兵庫県播磨町のアルバイトの少年(19)を逮捕したことが
捜査関係者への取材で分かった。
”Yahooニュース 2020.03掲載より引用:https://news.yahoo.co.jp/articles/1b9e6bf10962aa77ffd385f59f65fb09461bcff2

一般ユーザーがJailBreakをする理由は、おそらく好奇心とアプリの利便性向上でしょう。
しかしこの行為は、特にアプリ配信会社にとってセキュリティの面で極めて許し難い行為です。
それは、JailBreak端末上でアプリを攻撃するのがクラッカーの常套手段になっているからです。
アプリの動的改ざんによる不正行為や、解析ツールによる動的解析・メモリ解析が可能になり、
例えばゲームアプリであれば、課金の回避やチート行為の横行などの被害が発生します。

2.JailBreak環境におけるアプリの改ざん

次に、JailBreak環境においてアプリを改ざんするシンプルな方法をお見せし、解説します。

<攻撃実演>
まずは攻撃対象として、テキストを扱うアプリを下記のように作りました。
■入力用と表示用の2つのテキストボックスをそれぞれ上段・下段に配置
■Returnキー(改行キー)が押される度に、上段に入力された内容を下段
(表示用のテキストボックス)に追加

↓名前・住所・ID・パスワードを入力してみました。

次に攻撃用プログラムを作ります。
上記アプリではtextFieldShouldReturnという名前のメソッドを用いて
Returnキー(改行キー)が押されたタイミングで上段に入力された内容を下段に追加しています。
このメソッドを書き換えるプログラムを作って、
入力内容を全く別の指定した場所に書き出す操作を追加しました。

…指定した場所を確認すると、入力した内容がファイルに書き出されていました。
(※見やすいように少し編集しています。)

正規端末では、上記の攻撃用プログラムは動作できません。
iOSが動作を制限しているためです。
一方JailBreak端末では、上記の攻撃用プログラムはユーザーの許可を一切得ずに動作できます。
表向きは全く別のプログラムであるかのように偽装することも容易なので、
アプリの改ざんによる入力情報の流出リスクは非常に高いのではないでしょうか。

<図解>
正規端末では、アプリと本攻撃用プログラムは下図のような関係になっています。

一方JailBreak端末では下図のような関係になっています。

上記の例で、JailBreak端末ではアプリに簡単に攻撃ができてしまう、とお判りいただけたかと思います。
国内外関わらず、日々攻撃者は金銭や自己顕示等を目的に
セキュリティの弱い部分を狙い攻撃をしかけています
そして防御側は、アプリがインストールされる環境をコントロールできないので
常に不利な戦いを強いられます。

3.まとめ

エンドユーザーにアプリをダウンロードしてもらい
安全・快適に使用してもらうためには、
攻撃者から、“配信するアプリを守ること”が大切です。
1人の攻撃を許してしまうことで、企業が抱える重要なデータや
エンドユーザーが入力した個人情報等を漏洩してしまうこともあり得ます。
また、不正行為の手法がインターネット上で共有されて不正行為が横行してしまい、
アプリの体験価値が著しく損なわれてしまう、というような事態も起こり得るでしょう。

ですので、「アプリを配信する」ということは、
即ち、「アプリを攻撃から守る」という対策の実施が必要になるということです。
まずはアプリ配信をする側がこの意識を持つことがセキュリティ対策の第一歩ではないでしょうか。


当サイトでは、アプリのセキュリティについて詳しくわかる資料をご用意しています。
アプリのセキュリティや対策についてご興味を持たれた方は、
ぜひダウンロードしていただけますと幸いです。

ダウンロード資料一覧

また、弊社では
アプリへの不正な解析・改ざん行為(クラッキング)を防ぐ対策製品
「CrackProof」の開発・販売を行っております。
詳しく話を聞いてみたいと思われた方は、
当サイトからお気軽にお問い合わせください。

お問い合わせはこちら