click和.deb软件包之间有哪些安全区别?


31

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

Click软件包不需要密码(据我测试)。

Click软件包对系统/用户数据而言会更安全还是相同?为什么?

需要回答的一些方面很不错:

  • 和deb是否基于同一系统(dpkg)?
  • apparmor可以在没有密码或其他任何内容的情况下提供对应用程序的root访问吗?
  • 将在安装时(例如android示例:该应用程序能够扫描您的/ home和访问网络)或在需要运行时提示用户接受应用程序的访问权限(类似浏览器的示例)询问使用凸轮的权利)
  • 接近这个问题:.apk和click的字词是否相同(关于策略和用户故事)
  • 主要是:某个应用程序是否可以通过点击将我的所有私人数据发送到网络上,而无需让我明确知道呢?或者它至少具有用户验证的权限,还是会被沙箱阻止?
  • 可以这么说:单击包功能不那么强大(限制更多内容),但是更安全吗?

我想添加标签“ click”,但信誉不够。最后一句被认为是斜体
cm-t

标签click-packages已经可用。
2014年

注意:click包正在开发中,希望对下一个稳定的click包的目标有所回答。
cm-t

Answers:


35

注意:我在Ubuntu安全团队工作,并帮助设计了Ubuntu的应用程序限制故事。为了清楚起见,我改写了这些问题。

问:“单击包在系统和用户数据方面会更安全吗?还是会相同?”

答:一般而言,就系统和用户数据而言,click软件包比debs更为安全。

Click软件包不包含与deb软件包一样在安装时以root用户身份运行的维护程序脚本。Click包只是简单地打开包装,然后在click声明的情况下使用系统提供的钩子。例如,单击可能会声明使用桌面挂钩生成应用程序的桌面文件或AppArmor挂钩生成应用程序的AppArmor配置文件。由于deb打包的概念是维护脚本的概念,旨在允许对该软件或系统进行广泛的自定义,因此deb软件包应仅从受信任的源安装,例如,从Ubuntu等发行版中签名的档案。Click软件包可以直接安装,您可以合理地确定安装软件包不会破坏您的系统。但是,这只是故事的一部分-如果您从不受信任的来源安装了点击包,

点击的真正力量在于将其与具有强大策略的软件存储库结合使用。例如,从Ubuntu App Store安装的click软件包的安全性通常比从受信任的存档安装的deb的安全性更高。这是因为在Ubuntu App Store中,信任模型是应用程序被视为不受信任*,并且已制定了策略和检查以确保存储中的click程序包具有正确的安全清单,因此在非常严格的限制下运行。与Ubuntu归档文件中的deb软件包相反,信任模型是该软件和deb软件包被认为是受信任的,并且通常该软件不会在受限的条件下运行(尽管在软件随附的AppArmor配置文件中有很多例外情况)以防范安全漏洞)。

  • 受信任的程序包也可以通过Ubuntu App Store交付。尽管不常见,但它们通常是由Canonical开发的,可能无法运行也可能无法运行。

要回答您的特定问题:

问:点击是否基于与deb相同的系统?

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

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

答: AppArmor具有强大的根权限,并且可以基于定义的安全策略来允许或拒绝对系统资源(文件,DBus,网络等)的访问。不需要单独的click软件包即可运送AppArmor安全清单或运送“安全”的AppArmor安全清单。使系统安全的是单击和交付单击包的商店策略的组合。通过Ubuntu App Store提供的Click软件包将使用AppArmor策略,该策略非常严格,并且不允许在幕后进行特权操作(例如,在此策略下运行的应用无法在幕后的系统上执行程序,请访问您的Facebook帐户,窃取您的gpg或ssh密钥,操作网络等)

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

答:不能。单击包本身可以使用低级工具在没有提示的情况下安装。在Ubuntu上,应通过Ubuntu App Store安装Click软件包(请参见上文),并且由于Ubuntu App Store的策略结合了Click功能和Ubuntu系统,因此无需点击进入,无上下文的安装提示。Ubuntu之所以能做到这一点,是因为从Ubuntu App Store安装的应用程序在严格的限制下运行(即,它们不能在幕后做坏事),并且当应用程序需要其他访问权限时,它会使用受控的API(包括提示)进行操作。

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

问:与此问题相关:关于策略和用户体验,.apk和click是否具有类似的语言?

答:不,由于上述原因,没有安装提示。为Ubuntu定义的Click程序包的Android权限和安全权限具有一些相似之处,但是有所不同并且实现方式有所不同。

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

答:如果您安装了不受信任来源的点击,是的,它可以做任何事情。如果您安装了来自Ubuntu App Store的点击,否,则应用程序无法通过网络发送所有数据,因为它无法访问它。当然,一个应用程序似乎可以做一件事而又可以做另一件事,因此,如果用户授予对位置服务的访问权限或为该应用程序提供图片访问权限,则该应用程序对这些数据可能是邪恶的-但这就是评级/ reviews和App Store安全策略生效。如果举报了此类应用,则会对其进行调查。如果适用,该应用将从商店中删除,该应用将从安装了该设备的所有设备中删除,并且开发人员的应用商店访问权限将被撤消。

问:可以说click软件包比debs更为安全,但由于受到更多的限制而使其功能不那么强大?

A:从上面可以看出,答案不是那么简单。点击本身可能会发布可以执行任何操作的软件。click打包格式是有意通用的,可以以多种方式使用,并且完全不特定于Ubuntu。对于Ubuntu,单击,Ubuntu API,AppArmor和App Store策略的组合为开发人员提供了非常强大的环境,使开发人员可以以安全,易于使用的方式向用户交付应用程序。应用程序本身的实用程序取决于底层系统为应用程序提供的API。将在Ubuntu的首批出货电话上提供的最初的API集将使开发人员可以使用丰富的API和SDK创建各种有趣且有用的应用程序。


1
“该应用将从安装它的任何设备上删除” -似乎令人担忧。这是否意味着Canonical将能够在未经用户许可的情况下从用户设备远程卸载应用程序?

Ubuntu App Store将具有此功能。只有在涉及积极的恶意代码时,才可能行使此功能。我不想在这里规定政策,因为仍然有许多注意事项需要考虑,但是最重要的是,没有充分的理由就不会发生这种情况。
jdstrand 2014年

2
我了解这是出于用户安全的考虑(其他应用商店也这样做),但是有些用户不喜欢这种“杀死开关”,因为这意味着公司可以远程卸载应用(或更多),即使出于安全原因。我认为开发人员应仔细考虑如何实现此目的,以免引起争议。也许禁用该应用程序而不是将其删除,允许用户自己卸载或重新启用它,并显示非常明显的警告...作为建议。

如果Click打包了自己的依赖关系,那么依赖关系的安全更新该怎么办?如果更新了bash deb,则使用bash的所有其他软件包自然会使用新版本。但是,如果Click应用程序打包bash,则除非应用程序开发人员注意包括更新的bash,否则该错误仍然存​​在,并且假定应用程序开发人员经常更新该程序包。请注意,在这种情况下,请设想bash不是基本软件包。
汉迪·爱侣湾

听起来真酷!甚至比android系统还好!Android权限已变成EULA之类的东西,只需单击“是”而不阅读...
Galgalesh 2014年

2

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

  • 一个应用程序是否可以一键发送我在网络上的所有私人数据,而无需让我明确知道?

    • 点击应用将在限制条件下运行。这意味着该应用不会发生不良行为:它只能访问自己的私有目录。
  • 可以安装应用程序然后拥有root权限吗?没有密码或特定提示?

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

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

    • Debian(.deb)包装完全不同。但是,如果您的应用是使用Ubuntu SDK制作的,则无需使用Debian打包,而可以使用Click打包,对于最终用户而言,Click打包更容易使用且更安全。
  • 与上述类似,进行比较:.apk(Android)和单击是否以相同的方式工作?

    • Android软件包和Ubuntu Click软件包的工作方式类似,因为每个应用程序都有自己的空间来存储数据,并且(理想情况下)禁止直接访问其他应用程序的数据。目前,Android程序包还可以从没有访问限制的SD卡或内部存储读取数据。Ubuntu Click软件包还必须请求特定功能的权限。
  • 可以这么说:单击包功能不那么强大(限制了更多内容),但是更安全吗?

    • ...

由于这些原因,Click软件包非常安全,发布它们的审核过程也更加简单。

资料来源:


因为你认为它是最好的请填写此答案
厘米-T
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.