軟硬兼施找出F00D金鑰
F00D是PlayStation Vita硬體中的資安協同處理器,在邏輯上代表的Level 0資安鏈(Security Chain),也代表著最高系統存取權限。
相較於先前的進度為破解F00D Kernel,以及用於保護遊戲與韌體的Content Key,這次被攻破的F00D Loader則包含用來保護Content Key的Meta Key。簡單地說,取得F00D Loader權限後,基本上就能在系統中「為所欲為」。
Davee與Yifan Lu在35C3的演說詳細說明了如何透過硬體與軟體的方式,在系統中找出F00D金鑰。
Davee以軟體操作的方式,透過比對F00D模組與SRAM記憶體中的16進位資料,成功找出明碼格式的資安核心(Security Kernel)。
而Yifan Lu則是從硬體層面下手,透過電壓、重開機、電磁波干擾等硬體方式觸發軟體Bug,而他選擇最容易的控制電壓為操作變因,在特製除錯硬體平台與自動化腳本的協助下,最終觸發Bootloader讀取動作,並成功讀出BootROM。
完全解放主機能力
雖然BootROM中沒有包含任何金鑰,但是Yifan Lu仍然在其他地方找到了Bootloader金鑰(即F00D金鑰),雖然基於法規考量他不便公開,但透露金鑰是重覆的位元組,並貼出充滿暗示的照片,讓人不難猜出這支PlayStation Vita的保護機制最重要的金鑰是什麼。
Bootloader金鑰能夠解開系統中所有Content Key,不但讓使用者可以完全控制系統,也提供開發者能夠深入瞭解系統運作的管道,有利於開發各種程式、非官方韌體。
目前Vita Linux Loader的開發者Xerpi,就對記憶卡驗證的F00D模組進行逆向工程,技術上可以做出讀取PlayStation Vita專用記憶卡的讀卡機,以利直接使用電腦存取記憶卡中的資料。
另一方面,由於所有先前推出的應用程式都能被解密,因此我們也能讓已經停止服務或是下架的程式復活,例如PSM Dev Assistant、PSM Dev For Unity等程式就能在新版韌體上安裝、使用。
▲從影片中可以看到在3.68版韌體中執行早就停止服務的PSM Dev Assistant。
先前開發者TheFlow已承諾會在今年內推出3.69版韌體適用的Hankaku,而如今PlayStation Vita已經門戶大開,說不定我們在不久之後,就能迎接使用更方便的非官方韌體,免除Hankaku每次開機都需要手動載入的困擾。
想進一步瞭解F00D資訊的讀者,可觀賞35C3大會演說完整影片。
加入電腦王Facebook粉絲團