iPhone 史上最大資安危機,強烈呼籲受影響的各界重要人士立即更換你的手機

本文為原創研究,轉載歡迎,唯請附上本文原始連結或者註明本人為原作者。

不同於以往的文章,由於這次的漏洞太可怕,所以我會盡量用對「沒有技術概念的人」也可以看得懂的方式說明。

首先,在幾個月前,國外的駭客發現了 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 工具觸發漏洞,然後嘗試在沒有密碼解鎖的情況下讀取裝置內的資料。結果實驗成功,兩台裝置都讓我可以直接看到使用者的檔案。

【更新】有太多人懷疑我的實驗過程了,剛剛重新實驗一次,步驟如下:

  1. iPhone 6s DFU 重刷 iOS 13.2.2
  2. 刷完之後不接電腦,設定好 iCloud、Find My iPhone、Touch ID、密碼
  3. 下載一個 App Store 軟體並且進去 App 做一些操作
  4. 手機接上電腦,不解鎖,進入 DFU 執行 checkra1n
  5. 破解完成之後存取手機,下指令發現可以看到照片列表,但無法讀取(所以沒破解密碼可以直接讀取是錯的,在此更正)
  6. 測試讀取 /var/mobile/Library/Preference 裡面內容,可以看到內容
  7. 測試重新掛載根目錄,可以掛載並寫入內容

在實驗中,我可以確定幾件事:

  1. 不需要密碼就可以獲得使用者檔案列表
  2. 裝置跟電腦之間不需要按「信任連線」一樣可以獲得資料
  3. Sandbox 跟使用者目錄雖無法直接看到內容,但可以透過根目錄寫入檔案,有機會植入惡意軟體
  4. 光可以看到使用者檔案列表,對於某些 App 來說已經有訊息洩漏可能(例如你有一個管理文件檔案的 App,然後你的檔名就包含機密資訊)
  5. 檔案保護僅在開機後,第一次輸入解鎖密碼前有效,攻擊者可以在攻擊後交還手機給使用者,等到他解鎖密碼後,等待下一次拿到手機的機會就可以真正直接免密碼讀取資料

▼ 如下圖,嘗試列出手機內的照片檔案成功(這是 iPhone 6s,有 Touch ID (SEP) 保護,未解鎖密碼)

 

最後再次強烈警告,這不是像是「追蹤器在有跟沒有之間」的唬爛嘴,而是經過實驗證明的結果。

尤其最近大選將近,無論哪一個陣營,請都保護好自己的資料安全。

 

補充一點,平常使用各種要插入 iPhone 的設備時,需要注意不要在手機上「信任」該裝置即可。因為要被攻擊,手機必須進入一個叫「DFU 模式」的特殊模式,一般我們正常使用是不可能觸發 DFU 模式的,所以你仍然可以用別人的充電器、保護殼之類的,只要不讓其他人可以操作你的手機本身就不必擔心漏洞本身。但是一旦被攻擊者可以摸到你的手機,操作 DFU 模式的話,不管是不是用原廠線或者任何配件,一樣會被攻擊。此外,一旦你點了「信任」充電裝置,代表允許改裝置讀取你的資料,那這樣無論你用哪一台手機,不管有沒有漏洞,你的資料都是在危險威脅下的。

如何保護自己的資料安全?

  1. 重要人士請更換你的手機到 iPhone XS 以上
  2. 一般使用者,如果離開手機一陣子回來發現突然變成「重新開機後必須解鎖密碼」的畫面,請直接重新開機,因有可能已經被破解,攻擊者在等待下一次機會。
  3. 弄丟手機的狀況,請確定所有 App 裡面儲存的檔案名稱裡面不包含敏感資訊,否則建議直接遠端清除資料。
  4. 如上所述,連接充電器或者各種裝置時,不要隨便按「信任」

 

PS. 因為 iPhone XS 修正了這個漏洞,所以肯定在 iPhone XS 研發階段,Apple 就知道這個問題了,但是在今年還是推出了有漏洞的 iPad 第七代跟 iPod touch 第七代,提姆廚子你好樣的。

 

感謝 Mowd、Jacob、Garynil 提供機器測試,感謝 littlesocks 給予這篇文章諸多建議,感謝 Birkhoff Lee 對於實驗過程的指正。若沒有他們的協助,我無法完成這項研究文章。

23 則留言

  1. 「RK (@RK13572)」的個人頭像

    這個不同你們知曉的漏洞情況,我也不知道是否屬於漏洞或是水果電腦員工投共還是替共匪服務的K島駭客很行
    我情況是即時使用中,他們可以看到我銀幕似的
    這類情形沒張貼出來的紀錄還有幾件,總之很多
    多虧我有智障力場會讓敵對者犯蠢,否則永遠不知道吧

    提供給你們知道一下曉得更大的危險,看怎樣解決防範
    或者根本問題是要抓捕水果電腦從湯姆開始的人們了......

    https://twitter.com/RK13572/status/1191869108578476032

  2. 「Anonymous」的個人頭像
    Anonymous

    文章後來改成只看得到列表實際資料無法讀取,今天早上看到說沒密碼可以“讀取裝置內的資料“ 就令人感到強烈懷疑,現在所有iDevice都有全硬碟加密,加密金鑰完全不存在裝置上的任何一處,再沒有用戶提供密碼的情況下Secure Enclave也根本不可能有辦法產生可以解謎檔案的金鑰
    (另外,這個目前根據漏洞開發者自己的說法,這個漏洞也並不影響Secure Enclave)

    1. 「皮樂」的個人頭像
      皮樂

      對,後面發現實驗過程有缺陷所以修改了,但同時我也完成了後門植入指令
      問題是只要受害者不知道自己的手機已經被入侵了,只要等他自行輸入密碼就可以竊取資訊
      參考:https://hiraku.dev/2019/11/5076/

  3. 「Dao Hung Chang」的個人頭像
    Dao Hung Chang

    我開發過iOS繞過密碼軟體,版大流程我沒成功..分享實作測試
    1.DFU下 確實不需要密碼跟認證 就可以任意塞入checkra1n漏洞
    2.但checkra1n loader必須還要執行cydia install (這邊一定要解鎖螢幕並且執行)
    3.安裝好cydia後預設就裝好SSH Server
    4 Exploit 要能讓2,3 流程不需要解鎖螢幕跟驗證才有機會做版大的完美攻擊.
    5.此時可以從iOS Device Wifi進入SSH ,有root權限.
    6.進入Lockdown跟修改AFC2權限 應該就可以任人拉資料了
    7.沒讓ipad跟pair電腦驗證我無法用iproxy 通訊.
    again 這跟Secure Enclave無關...
    這就是走SSH拉資料

    1. 「皮樂」的個人頭像
      皮樂

      無論如何,可以讓受害者傻傻的以為手機沒被入侵,讓他自己輸入密碼就可以偷資料了
      參考:https://hiraku.dev/2019/11/5076/

    2. 「皮樂」的個人頭像
      皮樂

      實驗證明 afc2 權限這條路走不通。因為 afc2 是讓你接電腦拉資料的,但是這時候需要「信任」連線了

  4. 「Cheng David」的個人頭像
    Cheng David

    實作malloc的疏忽造成的

    https://github.com/axi0mX/alloc8

  5. 「Dao Hung Chang」的個人頭像
    Dao Hung Chang

    我的測試過程 晚上會再測試一次
    https://www.facebook.com/OSSGeekLab/posts/2519028244801114

  6. 「123GODSPEED」的個人頭像
    123GODSPEED

    這則新聞很早圈內就在關注了

    https://www.ithome.com.tw/news/133330
    2019-09-30發表
    一名代號為Axi0mX的安全研究人員上周對外宣布,他在蘋果所打造的晶片組上發現了Bootrom漏洞,將允許駭客取得iOS裝置的控制權,該漏洞波及A5到A11的晶片組,等於是從iPhone 4S到iPhone X都受到影響,且只有變更硬體才能修補,意謂著它將能形成永久的越獄行為。

    被蘋果稱為SecureROM的Bootrom為iOS裝置上的安全啟動程式,它是唯讀的,每當開啟iOS裝置時,處理器第一個執行的就是Bootrom。Bootrom是在晶片製造過程中就被嵌入的,它含有蘋果的根權限,得以用來驗證下一階段所載入的內容。

    1. 「皮樂」的個人頭像
      皮樂

      之前我也就知道這個新聞了。

      只是以往非永久性(untethered)越獄的 bootrom 漏洞有兩個問題:

      1. 只要重開機之後手機會無法正常啟動,必須接電腦越獄才可以正常開機,這使得被入侵的人更容易發現手機已經被攻擊
      2. 以往越獄之後,必須在 Cydia 裡面安裝東西才可以對手機跟電腦進行連線,但 checkra1n 預設就可以連線

      這兩點跟以往不同,使得之前有點低估這個漏洞的影響了
      講白一點,圈內如果大家早知道這個多危險,怎麼沒有人出來實驗給大家示範...就是因為有些東西要等到越獄工具實際出來才可以測試。

  7. 「Dao Hung Chang」的個人頭像
    Dao Hung Chang

    免密碼跟驗證 我已經可以撈出Line chat log了.. 晚點測試FB .
    Wechat有一個加密鑰 要先拉出他的id才可以解.

    1. 「皮樂」的個人頭像
      皮樂

      哇,等你研究成功再來交流一下...因為繞過讀取我目前還是想不到可以怎麼玩

  8. 「origamithinker」的個人頭像

    iPhone DFU 重刷
    (讓系統強制可以升降級,但需要依賴 iTunes 來做回復動作,才能夠進行iOS系統的重灌。簡單來說就是可以當成是電腦再重灌作業系統一樣)
    => 這會導致設備內資料會全部遺失
    並無法像原文說可讀取資料

    就算有備份 還原密碼還會在
    解不開密碼就是解不開

    本文提到讀取資料的辦法
    是已經成功DFU後 使用者陸續操作 在手機內的資料才有可能被存取
    而非DFU之前手機內保存的資料

    1. 「皮樂」的個人頭像
      皮樂

      DFU 不代表重刷喔,DFU 可以進行降級重刷,但也是此漏洞(跟越獄)的必須條件。
      DFU 之後進行越獄跟惡意程式注入,使用者如果有注意到只會以為手機重開機了而已,若沒注意到就直接輸入密碼就會被盜了

  9. 「123GODSPEED」的個人頭像
    123GODSPEED

    感謝說明喔

    checkra1n越獄工具實際出來才可以測試。
    這兩點改變很重要

    只是以往非永久性(untethered)越獄的 bootrom 漏洞有兩個問題:
    只要重開機之後手機會無法正常啟動,必須接電腦越獄才可以正常開機,這使得被入侵的人更容易發現手機已經被攻擊
    以往越獄之後,必須在 Cydia 裡面安裝東西才可以對手機跟電腦進行連線,但 checkra1n 預設就可以連線

  10. […] 上篇文章提到,透過 checkra1n,攻擊者將可以輕鬆植入間諜軟體後門。本人基於實驗精神,並且為了解答大部分的人的疑惑:「如何在沒有密碼的情況下可以進行資料盜取」,本文將簡單用 shell script 做一個自動發送照片的後門指令。 […]

  11. 「YaoCC」的個人頭像
    YaoCC

    那這種狀況有無可能讓後門程式在使用cydia加入不安全的軟體源或是安裝不安全軟體源的插件一起被安裝到手機裡?

    1. 「Hiraku」的個人頭像
      Hiraku

      可以,替換越獄工具裡面預先安裝的軟體為惡意軟體即可,例如原本 checkra1n 可以安裝 Cydia,替換成有後門版本的 Cydia 並隨越獄安裝。

  12. 「YaoCC」的個人頭像
    YaoCC

    這樣也就是說我從Cydia安裝的插件也可能含有後門程式~所以Cydia所安裝的東西也要小心~

    1. 「Hiraku」的個人頭像
      Hiraku

      本來就是,我舉個例子,我寫的 iKeywi 就是一個鍵盤 tweak
      我要的話我在裡面加料把你的輸入內容傳到我的伺服器也是可以的
      當然我沒有這樣做...

發佈留言