桌面应用程序应该静默更新吗?

时间:2011-06-08 04:08:13

标签: security language-agnostic

许多程序默默地更新,特别是Chrome,它必须始终以静默方式更新,但大多数操作系统都可以设置为静默更新,许多其他程序也可以,但它通常不是默认设置,更不经常是它强制性的。

但是,我创建的程序会默默地更新自己,并对安全问题抱怨。所以,你认为程序应该

  • 被迫默默更新?

  • 可选择以静默方式更新,默认更新为默认值?

  • 可选择静默更新,静默更新不是默认更新?

默默更新程序有哪些潜在的安全问题?

5 个答案:

答案 0 :(得分:3)

就个人而言,我认为被迫默默更新的程序是不可能的。在审计软件的高安全性环境中,“更新”是未经许可将未知代码引入环境的尝试,因此会自动被视为恶意代码。只有少数用户认为您的软件是恶意的,才会构成问题。

即使在不太紧张的环境中,我认为拒绝用户因自身原因推迟更新是违法的。我可以推测这些原因是什么:例如,他们可能依赖旧版本的某些行为,但基本的一点是,原因是用户的原因,而不是你的原因。你不知道它们是什么,所以如果你在一定程度上尊重你的用户,你就不能强迫他们改变他们机器上的软件只是因为你认为新版本更好。

那就是说,默认更新目前可能是一个好主意。特别是Windows在过去15年左右的时间里决定,因为它确实可行,不会为应用程序引入任何类型的集成更新管理。结果是一个非常混乱的侵入式软件更新策略,在我看来可用性最小的策略是:

  1. 在软件启动时检查更新(并在运行时定期检查), not 在某些无法启动的后台进程中。
  2. 以静默方式安装更新,除非用户说他们对更新感兴趣,在这种情况下告诉他们更新和(如果他们说他们想要被问到)请询问他们是否安装更新。
  3. 为用户提供检查更新历史记录的简便方法。
  4. 安装时的默认选中复选框,“查找并安装将来的所有更新”,在我看来是足够的许可,但请咨询您自己的律师。

    在安全方面,如果您的更新过程非常安全,那么您的静默更新过程也是如此。因此,如果我们愿意假设完美,那就没有区别了。

    然而,如果用户不信任您的更新程序,那么他们可能不希望在他们开启时采取更新,例如一个不安全的无线网络,因为他们可能会担心,例如有人为您的域名获得了假SSL证书。显然,MITM攻击可以在不安全的无线网络以外的网络上进行,但在这种情况下它们肯定更为常见,因此风险更高。静默更新可防止用户以他们熟悉的方式管理该风险,而是以您(软件作者)熟悉的方式进行管理。你必须考虑谁的舒适度更重要,而且还要考虑你对用户的尊重。

    第一个在黑帽会议上破坏了静音软件更新的人,从而使房间里的每台机器都变得愚蠢到可以安装他们的软件,这将真正得到他们在科技媒体上应得的报道。

答案 1 :(得分:2)

取决于你如何定义静默更新以及程序的性质......如果我的反病毒软件包默默地更新,我会更喜欢,但如果我的sdk开始这样做,我将是一只悲伤的熊猫。 / p>

这可能是一个与语言无关的问题,但肯定不是与应用程序无关的问题。

更新: 更多地考虑它,它高度依赖于应用程序所服务的服务以及更新的本质和紧迫性。我想到了安全修补程序和病毒定义。

尽管如此,在移动计算的这个时代,我会对没有用户交互/通知(或延迟它的能力)的程序对任何网络活动不满。我说,作为一个拥有某些操作系统(Windows)的人默默地下载一个服务包(超过100兆),而我被拴在我的3g手机上,这让我花费了近30美元的超额费用。

与'用户优先'态度保持一致 - 当后台更新的替代方案完成同样的工作时,我很难找到合理的理由来执行静默更新,让用户知情,并且不会踩到任何人的脚趾

答案 2 :(得分:2)

progrm是否应该以静默方式更新取决于应用程序和用户。至于安全风险,基本上存在两种风险:最明显的是从用户的角度来看,更新的应用程序不是旧应用程序,可能会改变他们喜欢或依赖的行为,或根本不在他们的计算机上工作。其次,实际的安全问题是更新过程可能被破坏,在这种情况下,您的更新是特洛伊木马。

答案 3 :(得分:1)

有些用户(例如我)在未经他们许可的情况下对他们的计算机进行某些操作时会感到恼火。因此,无论您做什么,在进行自动更新之前都要获得用户的许可,并让用户随时关闭自动更新。

答案 4 :(得分:1)

总有两个方面,选项会有所不同。

我会尝试简化一些事情:

它是一个我们真的不关心版本的应用程序,最新的应用程序总是最好用吗?

然后只需让应用程序自动

恕我直言应该拥有的应用程序:

  • 任何服务应用程序(在时钟区运行的应用程序,我们只是使用它而且真的不关心版本控制)
  • 反病毒(我们真的希望是最新的,不想每天/每周更新病毒定义)
  • FTP客户端
  • 虚拟机工具
  • 等...

其他一切,按Paint.NET执行:

enter image description here

或某些Mac应用

enter image description here

恕我直言应该拥有的应用程序:

  • CRM,ERP等(我们不应该在这里搞砸,很多客户都可以拥有精确版本的插件)
  • 浏览器(您永远不希望IE8自动更改为IE9)
  • 开发人员工具