unc0verのベータ版を含め、iOS 12.0〜12.1.2の脱獄開発が続いていますが、iOS 12.x脱獄で問題になっていた「CoreTrust」について完全な回避に成功したとJake James氏から報告されています。
ただし、こちらの手法はunc0verでは採用されない様で…?
CoreTrust問題
iOSではバイナリ(実行ファイル等)が改ざんされていないかなどを署名で確認しているのですが、iOS 12では「CoreTrust」という仕組みが追加されており、これがより強力になっています。
脱獄ではこれを回避するなどの手法が必要となっていました。
Jake氏が完全な回避に成功
Clearing confusion:
– This IS a full CoreTrust bypass
– Completely skips both CoreTrust & AMFI (and thus, amfid)
– This is not a 0day, it's a design flaw
– Apple will likely not do anything about it pre-A12.
– A future release is planned, but "when" depends on how much we need it https://t.co/2kVjNakkp2— Jake James (@Jakeashacks) 2019年2月28日
Jake James氏より「CoreTrustの完全な回避に成功した」と報告が行われています。
これはCoreTrustとAMFIの両方を回避(スキップ)する手法となっているようで、以前で言う所の「amfid手法」と同義になるそうです。
リリースは予定されているそうですが、今のところ明確な時期は決められておらず、状況によって前後する可能性があるとのこと。
A12では…?
こちらの手法は「A11までのデバイスで動作」する物とされており、A12デバイスでは【PAC(Pointer Authentication Codes)】というセキュリティが追加されているため、こちらの対処も必要です。
ただ、nullpixel氏からアドバイスを貰ったようで、その後の報告では「当初思っていたほど、A12デバイスへの影響は少ないかもしれない」としています。
簡単ではないと思われますが、思ったよりも…だったようで、今後の展開に期待でしょうか…!
ちなみに…
This is an iPhone XS Max (A12)
No, this is not sideloaded.
Tweaks working within applications using @Jakeashacks rootless.
Tweaks don’t work yet on springboard, I know why and will be fixing.
No, I’m not releasing this (it’s super hacky).
Yes, I will be willing to help others. pic.twitter.com/NKD0rpNUxp— Spark (@SparkDev_) 2019年2月28日
ちなみに、Spark氏より「A12対応rootlessJB」の報告も行われています。
まだこちらは開発中のものではありますが、iPhone XS Max(A12デバイス)にて脱獄アプリを動作させることに成功している様子。
リリース予定などは語られていませんが、「他のA12デバイス対応に取り組んでいる開発者さんを手助けすることは出来るよ!」ともしています。
unc0verでは採用されない?
FTR: I know how this bypass works but I won’t be implementing this in unc0ver at least for now because there is no need it for it due to the reasons that I talked about before. https://t.co/9xZ2hbfXjW
— Pwn20wnd is experimenting with unc0ver for A12 (@Pwn20wnd) 2019年2月28日
今回Jake James氏から報告されたCore Trust回避手法ですが、Pwn20wnd氏によると「unc0verでは採用しない」と報告されています。
理由についてですが、「既に別の手法で解決されているため」とのこと。
別の手法?
unc0ver resigns object files from DPKG to add the required entitlements for the KPPLess environment and a valid CMS blob to pass CoreTrust evaluation by using a new version of ldid that Saurik made for this purpose.
This is so far the most stable and the future-proof solution.
— Pwn20wnd is experimenting with unc0ver for A12 (@Pwn20wnd) 2019年2月27日
別の手法…とは、Saurik氏が改良してくれた「ldid」を使用し、この問題を解決する物となっているようです。
報告された様なCoreTrust回避手法はバージョンごとに別手法が必要となる可能性がありますが、こちらであれば将来の脱獄においても利用出来る可能性がある…様で、大きな問題が発生しない限りはこちらの手法を使用していくとのことです。
〆
問題発生時の解決手法は選択肢が多いほうが良いに決まっているので、Jake氏の報告は…嬉しい限り!また、rootlessJBのA12対応も期待ですね…!
Unc0verについても現在Saurik氏がA7 / A8 / A12デバイス向けにCydia Substrateの修正作業を行っている様なので、そちらの続報にも期待…!
コメント
Saurik神、脱獄は終わったとかほざいてたくせにしれっと戻ってきたな、まあありがたいことだけどw
coolstarに触発されたかね?代わりに冷奴が割となりを潜めてる(やることはやってるみたいだが)のが気になる…
Saurik氏のその発言は、元インタビューを読むと「iOS 10脱獄の様な不安定な脱獄を使うくらいなら…」という趣旨で、「終わった」という部分だけが独り歩きしてしまった感じもあるのですよね…。
いろんなアプローチがあるんですね、素晴らしい
saurikさん流石です
大御所がバックにいるウ○コバーが最強!
SANTAさん無理しなくても大丈夫ですよ…!
開発者の方達、みんな素晴らしい!