安全研究人员发布了隐藏重启过程的 iOS 欺骗的概念验证代码。 这使用户更难重启手机,从而使传播者将恶意软件保留在设备上。
该代码由 ZecOps 创建,它在 GitHub 上发布了概念验证。 它是一种被研究人员称为 NoReboot 的木马。 它是一个隐藏 iPhone 重启的工具。 研究人员表示,这对恶意软件分发者来说很有趣,因为它减少了对持久性的需求。
许多类型的恶意软件在重启后会从手机中消失; 持久性恶意软件更难创建,因此更罕见且更有价值。 研究人员正在欺骗重启过程,使其看起来像是手机重启甚至关闭,但实际上仍在继续工作。 这显然是一种恶搞,而不是对系统的操纵。 因此,这不是苹果能解决的 iOS 问题。
研究人员表示,他们可以将代码注入三个重启时使用的守护进程。 它们是 IncallService、SpringBoard,最后是 Backboardd。 第一个是用户尝试使用电源和音量按钮重新启动 iPhone 时看到的滑块。 Springboard 是 iOS 用户界面进程。 通过在那里发送代码,木马可以暂时禁用 Springboard。 结果,用户不能再在屏幕上提供输入。
最后,解决了 Backboardd。 后者对于恶搞不一定是必需的,但用于让用户更早地释放电源按钮。 如果他们持有它的时间过长,手机仍然会重新启动,并且欺骗将不再起作用。 这就是为什么研究人员操纵 Backboard 以便旋转轮更快地指示重新启动过程已经开始。 同时,可以重新加载 Springboard 以使其看起来所有进程都已重新启动。
研究人员制作了一段视频,展示了该过程的工作原理。 在此过程中,设备的摄像头继续工作。 用户当然可以通过其他方式继续重启手机,所以这并不是万无一失的方法。