Android应用出于安全考虑使用细粒度权限,iOS应用程序也是如此。Windows 8.1应用程序没有类似的权限模式,到目前为止,我尝试过的所有Linux版本都没有,我猜Mac也没有,对吗?
PS:似乎有些人认为这是为什么移动设备的应用程序比桌面应用更严格呢?的一个可能的重复-但这两个问题至少在角度上不同(开发人员/用户)。如果你读了答案,你也会看到,大多数用户认为这两个问题是不同的:
发布于 2015-03-13 10:27:07
智能手机拥有细粒度的权限而桌面计算机却没有的主要原因有两个。
也就是说,桌面操作系统有细粒度的权限系统.例如,Linux有AppArmor、SELinux、Bitfrost等。
发布于 2015-03-13 09:21:19
由于技术原因,在尝试使用应用程序之前,不可能知道应用程序需要哪些权限,这意味着应用程序需要某种方式来声明这些权限。桌面操作系统上的应用程序从未这样做过。当用户启动遗留应用程序时,您只能假设它需要所有的东西(培训用户接受长时间的功能列表而无需经过深思熟虑),或者在应用程序需要的时候使用弹出(这可能会破坏一些无法处理突然中断的应用程序)。这两种解决方案都很糟糕,因此引入这样一种机制将破坏与旧软件的向后兼容性。
Windows 7试图改善这种情况,允许较新的应用程序在启动旧程序时声明它们不会做某些潜在的坏事,并添加“您希望程序对您的计算机进行更改”提示,除非该程序以管理员身份运行,否则它不会阻止一些更有潜在危害的事情发生。
像Linux这样的UNIX和UNIXoid操作系统允许使用它们的文件权限和所有权系统来限制程序的权限。硬件设备也被抽象为文件,并且可以由某个组拥有。因此,您可以通过使用不同的用户运行每个程序并将用户添加到拥有程序所需的硬件设备“文件”的组中来限制程序的功能。当然,这不是一个用户友好的解决方案,因为它需要大量的配置。
在开发智能手机操作系统时,开发人员没有必要确保其兼容性的遗留应用程序,因此他们有机会从一开始就把一切都做好。
另一个原因是智能手机比台式电脑更有可能侵犯隐私。智能手机有一个GPS传感器,一个麦克风,一个摄像头和一个永久的互联网连接,大多数用户通过他们进行私人和商业交流。所有这些都不会那么糟糕,当人们在任何时候都不带上这些设备或靠近他们的人时,不管他们去哪里。智能手机只是完美的间谍工具。当你在智能手机的控制下,你会得到完善的24/7监控用户和他们的周围。要访问这个工具,你所需要做的就是欺骗用户安装你的屁声音应用程序。
发布于 2015-03-13 23:51:28
移动操作系统拥有应用程序的细粒度权限至少有两个重要原因,而桌面操作系统则没有:
尽管如此,现代桌面操作系统正开始慢慢地采用以应用为中心的移动操作系统的一些想法。例如:
顺便说一句,您可能会注意到,移动应用程序安全模型在很大程度上类似于web的安全模型: web也是基于相互隔离的站点,因此一个邪恶的网站不能攻击另一个网站。如果你认为移动应用类似于一个网站,那么移动应用沙箱现在看起来类似于浏览器的相同来源的策略。从历史上看,网络应用程序所能做的事情要有限得多,但随着HTML5的出现,这种情况正在发生变化。浏览器开始使web服务具有更广泛的功能(从传感器读取、读取和写入文件系统上的文件等),并开始实现权限系统来控制对这些资源的访问,就像移动操作系统一样。因此,您可以将其视为借鉴移动操作系统的一些想法的浏览器。
其他可能让你感兴趣的阅读:
https://security.stackexchange.com/questions/83692
复制相似问题