为什么通过 Google Play 分发比分发 APK 更安全?

信息安全 安卓 谷歌 谷歌应用
2021-09-08 09:30:26

为什么这么多 Android 开发人员使用 Google Play 来分发应用程序,而不是(或除此之外)简单地将 APK 连同校验和或签名一起放在他们的安全网站上?

4个回答

最佳安全实践之一是让您的软件保持最新。使用 Google Play 商店,您可以将已安装的应用程序设置为自动更新(如果默认情况下尚未设置)。

为了使手动下载的应用程序保持最新,您必须在其开发人员每次发布新版本时下载他们的 APK。为此,您可能必须订阅时事通讯或 RSS 提要,并定期检查您的电子邮件/RSS 阅读器以获取更新。对于几个应用程序来说,这可能是可接受的设置,但随着应用程序数量的增加,这将变得很麻烦。更不用说,您可能必须一一检查应用程序的签名/校验和以验证其完整性。

首先,在您的网站上发布 APK 会鼓励用户采取不良的安全措施。在我看来,您应该鼓励普通用户只信任 Google Play 商店,原因如下:

  • 从网站下载 APK 需要用户确认来源安全且合法,或测试 APK以确保其安全。在实践中,许多用户只是依靠 Google Play Protect 来捕获恶意应用程序,并冒着感染Googlian或这个假谷歌 Chrome等木马的风险
  • 不使用 Google Play 商店会使应用程序保持最新状态变得更加困难。如果在您的代码中发现安全错误,或者共享库需要安全补丁,您将如何确保所有用户都知道更新?侧面加载的应用程序不会在 Play 商店中更新向用户提供通知,尤其是强制他们更新也不是一件简单的事情
  • 侧载或从 Google Play 以外的来源安装应用程序需要更改您的安全设置以启用侧载。如果用户不小心,这会使用户意外加载恶意软件,包括通过恶意广告等其他渠道。在 Android Oreo 中,此权限稍微复杂一些,但您仍然可以通过恶意广告让用户进行侧载。

其次,您的网站可能不如 Google 的应用商店安全。如果攻击者破坏了您的网站(或通过使用 MITM 或 DNS 中毒攻击将用户重定向到他们的服务器),他们可能会诱骗用户安装被破坏的 APK 版本。在此处发布 APK 的哈希值或您的开发人员签名将无济于事,因为它们也可能更改网站的那部分(校验和提供非常有限的安全保护,并且签名主要用于开发人员身份验证和不可否认性)。根据您网站的安全程度,这可能不是一个大而现实的威胁。通常,受感染的网站会不太巧妙地鼓励以 Adob​​e Flash、浏览器更新等为幌子下载通用恶意软件应用程序(如本例)。

第三,您的网站可能被钓鱼或欺骗。众所周知,黑客会制作看起来合法的银行网站,发布指向它们的链接或对其进行 SEO 优化,并在被欺骗的网站上植入带有恶意软件的虚假银行应用程序(来源)。这与我之前的观点一致,即您应该鼓励普通用户只信任 Google Play 商店。

注意:我有意将注意力集中在安全问题上,而不是重要的可用性和便利性问题。

编辑:由于将 Google Bouncer 替换为Android Play Protect,此答案不再正确

当您使用 Google Play 分发您的应用程序时,您声明您遵守 Google 的内容政策,这意味着该应用程序在许多方面对最终用户来说更安全,包括一些安全限制最终用户知道,Google 会筛选所有上传到 Play 商店的应用程序,并有条不紊地删除那些不遵守规则或行为不端的应用程序。

在 Play 商店中,用户可以可靠地检查您的应用将要请求的权限,并查看其他用户的投诉,而不是被您的 PR 过滤。

要使用您的独立分发渠道,他们必须到达“安全设置”部分中的“启用未知来源”开关。启用此切换是危险的,因为某些恶意软件也使用此分发渠道。

应用程序安全改进计划也可以帮助独立开发人员避免一些风险,例如,如果检测到某些已弃用的库或不安全的实现,它会警告开发人员

不过,重要的是要了解,使用 Play 商店并不会降低您的应用程序遭受盗版的风险,它仍然可能被盗用、反向工程,甚至被恶意方以不同的名称上传到同一个 Play 商店。

更新:以下是 Google Play 开发者政策施加的一些安全限制:

以下是明确禁止的:

  • 病毒、特洛伊木马、恶意软件、间谍软件或任何其他恶意软件。
  • 链接到或促进恶意软件的分发或安装的应用程序。
  • 从 Google Play 以外的来源下载可执行代码(例如 dex 文件或本机代码)的应用或 SDK。
  • 引入或利用安全漏洞的应用程序。
  • 窃取用户身份验证信息(例如用户名或密码)或模仿其他应用程序或网站以诱骗用户披露个人或身份验证信息的应用程序。
  • 未经用户事先同意在设备上安装其他应用程序的应用程序。
  • 旨在秘密收集设备使用情况的应用程序,例如商业间谍软件应用程序。

正如人们在评论中所说的那样,安全性和许多其他原因可能是,但不要忘记 Google Play 的真正力量:

我认为主要原因是在 Google Play 上你可以打到更多的人。是一种简单快捷的方式来吸引更多试图让您的应用更加知名的用户。