安全补丁的交错推出不好吗?

信息安全 安卓 脆弱性 谷歌 披露 打补丁
2021-08-12 09:41:10

许多 Android 设备,包括 Google Nexus 系列,现在都通过 OTA 更新每月接收安全补丁,并附有Android 安全公告但是,这些更新通常以所谓的“交错推出”的方式发布,随着时间的推移,更新可用于更多设备(相同型号),而不是立即可供所有用户使用。

我了解,对于功能更新,逐步推出允许在所有用户收到新软件之前修复错误或错误。但是,对于安全补丁来说,即使他们的设备型号的补丁已经可用,但对于尚未收到 OTA 的设备的用户来说,交错发布不是让黑帽黑客更容易利用现在公开的漏洞吗?

例如,我有一部 Google Nexus 手机,它应该是第一批接收所有 Android 更新的手机。最新的 Android 安全更新于 2016 年 5 月 4 日公开发布,连同其源代码;现在已经是 2016 年 5 月 16 日,即使我单击“检查更新”按钮,我的 Nexus 设备仍然告诉我“系统是最新的”。当然,我可以手动下载最新的固件镜像,然后手动刷机;但是,一旦公开,不应该尽快将安全更新提供给同一型号的所有设备吗?

编辑:感谢您非常周到的回复。虽然这个问题旨在广泛适用于不同的设备,但我特别担心的是,一旦已经为该特定型号开发了补丁,就会有意“分阶段推出”相同型号的相同设备。例如,Google Nexus 6P 的 2016 年 5 月安全更新已于本月初发布,但截至 5 月 16 日,并非所有 Nexus 6P 设备都收到了 OTA 更新。谷歌每个月都会为 Nexus 设备发布安全补丁,而且每个月都有一些设备比同型号的其他设备晚几周收到补丁。

3个回答

很好的问题。

是的,您的理解是正确的,以及您背后的理由。

新功能的惊人推出通常很有意义。

安全补丁的惊人推出很少是一个好主意。正如您所指出的,这为利用漏洞提供了更多机会。也许更重要的是,这些补丁可以被快速逆向工程以快速开发漏洞。

微软经常在每月的第二个星期二(有时在第四个星期二)公开发布他们的补丁。这通常被称为“补丁星期二”。我们将第二天称为“利用星期三”是有原因的。

不幸的是,Android 生态系统的很大一部分还没有从这种现象中吸取教训。

更新:
一些知识渊博的人指出了对互联网基础设施的潜在影响,包括担心整个互联网超载。互联网流量巨大;安全补丁,即使是非常大的补丁,也只是沧海一粟。微软每个月在同一天向数亿用户发布大补丁,他们还没有“崩溃互联网”。Netflix、YouTube 和 Twitch 每天向数百万人流式传输视频,即使它们的综合流量,它们还没有“让互联网崩溃”。

另一方面,Android 补丁主要(但不限于)交付给无线用户。有任何潜在问题的解决方案:

  1. 为用户提供何时下载补丁的选择。这提供了许多好处:
    • 不会中断用户的工作流程
    • 由于人为交互和决策可变性,造成交通错峰
    • 允许用户等到他们连接到更高带宽的系统(可能在工作、大学、家庭 WiFi)
    • 允许用户自行承担风险,等待并查看其他人是否报告补丁的问题
  2. 在向已知基础设施有限且可能受到影响的特定区域分发补丁时,请在最短的天数内错开补丁,以避免基础设施过载。

具体而言,谷歌 Nexus 6P 安全更新没有及时发布给所有用户,这只是谷歌的一个糟糕选择,不符合客户的最佳利益。与大量的互联网流量相比,这些补丁微不足道。

最重要的是,该设备在 Android 生态系统中相对罕见。这进一步支持了一次向所有客户发布补丁不会损害任何互联网提供商的说法。

甚至整个Google Nexus 产品线也只占 Android 世界的一小部分。然而,作为一条产品线,可能会对特定地区的基础设施产生一点影响。因此,以下方法与上述建议相结合,将最大限度地减少对基础设施的影响,同时最大限度地增加补丁分发:

  1. 立即发布零日漏洞利用补丁
  2. 每个月不同的日子发布预定的更新,每个产品的不同日子
  3. 如果产品具有可合理影响某个地区的基础设施的显着市场份额,则在所需的最少天数内错开推出,以避免该地区的基础设施过载

最后,根据你的说法,距离谷歌最初为谷歌 Nexus 6P 发布这些补丁已经两个多星期了。这足以知道他们的补丁是否正在造成严重破坏。我没有发现来自 Google 的文档承认或为一堆糟糕的补丁道歉,也没有发现任何严重问题的轶事证据。

为了检测有缺陷的补丁并减少流量负载,人们可能会认为在几天内错开补丁可能是合理的。但是从信息安全的角度来看,让客户几周不打补丁是不合理的、不必要的,而且不是一个有效的策略。

总之,根据上述陈述以及您关于 Google 尚未为您的设备推出安全补丁的陈述,我的结论是,Google 没有向所有受影响的 Google Nexus 6P 客户提供安全补丁,这是一个错误的决定,并且正在损害他们的客户。

但是,对于安全补丁来说,即使他们的设备型号的补丁已经可用,但对于尚未收到 OTA 的设备的用户来说,交错发布不是让黑帽黑客更容易利用现在公开的漏洞吗?

比什么容易?,是重要的问题。是的,在推出更新的几天内,黑客会更容易一些。但是,如果根本没有发送更新,那么对于黑客来说将更加困难。

交错发布使网络保持运行,服务器运行,1 和 0 在每个人都获得更新的同时流动。如果那里的每台 Android 设备都尝试一次全部更新,那么您最终会遇到大量流量访问一个很小的资源。

另一种选择是仅在人们“扫描”它时才进行更新。这也太可怕了。

因此,虽然交错方法不是绝对最好的,但它在资源方面是最好的。

请记住,为了利用此窗口,您需要在补丁发布和它(设备)获得更新之间找到一个设备。

还要记住,Android 是开源的。编写仍然可行的漏洞利用比您知道将在下一个版本中出现的漏洞更有利可图(因为您可以看到代码)。

所以,在夏天:

  • 无论如何,在安全推送开始之前,修复都不是秘密。
  • 总比没有更新好
  • 这比崩溃移动网络或更新服务器要好。
  • 机会之窗是这样的,很少有人应该受到影响,他们还不是一个积极的目标。

我不会说我是这方面的专家,所以我的观点可能不成立。

我很快在维基百科上阅读

在智能手机等现代移动设备上,无线更新可能只是指使用操作系统内置的功能通过 Wi-Fi 或移动宽带分发的软件更新

从这句话中,我们可能会注意到更新是通过 WiFi 或移动宽带分发的,它们并不总是可以同时可用,例如。如果我住在没有 WiFi 模块的地方,或者信号强度低,那么我可能会错过发送更新的那一刻,然后过一会儿就会下载它。


由内置管理器执行的更新

某些内置更新程序可能具有设置,允许您自定义何时检查和下载 OTA 更新。您的设置可以设置为在设备打开时检查更新,每天两次,每天,每周,每月甚至手动。如果某些设备具有不同的设置,那么它们可能会在不同的时间收到更新。


生产者进行的更新

在这种情况下,更新由固件生产商进行,在这种情况下是谷歌。如前所述,您可能无法收到新更新可用的信息,因为例如电池没电、没有信号等
。更新往往是在用户不使用手机时进行的,因此不会阻止用户做他/她此刻正在做的任何事情,所以更新可能会在晚上完成。


两种相同手机型号之间的硬件差异

(注意:这一点可能不适用于某些设备,包括您的设备,因为某些设备在第一个版本和最终版本中可能完全相同)

有时即使是相同型号的设备也可能略有不同。比如一开始xbox 360没有HDMI输出,但过了一段时间又加了,这可能还需要制作一些其他的软件。即使这两种类型的 xbox 不同,型号名称仍然相同。这使得一些具有相同型号名称的设备内部实际上并不相同。

eg 之间有一个主要区别。Windows 10 64 位和安卓。不同之处在于 64 位版本的 windows 将在支持long mode(64 位模式)的 CPU 上运行,并且其中的指令集在 AMD 和 Intel 中是相同的。android的问题是不同的设备可能有不同的处理器和不同的指令集,这导致手机甚至可能需要完全不同的代码。这导致不同设备的更新可能在不同的时间出现。

例如,如果您的 WiFi 卡很少。假设您为其中之一安装了驱动程序。很可能其他卡无法使用此驱动程序运行,因此您需要安装不同的驱动程序,这些驱动程序肯定会有不同的代码。现在,如果这款 WiFi 卡的生产商会在所有这些驱动程序中发现错误,那么只能一个一个地修复它,或者让很多人同时在不同的版本上工作。然而,即使多人同时处理多个文件,一个人也可能比另一个人更早完成修复。在这种情况下,更新将比其他更新更快地发布。

请注意,生产者也可以等待每个版本的代码被修复,然后同时在所有设备上进行更新,但即使在一个设备上更新错误也会减少容易受到此错误影响的人数。

另请注意,Windows 中的驱动程序是由您安装的,很可能使用.exe安装程序。在 android 中,所有这些驱动程序都是内置的,正如我之前提到的,如果您需要为不同的手机使用不同版本的驱动程序,那么您将花费一些时间来修复所有这些驱动程序。我猜谷歌使用更新的方式是他们在修复后尽快更新手机。


您还提到,即使您手动单击“检查更新”按钮,您的设备也会显示“系统是最新的”。这可能是由于更新服务不可用导致的,这与生产者进行的更新非常相似。