Slide 1

Slide 1 text

d ar qur o 2 0 2 2 .9.1 2 M o n i OS D C J a p an 2 0 2 2 D a y2 LT 1 5 : 1 5 ~ Jailbreak と向き合おう

Slide 2

Slide 2 text

Jailbreakって なにか対策してますか?

Slide 3

Slide 3 text

10年くらい前は身近にもやっている人はいた印 象だけど、最近はiOSのアップデートもされてる し、端末価格の高騰とリセールバリューも高いし、 少なくなった気がするなぁ。 とはいえ、アプリ開発者として なにかやっておいたほうがいいのか なぁ。

Slide 4

Slide 4 text

まずは知ることから はじめてみよう

Slide 5

Slide 5 text

Jailbreakとは • セキュリティホールを突いて権限を取り除き、 通常では実行できないソフトウェアを実行させる • 日本では“脱獄“と言われる • Jailbreakすることは合法 • Jailbreakした端末を販売するとAppleの商標権の侵害行為 10年くらい前は身近にもやっている人はいた印象だが、最近はiOSのアッ プデートや、端末価格の高騰と中古市場での需要が高さなどから、少なく なった? とはいえ、アプリ開発者としてどう向き合いっていくべきか。

Slide 6

Slide 6 text

Jailbreakは どうやって行うのか

Slide 7

Slide 7 text

方法1 1.chackra1n(※1) をmacにインストール 2.デバイスをmacに接続し、Jailbreak実行、 chackra1nアプリをデバイスにインストールす る * chackra1nはiOS14までサポートしている ※1 https://chackra.in 参考:https://zunda-hack.com/2020:09/22/how-to-jailbreak-with-checkra1n/

Slide 8

Slide 8 text

1.AltStore(※1) をmacにインストール 自己証明書を作成して、iOSに非公式アプリをインストール できるようにする 2.unc0ver(※2) のipaファイルをダウンロードし、AltStoreで 証明書を発行し、iOSにインストールする 3.unc0verを起動し、Jailbreakする * unc0verはiOS14.8までサポートしている 方法2 ※1 h>ps://altstore.io ※2 h>ps://unc0ver.dev 参考: h>ps://zunda-hack.com/2021:02/28/how-to-jailbreak-ios-11-0-ios-12-2-ios-12-4-with-unc0ver

Slide 9

Slide 9 text

その他 • Cheyote (iOS15.1までサポート) • Chimera • Electra • Yalu etc… h>ps://silzee.com/Cheyote/ h>ps://chimera.coolstar.org/ h>ps://coolstar.org/electra/

Slide 10

Slide 10 text

Jailbreakを 検知するには

Slide 11

Slide 11 text

⚠ 注意点 あらゆるパターンをすべて検知する 完璧なソリューションはない

Slide 12

Slide 12 text

Jailbreak検知 • カスタムURLスキーム検知 • 特定ファイルの検知 • Sandboxチェック • System API callチェック

Slide 13

Slide 13 text

カスタムURLスキーム検知 “cydia://”を検知 Cydia:非公式アプリの配布するプラットフォームの一つ。

Slide 14

Slide 14 text

特定ファイルの検知 対象のファイルはいくつか記事を参考に する必要がある • h"ps://github.com/avltree9798/isJailbroken/blob/ma ster/isJailbroken/JB.m • h"ps://be"erprogramming.pub/how-to-make-ios- app-secure-from-jailbroken-device-1efccc736d9b • h"ps://sabatsachin.medium.com/detect-jailbreak- device-in-swiD-5-ios-programaFcally-da467028242d

Slide 15

Slide 15 text

Sandboxチェック

Slide 16

Slide 16 text

System API callチェック h>ps://github.com/securing/IOSSecuritySuite/blob/master/IOSSecuritySuite/JailbreakChecker.swiI

Slide 17

Slide 17 text

Jailbreak検知 • カスタムURLスキーム検知 • 特定ファイルの検知 • Sandboxチェック • System API callチェック この3つを入れておけば、 ある程度カバーできる? ※個人的感想

Slide 18

Slide 18 text

Jailbreakに対して アプリはどんな対応を すべきか

Slide 19

Slide 19 text

アプリでやれること • ログを仕込む (Jailbreakデバイスを使うユーザーがいるのかどうか) • 警告を表示する (動作保証やサポートはできない可能性があることのユーザーへの認知) • データを消去する (情報漏えいの防止) • 強制クラッシュさせる (想定外の実行の回避) アプリの種類によって変わる これをやっておけばOKみたいなのはない

Slide 20

Slide 20 text

まとめ • いくつかの方法で検知することは可能 • 完璧な検知方法はない • 完全にセキュアな方法もない • アプリの種類によって何をどこまで対策すべ きか対応を考えていく必要がある それらを踏まえ、判断できることが大事

Slide 21

Slide 21 text

Rakuten Group Inc. @darquro Mobile Application Engineer / Engineering Manager YUKI KURODA

Slide 22

Slide 22 text

THANK YOU FOR LISTENING Jailbreakと向き合おう darquro iOSDC Japan 2022