如何检测 Apple/Google/等。是否修改了通过其 App Store 分发的第三方应用程序?

信息安全 应用安全 哈希 开源
2021-08-27 08:15:19

是否有任何现实的方法来验证 Apple 或任何人没有篡改通过其 App Store 分发的第三方应用程序?

例如,您可能有一个开源应用程序,其开发人员位于多个司法管辖区,他们通过为 App Store 运营商分发的每个版本发布 SHA 进行合作。

是否有人为通过 App Store 分发的任何 ssh 客户端、非记录消息传递等客户端执行此操作?

是否有任何 App Store 已知这是不可能的,即他们经常修改源而不向原作者透露更改?

当然也有像Covert Browser这样的闭源程序,除了作者之外,无法对其进行验证。

3个回答

如果他们愿意,应用程序的开发人员可以通过自己下载和安装应用程序并确认他们获得的内容与他们上传的内容相匹配来进行检查。

市场的随机用户无法自行检查他们下载的应用程序是否未被应用市场修改。但是,如果开发人员在自己的应用程序中检测到这种不当行为,我们可能会指望他们公开抱怨。我们没有看到任何此类公众投诉的事实表明它可能不存在或相对罕见;很难想象谷歌或苹果会大规模这样做,因为有人很容易发现这一点并传播新闻。

请注意,在主要的应用市场(如 Android Market 和 iPhone App STore)中,应用市场和用户手机之间的连接是使用 SSL 保护的,因此窃听者和中间人无法修改应用程序。在途中。所以我们必须信任的只有谷歌和苹果。

所以,从大局来看,这种威胁可能不值得担心太多。谷歌和苹果有足够的动机不篡改通过他们的商店提供的应用程序。您应该更多地担心开发人员以这种方式制作的流氓、低俗或令人讨厌的应用程序的威胁。

如果苹果是故事的反派,那么他们不需要修改应用程序;他们可以修改操作系统,然后在从商店下载应用程序时动态修补应用程序。换句话说,Apple 是您的朋友(或者更恰当地说,是您的上帝),因为您别无选择,只能信任他们。

(当然,除非您决定不使用任何 Apple 产品。您仍然可以选择。)

是否有任何现实的方法来验证 Apple 或任何人没有篡改通过其 App Store 分发的第三方应用程序?

我对 Apple Store 及其机制、Windows 商店或任何 Ubuntu 商店一无所知,但这不就是代码签名的情况吗?

如果 Apple/Google/NextBigCompany 没有设法找到可用的哈希冲突,并且您的私钥受到相当好的保护,这应该可以实现安全分发。毕竟,这是验证码方案的重点

正如 Thomas 指出的那样,不能保证一旦二进制文件加载到内存中,公司就不能修改它。事实上,在 Windows 操作系统的情况下,他们实际上是故意这样做的(为了让你的二进制工作,不要惊慌,这不是坏事 - 请参阅 IAT 修复程序)。但是你必须在某个时候决定信任他们。

如果 Apple 等公司不允许使用代码签名的应用程序,他们非常应该这样做。