不同於以往的文章,由於這次的漏洞太可怕,所以我會盡量用對「沒有技術概念的人」也可以看得懂的方式說明。
首先,在幾個月前,國外的駭客發現了 checkm8 這個 bootrom 漏洞,而在最近,基於這個漏洞所實作的越獄工具 checkra1n 已經釋出。
我們都知道,手機、電腦的系統並非完美無缺,都會有一些大大小小的 bug,小的可能只是系統會當機耗電,嚴重的則是駭客可以輕鬆偷取你的資料。大部分的情況下,這些 bug、漏洞都可以透過系統更新來解決。但極少數的情況下,由於漏洞是出現在無法更新的「硬體」上,導致有這個漏洞的裝置無論如何系統更新都無法修正,而這次的 checkm8 就是屬於這樣的漏洞(bootrom exploit)。
checkm8 影響的裝置範圍非常廣大,從 iPhone 4s 到 iPhone X、iPhone 8 這一代完全都被影響,當然,在這期間發佈的所有 iPad、iPod touch、Apple TV、Apple Watch,甚至 HomePod 全部也包括在內。
簡單來說,iPhone 上唯一不受到影響的只有 iPhone XR、iPhone XS、iPhone 11、iPhone 11 Pro(以及未來出現的機種),iPad 只有 iPad Pro 12.9 吋(第三代)11 吋、iPad Air (第三代)、iPad mini(第五代)以及未來出的機種不受到影響(請注意,2019 年 9 月出的 iPad 第七代有此漏洞),iPod touch 全系列則目前全滅。
在 checkra1n 發佈之前,如果想要駭入別人的 iPhone,通常會需要誘導對方下載惡意軟體(類似釣魚手段),或者拿到對方手機之後,要解開密碼,再安裝惡意軟體進去。解開 iPhone 密碼的難度相信大家大概都有聽過,就連 FBI 想要破解恐怖攻擊份子的 iPhone 密碼都遭遇困難了,可見沒有相當技術能力是幾乎不可能達成的。而最嚴重的遠端執行惡意程式碼漏洞,有公司開價 200 萬美金徵求此類漏洞,可見其困難度以及稀缺程度根本無法想像。
然而 checkra1n 出現之後,大大降低了偷取資料的難度。經過實驗證明,透過 checkra1n (或者任何基於 checkm8 此漏洞開發的工具),可以在沒有任何密碼的情況下,只要可以接觸到對方手機,就可以直接用軟體列出手機內部的檔案,更甚者,可以植入惡意軟體。雖然惡意軟體在重開機之後就會無法執行,但對於只需要一次性偷取資料的情況來說,已經是綽綽有餘了。或者我們可以問自己,你的 iPhone 多久重新開機一次?我自己最高紀錄是 40 多天沒有重開過。
更重要的是,目前 checkra1n 這個破解工具雖然需要手機連接上電腦才可以執行,但是目前已經有人在開發硬體 dongle。未來只要攻擊者在你去上廁所,手機放在桌上的時候,有機會拿到你手機三分鐘,就可以插入一個像是隨身碟的裝置到你的 iPhone 上,就可以植入惡意軟體,或者獲得部分重要資訊。
因此在此呼籲所有各界重要人士、政府部門官員,如果你使用 iPhone,強烈建議儘早更換到 iPhone XR、iPhone XS、iPhone 11、iPhone 11 Pro 等沒有漏洞的硬體,iPod、iPad 也一併更換。
今天我借到了一台 iPad mini 2、一台 iPhone 7 Plus,跟一台 iPhone 6s,我對它們使用 checkra1n 工具觸發漏洞,然後嘗試在沒有密碼解鎖的情況下讀取裝置內的資料。結果實驗成功,兩台裝置都讓我可以直接看到使用者的檔案。
【更新】有太多人懷疑我的實驗過程了,剛剛重新實驗一次,步驟如下:
- iPhone 6s DFU 重刷 iOS 13.2.2
- 刷完之後不接電腦,設定好 iCloud、Find My iPhone、Touch ID、密碼
- 下載一個 App Store 軟體並且進去 App 做一些操作
- 手機接上電腦,不解鎖,進入 DFU 執行 checkra1n
- 破解完成之後存取手機,下指令發現可以看到照片列表,但無法讀取(所以沒破解密碼可以直接讀取是錯的,在此更正)
- 測試讀取 /var/mobile/Library/Preference 裡面內容,可以看到內容
- 測試重新掛載根目錄,可以掛載並寫入內容
在實驗中,我可以確定幾件事:
- 不需要密碼就可以獲得使用者檔案列表
- 裝置跟電腦之間不需要按「信任連線」一樣可以獲得資料
- Sandbox 跟使用者目錄雖無法直接看到內容,但可以透過根目錄寫入檔案,有機會植入惡意軟體
- 光可以看到使用者檔案列表,對於某些 App 來說已經有訊息洩漏可能(例如你有一個管理文件檔案的 App,然後你的檔名就包含機密資訊)
- 檔案保護僅在開機後,第一次輸入解鎖密碼前有效,攻擊者可以在攻擊後交還手機給使用者,等到他解鎖密碼後,等待下一次拿到手機的機會就可以真正直接免密碼讀取資料
▼ 如下圖,嘗試列出手機內的照片檔案成功(這是 iPhone 6s,有 Touch ID (SEP) 保護,未解鎖密碼)
最後再次強烈警告,這不是像是「追蹤器在有跟沒有之間」的唬爛嘴,而是經過實驗證明的結果。
尤其最近大選將近,無論哪一個陣營,請都保護好自己的資料安全。
補充一點,平常使用各種要插入 iPhone 的設備時,需要注意不要在手機上「信任」該裝置即可。因為要被攻擊,手機必須進入一個叫「DFU 模式」的特殊模式,一般我們正常使用是不可能觸發 DFU 模式的,所以你仍然可以用別人的充電器、保護殼之類的,只要不讓其他人可以操作你的手機本身就不必擔心漏洞本身。但是一旦被攻擊者可以摸到你的手機,操作 DFU 模式的話,不管是不是用原廠線或者任何配件,一樣會被攻擊。此外,一旦你點了「信任」充電裝置,代表允許改裝置讀取你的資料,那這樣無論你用哪一台手機,不管有沒有漏洞,你的資料都是在危險威脅下的。
如何保護自己的資料安全?
- 重要人士請更換你的手機到 iPhone XS 以上
- 一般使用者,如果離開手機一陣子回來發現突然變成「重新開機後必須解鎖密碼」的畫面,請直接重新開機,因有可能已經被破解,攻擊者在等待下一次機會。
- 弄丟手機的狀況,請確定所有 App 裡面儲存的檔案名稱裡面不包含敏感資訊,否則建議直接遠端清除資料。
- 如上所述,連接充電器或者各種裝置時,不要隨便按「信任」
PS. 因為 iPhone XS 修正了這個漏洞,所以肯定在 iPhone XS 研發階段,Apple 就知道這個問題了,但是在今年還是推出了有漏洞的 iPad 第七代跟 iPod touch 第七代,提姆廚子你好樣的。
感謝 Mowd、Jacob、Garynil 提供機器測試,感謝 littlesocks 給予這篇文章諸多建議,感謝 Birkhoff Lee 對於實驗過程的指正。若沒有他們的協助,我無法完成這項研究文章。