1999年,苹果发布了Mac OS 9的一系列新功能,称其为“有史以来最好的互联网操作系统”。这个想法是为了释放1998年发布的绿松石塑料iMac G3-Internet Mac!的全部潜力。但是12岁的Joshua Hill没有iMac。为了利用他父母90年代中期Mac Performa的所有新连接,他需要一个调制解调器,通过其中一个粗巧的“串行”端口插入计算机。因此,他自然地将他的全息Han Solo交易卡换成了一个56k调制解调器的朋友并且开始四处寻找。二十年后,他童年的迷恋使他发现了这些年来苹果操作系统中出现的调制解调器配置错误。苹果最终在4月修补了它。

Hill现在是一名漏洞研究员,他将于周日在摩纳哥举行的Objective by the Sea Mac安全会议上展示这个有20年历史的漏洞。该漏洞可能被攻击者利用来获得对任何Mac的持久远程root访问,这意味着完全访问和控制。希尔说,这并不像听起来那么糟糕。他开发的特定漏洞利用字符串仅适用于OS X和macOS的某些代码,而且自2016年的macOS Sierra以来,Apple已经添加了保护措施,使得在实践中利用这个漏洞非常困难(尽管在技术上仍然不可能)。由于Apple操作系统的使用率一直很高,因此没有大量真正的旧Mac软件可供使用。

苹果持续20年的系统安全漏洞,终于在4月修补完成-而后网

 

“这不是一个可怕的错误,”移动防火墙制造商Guardian的联合创始人希尔说。“但这是一个非常有趣的错误。当我还是一个非常小的孩子时,我实际上一直在玩这些东西 – 我12岁时的第一次黑客攻击。我基本上使用了一些旧的技巧找出哪些地方容易受到攻击。“

苹果没有回复关于希尔的调查结果或该错误的历史性质的评论请求。

攻击的原始版本只是利用Apple过去提供的称为远程访问的服务。基本上,您可以通过电话或其他PC调用计算机,并远程控制它,甚至无需输入用户名或密码。90年代。希尔和一位朋友(将调制解调器交换为Han Solo交易卡的人)几乎每天都会去彼此的家,因为他们是肯塔基州列克星敦学校里唯一两个有Mac电脑的孩子。希尔意识到他可以使用远程访问秘密连接他们的两台计算机,并且可以从远处打电话到他朋友的电脑上,用他的话说,“很有趣”。

当他的朋友在洗澡时,希尔有机会进行访问攻击。第二天,他假装病了,所以他可以呆在家里,而他的朋友在学校,父母都在工作。“我拨通了,我在他写的小说中加了几个补充,”希尔笑着说。

因此构思的远程访问早已从MacOS中消失了。但希尔总是记得他的第一次黑客攻击,并且在2017年,在他为《卫报》进行的研究macOS和iOS的VPN协议时,他发现了一个古老的漏洞,可以复制类似的东西。像智能手机这样的设备具有内置的调制解调器,用于在计算机之间(主要是通过互联网)发送和接收数据,并且它们通常不被编程为与其他调制解调器兼容。但PC的设计更具可定制性,特别是在互联网发展初期,重要的是它们能够与来自所有不同制造商的调制解调器进行互操作,这些制造商可能基本上使用不同的语言。Hill发现这些旧的调制解调器配置仍然是Mac网络工具,

该漏洞利用苹果公司为称为CCLEngine的调制解调器创建的一种通用翻译器,它有助于解释和编排两台计算机之间的数据链接。Hill意识到他可以远程绕过CCLEngine的身份验证要求,使用称为缓冲区溢出的常见攻击类型启动计算机之间的远程连接。设置软件是为了将额外的数据保存在一种称为缓冲区的握笔中。因此,黑客策略性地溢出了这个缓冲区,使得数据“溢出”到内存的其他部分 – 通常会在此过程中为攻击者提供更多系统控制。

从那里,Hill可以访问具有在系统上读取,写入和执行代码的权限的通信套接字。“这是非常糟糕的写作,”希尔说。他意识到攻击者可以向套接字发送一个特制的数据包,这会诱使它与根系统访问建立远程连接而不是普通用户。最后,希尔找到了一种方法,通过将自动网络配置工具设置为每10秒重新启动并确认远程连接仍处于活动状态来持续保持此基本控制。通过这种方式,即使攻击者的根通道崩溃或失败,它也会很快重新建立。

希尔表示,这种设置持久访问的能力可能是这次攻击最令人难以置信的事情。这可能是因为系统监视疏忽 – 当配置文件失败并重新启动它时不会生成崩溃日志。“这是非常糟糕的编程习惯,但这是非常非常古老的代码,”希尔说。“我认为这就是为什么它从来没有被人看到过,因为你无法进入并看到崩溃。”

现在,苹果已经修补了这个漏洞,希尔说对他而言最重要的是利用他对这个漏洞的调查作为孩子和早期职业猎人的一个例子,他们正在寻找发现新问题的策略。“我喜欢漏洞,”他说。“每当我找到一个新的,你感觉就像几周前你在地板上发现了一块拼图。许多人问我如何找到漏洞。我想向他们展示。”