注意:我在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创建各种有趣且有用的应用程序。