53

Я полагаю, что задержка Firefox перед установкой надстроек приносит пользу с точки зрения безопасности, но я не могу понять, что это такое. (Да, я знаю, что вы можете отключить задержку.)

Если вы ответите на этот вопрос, предоставьте ссылки из списков рассылки Firefox или журналы коммитов.

1 ответ1

71

Зачем?

  • Потому что они хотят, чтобы вы думали о том, что вы делаете
  • Потому что это предотвращает случайные установки
  • Потому что это предотвращает злонамеренные установки

Как вы можете злонамеренно запустить установку?

Вот интересная статья Джесси Рудермана об условиях гонки в диалогах по безопасности :

Другая форма атаки заключается в том, чтобы убедить пользователя дважды щелкнуть определенное место на экране. Это место является местом, где появится кнопка "Да". Первый щелчок запускает диалог; второй щелчок попадает на кнопку "Да". Я сделал демо-версию этой атаки для Firefox и Mozilla.

Решение Firefox, начиная с ошибки 162020, заключается в отсрочке включения кнопок "Да"/"Установить" до трех секунд после появления диалогового окна. Я считаю, что это единственно возможное исправление, кроме полного отказа ненадежному контенту в возможности поставить диалог. К сожалению, это исправление расстраивает пользователей, которые часто устанавливают расширения.

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

Подводя итог еще раз, его основным пунктом было:

Если я смогу контролировать или предсказать, когда и где пользователь будет щелкать, я смогу заставить его установить программное обеспечение.


Есть ли альтернативы задержке?

Период задержки был, конечно, только одним из способов справиться с этим. Другая могла бы перетасовывать кнопки "Установить", "Отмена" каждый раз, когда вы что-то устанавливаете. Это то, что используется очень часто, но это сбивает с толку пользователя больше, чем помогает.

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

Кроме того, введение случайности не является окончательным решением. Если для кнопок есть сочетания клавиш, вы также можете перехватывать их. Тем не менее, сегодня это больше похоже на устаревшую функцию, так как большинство плагинов в любом случае устанавливаются с официального сайта дополнений Firefox.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .