click 和 .deb 包之间有哪些安全性差异?

click 和 .deb 包之间有哪些安全性差异?

安装随机(令人讨厌?).deb 可能很危险因为它将授予应用程序所有权限和守护进程安装是因为.deb 有一些配置要求用户在安装过程中是否验证其密码。

单击包不需要密码(据我测试)。

点击包对系统/用户数据来说是否更安全或者是否相同?为什么?

一些很需要回答的问题:

  • click 和 deb 是基于同一个系统 (dpkg) 吗?
  • apparmor 可以提供无需密码或其他方式的应用程序 root 访问权限吗?
  • 安装时是否会提示用户接受应用程序的访问权限(类似安卓的示例:该应用程序将能够扫描您的 /home 并访问网络)或因需要权利而逃亡(类似浏览器的示例,请求使用摄像头的权利)
  • 接近这个问题: .apk 和 click 是否会使用相同的字(关于政策和用户故事)
  • 主要是:一个应用程序是否可以在不让我明确知道的情况下通过点击将我的所有私人数据发送到网络上,或者它是否至少具有经过用户验证的权利,或者它会被沙箱阻止吗?
  • 确实如此:click 包功能较少(限制更多东西),但更安全?

答案1

注意:我在 Ubuntu 安全团队工作,并帮助设计了 Ubuntu 的应用程序限制故事。我重新措辞了问题以便更清晰。

问:“点击套餐从系统和用户数据角度来说会更安全吗,还是会一样?”

A:总体来说,就系统和用户数据而言,click 包比 deb 包更安全。

Click 软件包不包含在安装时以 root 身份运行的维护者脚本,而 deb 软件包则包含这些脚本。Click 软件包只是解压,然后使用系统提供的钩子(如果由 click 声明)。例如,click 可能声明使用桌面钩子来生成桌面文件或使用 AppArmor 钩子来为应用程序生成 AppArmor 配置文件。由于 deb 打包具有维护者脚本的概念,这些脚本旨在允许对软件或系统进行广泛的自定义,因此 deb 软件包只能从受信任的来源安装,例如来自 Ubuntu 等发行版的签名存档。Click 软件包可以直接安装,您可以相当肯定软件包安装不会破坏您的系统。但是,这只是故事的一部分——如果您从不受信任的来源安装 click 软件包,则无法保证它会在其清单中声明它已正确限制,因此虽然安装它是可以的,但运行它可能不行(即,软件可能在没有限制的情况下运行,因此能够窃取您的数据或以您的用户身份运行程序)。

Click 的真正威力在于与具有强大策略的软件存储库结合使用。例如,从 Ubuntu 应用商店安装的 Click 包的安全性通常高于从受信任存档安装的 deb。这是因为在 Ubuntu 应用商店中,信任模型是应用程序被视为不受信任*,并且有策略和检查来确保商店中的 Click 包具有适当的安全清单,因此在非常严格的限制下运行。与 Ubuntu 存档中的 deb 包相比,信任模型是软件和 deb 打包被视为受信任,并且通常软件不会在限制下运行(尽管有很多例外,AppArmor 配置文件随软件一起提供以防止安全漏洞)。

  • 受信任的软件包也可以通过 Ubuntu 应用商店提供。虽然不常见,但它们通常由 Canonical 开发,并且可能会或可能不会在限制下运行。

回答您的具体问题:

问:click 和 deb 基于同一个系统吗?

A:click 的低级软件包格式是 deb。但是,click 打包过程要简单得多,因为它使用声明式清单和钩子,而不是传统的打包文件和维护者脚本。

问:AppArmor 是否可以在没有用户交互的情况下提供对应用程序的特权访问?

A:AppArmor 具有强大的 root 权限,可以根据定义的安全策略允许或拒绝对系统资源(文件、DBus、网络等)的访问。Click 包本身不需要发送 AppArmor 安全清单或发送“安全”的 AppArmor 安全清单。使系统安全的是 Click 和提供 Click 包的商店的策略的结合。通过 Ubuntu App Store 提供的 Click 包将使用非常严格的 AppArmor 策略,不允许在后台执行特权操作(例如,在此策略下运行的应用程序无法在后台执行系统上的程序、访问您的 Facebook 帐户、窃取您的 gpg 或 ssh 密钥、操纵网络等)

问:安装时是否会提示用户授予应用程序访问权限,就像在 Android 上一样?(例如,“此应用程序能够扫描您的 /home 并访问网络”)

A:否。使用低级工具,无需提示即可安装 click 包本身。在 Ubuntu 上,click 包应通过 Ubuntu 应用商店安装(参见上文),并且由于 Ubuntu 应用商店政策与 click 功能和 Ubuntu 系统相结合,因此无需点击、无上下文的安装提示。Ubuntu 可以做到这一点,因为从 Ubuntu 应用商店安装的应用程序在限制性限制下运行(即它们不能在幕后做坏事),并且当应用程序需要额外访问权限时,它会使用受控 API(可能包括提示)来实现。

对于特权 API,我们有可信助手的概念,这样用户将获得上下文提示以允许或拒绝访问(具有(可选)可撤销缓存,因此每次都不需要询问用户)。例如,如果应用程序需要访问位置服务(可信助手),则在应用程序尝试使用位置服务时,将提示用户允许访问,从而提供上下文,以便用户做出明智的决定。视频和音频录制也会发生同样的情况。通常,我们根本不需要有安全提示,我们可以根据用户与应用程序的交互来允许访问。例如,如果应用程序想要上传图片,则会有一个对话框来选择图片。在后台,由于不允许应用程序访问 ~/Pictures 目录,它将使用 content-hub API,该 API 将启动图库文件选择器,供用户选择要上传的图片。然后,content-hub 从图库中获取图片并将其提供给应用程序。在这种方式中,没有安全对话框,只有用户的自然交互,但在幕后,有一个隐含的信任决定。

问:与此问题相关:.apk 和 click 在政策和用户体验方面是否会有类似的语言?

A:不,由于上述原因,没有安装提示。Android 权限和 Ubuntu 定义的点击包安全权限有一些相似之处,但有所不同,并且实现方式也不同。

问:具体来说,通过点击,应用程序是否可以在我不知情的情况下通过网络发送我的所有私人数据,或者是否会以某种方式进行限制以防止这种情况发生?

A:如果您从不受信任的来源安装 Click,是的,它可以做任何事情。如果您从 Ubuntu 应用商店安装 Click,则不会,应用无法通过网络发送您的所有数据,因为它无权访问这些数据。当然,应用可以看似做一件事,其实做另一件事,因此如果用户授予对位置服务的访问权限或允许应用访问图片,则应用可能会利用这些数据作恶——但这就是评级/评论和应用商店安全策略发挥作用的地方。如果有人举报此类应用,我们将对其进行调查。如果合适,该应用将从商店中删除,将从安装该应用的所有设备中删除,并且将撤销开发人员的应用商店访问权限。

问:是否可以说 click 包比 debs 更安全,但由于限制较多而功能较弱?

A:从上面可以看出,答案并不那么简单。Click 本身可以发布可以做任何事情的软件。Click 打包格式是故意为通用的,可以以多种方式使用,并且完全不是 Ubuntu 独有的。对于 Ubuntu,Click、Ubuntu API、AppArmor 和 App Store 策略的组合为开发人员提供了一个非常强大的环境,使他们能够以安全且易于使用的方式向用户提供应用程序。应用程序本身的实用性取决于底层系统为应用程序提供的 API。Ubuntu 首批发售的手机上将提供的初始 API 集将允许开发人员使用丰富的 API 和 SDK 创建各种有趣且有用的应用程序。随着我们继续更好地支持开发人员和用户,这些 API 的广度和实用性将不断扩展。

答案2

我将尝试回答一些有关安全性和点击包的最重要的问题。

  • 应用程序是否可以在不让我明确知道的情况下,一键将我所有的私人数据发送到网络上?

    • Click 应用将在受限环境下运行。这意味着应用无法做坏事:它只能访问自己的私有目录。
  • 可以安装应用程序然后获得 root 权限吗?无需密码或特定提示?

    • ...
  • 是否会提示用户接受应用程序的权利?什么时候?

    • 点击应用将访问用户允许应用使用的功能(注意:当前/每日 Ubuntu Touch 版本尚未提示)
  • click 和 deb 是否基于相同的系统?

    • Debian (.deb) 打包方式则完全不同。但是,如果您的应用程序是使用 Ubuntu SDK 制作的,则无需使用 Debian 打包方式,而是可以使用 Click 打包方式,这种方式对最终用户来说更易于使用且更安全。
  • 与上面类似,比较一下:.apk(Android)和点击的工作方式是否相同?

    • Android 软件包和 Ubuntu Click 软件包的工作方式类似,每个应用程序都有自己的空间来存储数据,并且(理想情况下)禁止直接访问其他应用程序的数据。目前,Android 软件包还可以从 SD 卡或内部存储中读取数据,这些地方没有访问限制。Ubuntu Click 软件包还必须请求特定功能的权限。
  • 确实如此:点击包功能较弱(限制更多东西),但更安全?

    • ...

由于这些原因,Click 包非常安全并且发布的审查过程也更加简单。

资料来源:

相关内容