Следует ли обновлять настольные приложения?

Множество программ тихо обновляется, особенно Chrome, который всегда должен постоянно обновляться, но большинство операционных систем могут быть настроены на тихое обновление, а также многие другие программы, хотя это часто не является стандартным и даже реже обязательно.

Но, я создал программы, которые молча обновляют себя и жалуются на проблемы безопасности. Итак, вы думаете, что программы должны

  • Быть принудительно обновляется?

  • Необязательно тихо обновлять, при этом тихим обновлением является значение по умолчанию?

  • Необязательно тихо обновлять, с тихим обновлением, не являющимся значением по умолчанию?

И каковы потенциальные проблемы безопасности при молчаливой программе обновления?

5 ответов

Лично я считаю, что программы, вынужденные тихо обновлять, не могут быть и речи. В среде с высокой степенью безопасности, в которой выполняется аудит программного обеспечения, ваше "обновление" представляет собой попытку ввести неизвестный код в среду без разрешения, следовательно, автоматически рассматривается как вредоносная. Требуется лишь небольшое число пользователей, которые считают ваше программное обеспечение вредоносным, чтобы создать проблему.

Даже в менее напряженной среде я считаю, что антисоциально лишать ваших пользователей возможности откладывать обновления по своим собственным причинам. Я мог бы предположить, каковы эти причины: например, они могут полагаться на какое-то поведение старой версии, но основным моментом является то, что причиной являются причины ваших пользователей, а не ваши. Вы не узнаете, что это такое, поэтому, если вы уважаете своих пользователей в малейшей степени, вы не можете заставить их менять программное обеспечение на своей машине только потому, что считаете, что новая версия лучше.

Тем не менее, обновление по умолчанию, вероятно, является хорошей идеей на данный момент. В частности, Windows решила в течение последних 15 лет, так как это было реально осуществимо, а не внедрять какое-либо интегрированное управление обновлениями для приложений. Результат - ужасный беспорядок навязчивых стратегий обновления программного обеспечения, и мне кажется, что наименее навязчивая стратегия мне кажется:

  • проверяйте обновления при запуске программного обеспечения (и периодически во время его работы), не все время в каком-то неудобном фоновом процессе.
  • устанавливать обновления молча, если пользователь не сказал, что они заинтересованы в обновлениях, и в этом случае расскажите им об обновлении и (если они сказали, что их хотят попросить) спросите их, устанавливать ли это или нет.
  • Предоставьте пользователю простой способ проверить историю обновлений.

По умолчанию флажок по умолчанию при установке, "искать и устанавливать все обновления в будущем", мне представляется достаточным разрешением, но проконсультируйтесь со своим собственным адвокатом.

В условиях безопасности, если ваша процедура обновления действительно безопасна, ваша процедура обновления будет слишком. Поэтому, если мы готовы принять на себя совершенство, нет никакой разницы.

Однако, если пользователь не доверяет вашей процедуре обновления, они могут не захотеть принимать обновления, когда они находятся на, например. небезопасной беспроводной сети, поскольку они могут быть обеспокоены, например, что кто-то получил поддельный сертификат SSL для вашего домена. Очевидно, что атаки MITM могут выполняться в сетях, отличных от небезопасных беспроводных сетей, но в этом случае они гораздо более распространены, поэтому риск выше. Молчаливое обновление не позволяет пользователю управлять этим риском в удобном для них способом, вместо этого он управляется таким образом, чтобы вам (автору софта) было удобно. Вы должны думать о том, чей комфорт более важен, и снова о том, какое уважение у вас есть для ваших пользователей.

Первый человек, чье тихое обновление программного обеспечения обрушивается на конференцию Black Hat, тем самым забрасывая каждую машину в комнате, достаточно глупо, чтобы установить их программное обеспечение, получит именно ту защиту, которую они заслуживают в технической печати. ​​


Независимо от того, должен ли прогрм молча обновляться, зависит от приложения и пользователей. Что касается риска безопасности, в основном есть два риска: наиболее очевидно, с точки зрения пользователей обновленное приложение не является старым приложением и может изменять поведение, которое им нравится или зависит от него или просто не работает на их компьютере вообще. Во-вторых, фактическая проблема безопасности заключается в том, что процесс обновления может быть искажен, и в этом случае ваше обновление является трояном.


Зависит от того, как вы определяете тихое обновление и какова природа программы... Я бы предпочел, чтобы мой антивириальный пакет молчал, но если мой sdk начал это делать, я был бы грустным panda.

Это может быть язык-агностический вопрос, но он, конечно же, не является агностическим.

Обновление: Думая об этом больше, он сильно зависит от службы, которой служит приложение, и какова природа и актуальность обновления на самом деле. На ум приходят исправления безопасности и определения virii.

Даже несмотря на все сказанное, в этот день и возраст мобильных вычислений, я бы недооценивал любую сетевую активность программой с нулевым пользовательским взаимодействием/уведомлением (или возможностью ее задержать). Я говорю, что как человек, у которого была какая-то ОС (windows), тихо загрузила пакет обновления (более 100 мегабайт), в то время как я был привязан к мобильному телефону на 3g, что стоило мне почти 30 долларов в случае перегрузки.

Сохраняясь в соответствии с этим отношением "первый пользователь" - я изо всех сил пытаюсь найти законную причину для выполнения бесшумных обновлений, когда альтернатива фонового обновления выполняет ту же работу, информирует пользователя и не наступает anyones toes


Всегда есть две стороны этого, и параметры будут расходиться.

Я попытался бы упростить вещи:

Это приложение, которое нам действительно не интересует версии, что последнее всегда лучше всего использовать?

Затем просто сделайте это приложение автоматически.

Приложения, которые должны иметь IMHO:

  • Любое сервисное приложение (тот, который работает в области часов, и мы просто используем его и на самом деле не заботимся об управлении версиями)
  • Антивирус (мы действительно хотим быть современными и не хотим обновлять определения вирусов каждый день/неделю).
  • FTP-клиент
  • Инструменты виртуальных машин
  • и т.д...

Is все остальное, выполните Paint.NET:

или некоторые приложения Mac

Приложения, которые должны иметь IMHO:

  • CRM, ERP и т.д. (мы не должны испортить здесь, у многих клиентов могут быть плагины для точной версии)
  • Браузеры (вы никогда не хотите, чтобы IE8 автоматически менялся на IE9)
  • Инструменты разработчика
  • и др.


Некоторые пользователи (например, я) раздражаются, когда что-то делается с их компьютером без их разрешения. Итак, что бы вы ни делали, получите разрешение пользователя, прежде чем делать автоматические обновления, и дайте пользователю возможность отключать автоматическое обновление в любое время.

licensed under cc by-sa 3.0 with attribution.