NoReboot惡意軟件讓iPhone假裝關(guān)機(jī)
據(jù)Security Affairs消息,Zecops公司的安全研究人員發(fā)明了一種名為NoReboot新型的惡意軟件,它可以讓iPhone假關(guān)機(jī)。

該技術(shù)直接模擬了用戶iPhone設(shè)備關(guān)機(jī)時(shí)的情景,專家表示,一般用戶不會(huì)很認(rèn)真的區(qū)分是真關(guān)機(jī)還是“假關(guān)機(jī)”。
“NoReboot”的工作原理是將惡意代碼注入 InCallService、SpringBoard 和 backboardd 這三個(gè)后臺(tái)進(jìn)程,它們負(fù)責(zé) iPhone 的重新啟動(dòng)過程。一旦攻擊者劫持了重啟過程,iPhone 在用戶看來就像關(guān)閉了一樣,但卻完全清醒并連接到互聯(lián)網(wǎng)。
“假關(guān)機(jī)”后,攻擊者可悄悄遠(yuǎn)程訪問用戶手機(jī)的麥克風(fēng)和攝像頭,并在iPhone恢復(fù)開機(jī)狀態(tài)時(shí)一直進(jìn)行。這意味著即便用戶重啟手機(jī)也不會(huì)影響該惡意軟件的運(yùn)行。
Zecops 公司發(fā)布了該技術(shù)的相關(guān)分析報(bào)告,并指出他們通過掛鉤Objective-C的方法 [FBSSystemService shutdownWithOptions:]來劫持信號(hào)。這樣它就不會(huì)向SpringBoard 發(fā)送關(guān)閉信號(hào),而是會(huì)通知 SpringBoard 和 backboardd 觸發(fā)注入的代碼。
在backboardd中,研究人員會(huì)隱藏旋轉(zhuǎn)動(dòng)畫,只要SpringBoard停止運(yùn)行就會(huì)自動(dòng)出現(xiàn)[BKSDefaults localDefaults]setHideAppleLogoOnLaunch:1]。然后,他們會(huì)讓SpringBoard 退出并阻止它再次啟動(dòng)。由于SpringBoard負(fù)責(zé)響應(yīng)用戶的操作和行為,一旦它不再反應(yīng),iPhone手機(jī)就表現(xiàn)的跟關(guān)機(jī)了一樣。
具體過程如下圖所示。
當(dāng)用戶試圖按音量鍵和關(guān)機(jī)鍵來關(guān)閉設(shè)備時(shí),攻擊者可以將其代碼注入上述組件的進(jìn)程中,并禁用任何物理反饋,以此模擬iPhone關(guān)機(jī)的情形。
禁用的物理反饋如下:
- 來電鈴聲和信息通知
- 觸摸反饋(3D觸摸)
- 震動(dòng)
- 屏幕
- 相機(jī)指示燈
安全專家表示,此時(shí)所有的物理反饋都已經(jīng)被禁用,看起來就像已經(jīng)關(guān)機(jī)了,但是手機(jī)的絕大部分功能依舊完整,且可以連接到互聯(lián)網(wǎng),攻擊者可借此監(jiān)控用戶。目前該技術(shù)已經(jīng)進(jìn)行了PoC測(cè)試,安全專家公布了PoC測(cè)試視頻,詳細(xì)展示了攻擊者是如何通過攝像頭和麥克風(fēng)監(jiān)視受害者。
參考來源:https://securityaffairs.co/wordpress/126358/hacking/noreboot-persistence-iphone.html