HENkaku Enso のソースコードを公開していました。
https://github.com/henkaku/enso
Ensoが正式リリースされた際にも公式サイトの一番下に
「We are currently polishing up the source and it will be released soon.」
とありましたが、ついにそのソースコードが公開されました。
また、Yifan Lu氏がEnsoに関する記事を公開していました。
HENkaku Ensō bootloader hack for Vita
記事の日付は2017年7月31日になっていますが、非公開にされていたようで公開されたのは本日(2018年2月11日)です。
記事にざっと目を通したのでざっと内容を書いておきます。
moleculeチームがVitaで最初に見つけた脆弱性の1つはブートローダーに存在するバッファオーバーフローを引き起こせる物で、
それを利用するためにはVitaの内部ストレージのMBRに書き込まなければならず、そのためにカーネルの権限が必要なのだとか。
VitaのNAND(eMMC)は各Vitaがそれぞれ持つ独自の鍵で暗号化されているためハードウェアMODでの脆弱性の利用は出来ないらしく、
MBRに書き込むためのKernel exploit(HENkaku)を発展させた物が現在のHENkaku Ensoのようです。
ブートローダーに存在する脆弱性自体は3.61~3.65にも存在するらしいのですが、その利用にはMBRへの書き込みが必要であり、
そのための新たなKernel exploit(HENkaku)が必要です。しかしYifan氏が記事を書いた時点ではソニーはFW3.67をリリースしておらず、
その時点での最新FWが3.65であった事から、moleculeチームのメンバーは全員3.61以上のハックに興味が無かったそうです。
この部分を編集しないで記事を公開されている(最新が3.65だという認識で記事書いてある)ので今現在チームにやる気があるかどうかは不明です。
Yifan氏が言うには、HENkakuがあるためmoleculeチーム以外の人間もカーネルコードのダンプや解析が可能で、
moleculeチーム以外のやる気のある人間が新しいハックを見つけるかもしれない、との事です。
ちなみにこれに関しては「期待しない方が良い」と書かれています。
3.65のkernel exploitがあれば非セキュアな3.65のブートローダーをダンプし、そこからオフセットを探してexploitを作り直し、
"3.65+HEnkaku Enso" な3.60用のカスタムされたアップデータも作成可能、とかなり理想に近い事が書いてあります。
ブートローダーのダンプ以外の方法としてはオフセットを推測するという事が書いてあり、それが可能なのか心底疑問ですが、
3.61~3.65はマイナーアップデートだったと期待させるような事を書かれています。
Yifan氏としては推測するよりkernel exploitとなる脆弱性を探す事の方が簡単だと思っているようです。
ここまで書いた後にEnsoの設計の事が書かれてあり、その次にβテストの事が書かれています。
設計に関しては私は割愛します。詳しく知りたい方はYifan氏の記事を読んでください。
βテストの募集が開始した時にこのブログでも記事書きました。
恒久的なHENkaku 「HENkaku Ensō」のベータテスターの募集が開始
βテストには160人が申し込んだそうで、1日10人x10日 で約100人をテストに参加させたそうです。
160ってなんか少ない気がしますが、それが本当なら多分私は外れた60分の1です。
テスター向けにEnsoのインストールやアンインストール、復旧について書いたガイドを公開したそうなのですが、
その通りにやった人はテスターに選ばれた100人のうち67人だったそうです。
Yifan氏は67人のテスターがテストのために使用していたVitaをグラフにされたようです。

また、67人のテスターの中でVitaをブリックさせたのは最初にテスターとなった2人だけのようで、
その問題を修正してからはテスターの中からVitaがブリックした人は出なかったそうです。
特に致命的では無かったもののEnsoのインストールに失敗した2人のテスターもいたようで、
ブリックの2人とインストール失敗の2人を合わせて6%としたグラフも作成されたようです。

テスト中は全然問題が報告されなかったそうですが、以下のようにフィードバックによって対応した事もあるのだとか。
・HEkakuR9でid.datに書かれたFW情報を無視
・HENkakuR10でHENkakuのファイルを全てur0に移動
Ensoの要なのであろうブートローダーの脆弱性はFW3.65まであると。
FW3.61~FW3.65のVitaのユーザーはそのまま待機した方が良いかもしれませんね。
もちろんHENkakuを導入するための、もしくは同等のkernel exploitとなる脆弱性が必要ですが。
それが見つかるとは限りませんが、ここに来て3.67の存在を追記せずに記事公開。
これはなんとなく3.65以下をキープした方が良い気がします。
ちなみに、Yifan氏としては公開した記事の内容を半分だとし、xyz氏(@pomfpomfpomf3)がもう半分を書くとされています。
My half of the HENkaku Ensō writeup: https://t.co/s5dbop1sr7 @pomfpomfpomf3 will write the other half.
— Yifan (@yifanlu) 2018年2月10日