LINUX.ORG.RU

Технические подробности недавнего отключения дополнений в Firefox

 , ,


5

4

Прим. переводчика: для удобства читателей даты приведены по московскому времени

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



Подоплёка: дополнения и подписи

Хотя многие используют браузер «из коробки», Firefox поддерживает расширения, называемые «дополнениями». С их помощью пользователи добавляют в браузер различные возможности. Существует свыше 15 тысяч дополнений: от блокировки рекламы до управления сотнями вкладок.

Установленные дополнения должны иметь цифровую подпись, которая защищает пользователей от вредоносных дополнений, и требует минимальной проверки дополнений сотрудниками Mozilla. Мы ввели это требование в 2015 году, поскольку испытывали серьёзные проблемы с вредоносными дополнениями.

Как это работает: каждая копия Firefox содержит «корневой сертификат». Ключ от этого «корня» хранится в модуле аппаратной защиты (HSM), не имеющем доступа к сети. Каждые несколько лет этим ключом подписывается новый «промежуточный сертификат», который используется при подписании дополнений. Когда разработчик присылает дополнение, мы создаём временный «конечный сертификат» и подписываем его, используя промежуточный сертификат. Затем конечным сертификатом подписывается само дополнение. Схематично это выглядит так.

Обратите внимание: у каждого сертификата есть «субъект» (кому выдан сертификат) и «издатель» (кто выдал сертификат). В случае корневого сертификата «субъект» = «издатель», но для других сертификатов издателем сертификата является субъект вышестоящего сертификата, которым тот подписан.

Важный момент: каждое дополнение подписано уникальным конечным сертификатом, но почти всегда эти конечные сертификаты подписаны одним и тем же промежуточным сертификатом.

Примечание автора: исключение — очень старые дополнения. В то время использовались различные промежуточные сертификаты.

Этот промежуточный сертификат вызвал проблемы: каждый сертификат действителен в течение определённого периода. До или после этого периода сертификат недействителен, и браузер не будет использовать дополнения, подписанные этим сертификатом. К сожалению, срок действия промежуточного сертификата истёк 4 мая в 4 часа утра.

Последствия проявились не сразу. Firefox проверяет подписи установленных дополнений не постоянно, а примерно раз в 24 часа, причём время проверки индивидуально для каждого пользователя. В результате, у некоторых людей проблемы возникли сразу же, у некоторых гораздо позже. Мы впервые узнали о проблеме примерно в тот момент, когда истёк срок действия сертификата, и сразу начали искать решение.


Снижаем ущерб

Как только мы поняли, что случилось, то попытались не допустить ухудшения ситуации.

Во-первых, прекратили принимать и подписывать новые дополнения. Нет смысла использовать для этого просроченный сертификат. Оглядываясь назад, я бы сказал, что можно было бы оставить всё как есть. Сейчас приём дополнений возобновлён.

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


Параллельная работа

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

  • мы не можем быстро переподписать 15 тысяч дополнений разом, система не рассчитана на такую нагрузку
  • после того, как подпишем дополнения, обновлённые версии нужно доставить пользователям. Большинство дополнений устанавливается с серверов Mozilla, поэтому в ближайшие сутки Firefox найдёт обновления, но некоторые разработчики распространяют подписанные дополнения по сторонним каналам, поэтому пользователям пришлось бы обновлять такие дополнения вручную

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

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

  • Обновить Firefox, чтобы изменить период действия сертификата. Это заставит существующие дополнения волшебным образом работать снова, но потребует выпуска и доставки новой сборки Firefox
  • Создать действительный сертификат и каким-то образом убедить Firefox принять его вместо существующего, срок действия которого истёк

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


Замена сертификата

Как я упомянул выше, требовалось:

  • создать новый действительный сертификат
  • удалённо установить его в Firefox

Чтобы понять, почему это сработает, рассмотрим подробнее процесс проверки дополнения. Само дополнение поставляется в виде набора файлов, включая цепочку сертификатов, используемых для подписи. В результате, дополнение может быть проверено, если браузеру известен корневой сертификат, который встраивается в Firefox во время сборки. Однако, как мы уже знаем, промежуточный сертификат просрочен, поэтому проверить дополнение невозможно.

Когда Firefox пытается проверить дополнение, он не ограничивается использованием сертификатов, содержащихся внутри самого дополнения. Вместо этого браузер пытается создать действительную цепочку сертификатов, начиная с конечного сертификата и продолжает, пока не доберётся до корня. На первом уровне начинаем с конечного сертификата, а затем находим сертификат, субъект которого является издателем конечного сертификата (то есть, промежуточный сертификат). Обычно этот промежуточный сертификат поставляется вместе с дополнением, но в этой роли также может выступать любой сертификат из хранилища браузера. Если мы сможем удалённо добавить в хранилище сертификатов новый действительный сертификат, Firefox попытается его использовать. Ситуация до и после установки нового сертификата.

После установки нового сертификата у Firefox будет два варианта при проверке цепочки сертификатов: использовать старый недействительный сертификат (который не будет работать), либо новый действительный (который будет работать). Важно, что новый сертификат содержит те же имя субъекта и открытый ключ, что и старый сертификат, поэтому его подпись на конечном сертификате будет действительна. Firefox достаточно умён, чтобы попробовать оба варианта, пока не найдёт работающий, поэтому дополнения снова станут проверенными. Обратите внимание, это та же логика, которую мы используем для проверки сертификатов TLS.

Примечание автора: читатели, знакомые с WebPKI, заметят, что точно так же работают перекрёстные сертификаты.

Самое замечательное в этом исправлении то, что оно не требует переподписывать существующие дополнения. Как только браузер получит новый сертификат, все дополнения вновь заработают. Остаётся сложность с тем, чтобы доставить новый сертификат пользователям (автоматически и удалённо), а также заставить Firefox перепроверить отключённые дополнения.


Normandy и система исследований

По иронии судьбы, эту проблему решает специальное дополнение, называемое «системным». Чтобы проводить исследования, мы разработали систему под названием Normandy, которая доставляет исследования пользователям. Эти исследования автоматически выполняются в браузере, и имеют расширенный доступ к внутренним API-интерфейсам Firefox. Исследования могут добавлять новые сертификаты в хранилище сертификатов.

Примечание автора: мы не добавляем сертификат с какими-то особыми привилегиями; он подписан корневым сертификатом, поэтому Firefox ему доверяет. Мы просто добавляем его в пул сертификатов, которые могут быть использованы браузером.

Таким образом, решение состоит в том, чтобы создать исследование:

  • устанавливающее пользователям созданный нами новый сертификат
  • заставляющее браузер перепроверить отключённые дополнения, чтобы они снова заработали

«Но подожди», - скажете вы, «дополнения же не работают, как запустить системное дополнение?». Подпишем его новым сертификатом!


Собираем всё вместе… почему так долго?

Итак, план: выпустить новый сертификат для замены старого, создать системное дополнение и установить его пользователям через Normandy. Проблемы, как я говорил, начались 4 мая в 4:00, а уже в 12:44 того же дня, менее чем через 9 часов, мы отправили исправление в Normandy. Потребовалось ещё 6-12 часов, чтобы оно добралось до всех пользователей. Уже неплохо, но пользователи в Twitter спрашивают, почему мы не могли действовать быстрее.

Во-первых, требовалось время, чтобы выпустить новый промежуточный сертификат. Как я уже упоминал выше, ключ от корневого сертификата хранится автономно в аппаратном модуле безопасности. Это хорошо с точки зрения безопасности, поскольку корень используется очень редко и должен быть надёжно защищён, но это слегка неудобно, когда нужно экстренно подписать новый сертификат. Одному из наших инженеров пришлось ехать в хранилище HSM. Затем были неудачные попытки выдать правильный сертификат, а каждая попытка стоила одного-двух часов, затраченных на тестирование.

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

Наконец, после того, как мы подготовили исследования к отправке, на развёртывание требовалось время. Браузер проверяет наличие обновлений Normandy каждые 6 часов. Не все компьютеры постоянно включены и подключены к интернету, поэтому нужно время, чтобы исправление распространилось среди пользователей.


Финальные шаги

Исследование должно исправить проблему у большинства пользователей, но доступно не всем. К некоторым пользователям требуется особый подход:

  • пользователи, которые отключили исследования или телеметрию
  • пользователи Android-версии (Fennec), где исследования не поддерживаются вовсе
  • пользователи кастомных сборок Firefox ESR на предприятиях, где невозможно включить телеметрию
  • пользователи, сидящие за MitM-прокси, поскольку наша система установки дополнений использует привязывание ключей (key pinning), которое не работает с такими прокси
  • пользователи устаревших версий Firefox, не поддерживающих исследования

Мы ничего не можем поделать с последней категорией пользователей — им всё равно следует обновиться до новой версии Firefox, потому что устаревшие имеют серьёзные незакрытые уязвимости. Мы знаем, что некоторые люди остаются на старых версиях Firefox, потому что хотят запускать старые дополнения, но многие из старых дополнений уже портированы под новые версии браузера. Для прочих пользователей мы разработали патч, который установит новый сертификат. Он был выпущен как багфикс-релиз (примечание переводчика: Firefox 66.0.5), поэтому люди получат его — скорее всего, уже получили — через обычный канал обновления. Если вы используете кастомную сборку Firefox ESR, обратитесь к своему мейнтейнеру.

Мы понимаем, что всё это не идеально. В некоторых случаях пользователи теряли данные дополнений (например, данные дополнения Multi-Account Containers).

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


Уроки

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

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

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

Во-вторых, нужен механизм быстрой доставки обновлений пользователям, даже тогда, когда — особенно когда — всё остальное не работает. Было здорово, что мы смогли использовать систему «исследований», но это несовершенный инструмент и он обладает некоторыми нежелательными побочными эффектами. В частности, мы знаем, что у многих пользователей включено автоматическое обновление, но они предпочли бы не участвовать в исследованиях (признаюсь, у меня они тоже отключены!). В то же время нам требуется способ прислать обновления пользователям, но, какой бы ни была внутренняя техническая реализация, пользователи должны иметь возможность подписаться на обновления (включая оперативные исправления), но отказаться от всего остального. Кроме того, канал обновления должен быть более отзывчивым, чем сейчас. Даже 6 мая ещё были пользователи, которые не воспользовались ни исправлением, ни новой версией. Над этой проблемой уже работали, но случившееся показало, насколько она важна.

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

На следующей неделе мы рассмотрим результаты более тщательного анализа случившегося, а пока буду рад ответить на вопросы по электронной почте: ekr-blog@mozilla.com

>>> Подробности

Ответ на: комментарий от anonymous

я не думаю, что там массоны что-то замышляют. это очень распространённый антипатерн когда вместо того чтобы для решения простой проблемы сделать очевидное и простое решение начинают изобретать космический корабль который сразу или со временем начинает создавать адовые проблемы типа вот этой.

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

anonymous ()

Уроки

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

h578b1bde ★☆ ()
Ответ на: комментарий от SidMeier

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

расскажете потом как прошло. но вообще, чтобы сэкономить время, лучше сразу начинать с отправки патча в какой-нибудь «тухлый форк» и замену фурифокса на этот «тухлый форк» на локалхосте. в общем удачи во всех начинаниях.

anonymous ()
Ответ на: комментарий от mx__

Раньше были нормальные программисты и всегда думали наперед и делали так называемую «защиту от дурака»

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

h578b1bde ★☆ ()
Ответ на: комментарий от anonymous

Как просроченный сертификат оказался в браузере, ни слова

Элементарно. Был обычный сертификат, а потом у него срок вышел.

Кто допустил гнилой сертификат в браузер, имена, пароли, явки?

Типичный российский подход, на всё пофиг, главное чтоб кого-то посадили, желательно начальника.

Одному мне кажеться что вставить в браузер сертификат у которого есть срок годности и который в любом случае однажды превратиться в тыкву это просто эпическое «запланированное устаревание»?

Вряд ли прямо одному, дураков вообще много, ты не уникален. Система криптографического подтверждения подлинности (те самые сертификаты) придумана довольно давно и используется в продакшене. Ограниченность срока действия сертификата придумана чтоб снизить ущерб от ошибок, чтоб на помойках не валялись старые винты с закрытыми ключами действующих сертификатов и чтоб не ходили подписи по алгоритмам Вермахта. Должна ли была использоваться эта система для контроля расширений? Вот так и представляю, приходит ынжинер и говорит, «у нас уже есть промышленная система сертификации, мы используем её везде и на её надёжности основана защита данных пользователя. Но для вот этой нашей задачи я предлагаю навелосипедить аналог. Да, будет хуже, мы потеряем часть надёжности, но эта часть нам не сильно нужна, зато если будет факап и мы забудем перевыпустить сертификат, расширения работать не перестанут.»

Даже если бы такой дурак нашелся, его начальник бы ответил: «да нет уж, давай использовать стандартное решение».

Для меня это дикость, а дальше

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

khrundel ()
Ответ на: комментарий от anonymous

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

Команда файрфокс не отнимала у Вас возможности читать исходники и делать форки и накладывать на форки какие Вам заблагорассудится патчи. В чем к ним претензия? о_О

SidMeier ()

В сухом остатке - кто-нибудь знает, как отключить эту регулярную проверку подписей расширений? Или просто имя хоста, куда оно лезет за проверкой?

А вообще, конечно, ребята сами себе яму вырыли. Не было бы этих секретных проверок в фоне без ведома пользователей, и проблем не было бы. Но судя по тексту, проект будет двигаться в противоположном направлении («нужен механизм быстрой доставки обновлений пользователям, даже тогда, когда — особенно когда — всё остальное не работает»).

kmike ★★ ()
Ответ на: комментарий от SidMeier

насколько я знаю, вы сейчас описываете программное обеспечение с открытым исходным кодом, которое не обязательно является свободным программным обеспечением.

В чем к ним претензия?

я можеть быть желал бы исправить баг с сертификатами в фурифоксе, но я уже в пижаме и уже давно пользуюсь хромом. но может у кого-то другого возникнет такое же желание, а тут такой облом, они никому ничего не обязаны, да и вообще not a bug (tm) же.

anonymous ()
Ответ на: комментарий от rambleon

ну конечно же фича. оно так и должно всегда работать, не знаю даже к чему эти технические подробности и что они там так «быстро» и «слажено» исправляли, и к чему здесь вообще эта новость.

anonymous ()

Может по случаю всего этого бугурта кто-то возьмётся сопровождать IceCat (форк лисы с выпеленной проверкой дополнений и телеметрией)? Проект хороший, но текущий (вроде единственный) мейнтейнер не успевает даже за обновлениями безопасности в ESR ветке

MrClon ★★★★★ ()
Ответ на: комментарий от khrundel

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

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

И ещё. Те кто не дают пользователю отключать сертификацию или переподписывать своим ключом, добавлять свой корневой или промежуточный ключ в систему должны пойти лесом. Даже в мс можно сделать с хранилищем сертификатов всё что угодно. А здесь подишь ты - мы лучше знаем что нужно пользователю.

anonymous ()
Ответ на: комментарий от khrundel

Даже если бы такой дурак нашелся, его начальник бы ответил: «да нет уж, давай использовать стандартное решение».
Так оупенсорс же. Форкайся,делай свой палемун и сам обновляй сертификаты или убирай проверку, кто ж запрещает? Просто не лезь со своей дурью к людям, которым нужен нормальный рабочий продукт, чтоб работал здесь и сейчас, а не в гипотетическом будущем после ядерной войны

«или убирай проверку» - мозиловцы первым делом так и сделали:

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

;))))

зачем вы мозиловцев обзываете дураками, а их деятельность дурью? ;)

anonymous ()
Ответ на: комментарий от SidMeier

На сколько я знаю, «свободное ПО» подразумевает под собой данную желающим возможность читать и модифицировать исходники,

в случае многомиллоннострочных продуктов эта возвожность в основном чисто гипотетическая и нераелизуемая на практике. А свобода такого ПО - это сказка для идиотов ... и только идиоты верят в свободность ПО с открытыми исходниками.

По сути - свободность ПО, это когда ПО разрабатывается силами сообщества таким, какое оно нужно сообществу. Это могут быть пассионарии от сообщества, которым сильно делать нечего, или разрабатываться на собранные сообществом средства - не суть важно. Важно кто определяет цели и направление. Если цели и направление определяют корпорации, которые на этом делают деньги по неочевидной для идиотов бизнес-модели, то это ПО не свободно несмотря на открытость исходников.

Подробнее посморите на ютубе ролик с названием:

«Aral Balkan - Free is a Lie»

anonymous ()
Ответ на: комментарий от anonymous

Ахаха. Здесь и сейчас уже не работает. Здесь и сейчас надо непрерывно править конфиг что бы включить дополнения.

Никто вменяемый конфиги ради говнодополнения не правит. Если тебе приходится, значит что-то с тобой и твоим дополнением не так.

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

А может лучше вы лесом? Мы живём в мире узких специалистов. Мы нанимаем специалистов чтоб не разбираться самим. Нафиг мне подписывать расширения самому? Зачем? И на МС кивать не надо, жирнолис - опенсорс, если тебе хочется приключений - бери исходник и правь что хочешь. На кой ляд им добавлять дополнительную дыру чтоб избавить от необходимости пересобрать браузер полтора любителя странного?

khrundel ()
Ответ на: комментарий от khrundel

На кой ляд им добавлять дополнительную дыру чтоб избавить от необходимости пересобрать браузер полтора любителя странного?

Ну да ... полтора любителя странного не очень, чтобы очень ... но это всё, что у них есть ;)))

это какая-то общая шизопаталогия и с браузерами, и с линуксом вцелом. Это нишевые продукты именно для «полтора любителя странного». Но они упорно хотят завоевать рынок домохозяек неприкрыто плюя в лицо тому, что есть - «полтора любителя странного». Они старательно выпиливают всё то странное, ради чего их используют любители странного. Очевидно же, что когда они всё странное выпилят, то их популярность у домохозяек не увеличится ни на грош, но они потеряют тех «странных», которые ими пользовались и уйдут в небытиё.

Мы наблюдаем, как корпорасты под маской модно-молодёжных хипстеров и фальшивым флагом «станем самыми популярными во всём мире», т.е. у дураков, коих в мире большинство, попросту убивают нишевые продукты, до сих пор неподконтрольные корпорастам.

anonymous ()

наша команда проделала потрясающую работу

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

mbivanyuk ★★★★★ ()
Ответ на: комментарий от khrundel

Никто вменяемый конфиги ради говнодополнения не правит. Если тебе приходится, значит что-то с тобой и твоим дополнением не так.

Зема, найди мне заменитель дополнения Менеджер сессий для нового фанфурика. Нет - в сад. У меня уже всё экспортно в хромоподобный броузер. И пользуюсь я ими 50на50. Скоро похоже совсем перейду с такими взбрыками.

А может лучше вы лесом?

То есть ты за фашизм, диктатуру и всё такое прочее. Ну я с первого твоего ответа не сомневался в этом. Это же подумать невозможно, дать владельцу права распоряжаться тем что имеет. Ишь чО удумали нехристи. Ну ничего. Статистика количества бровзеров в интернете за последние два десятка лет на моей стороне. И собственно я наблюдал как восход так и закат своими глазами. Начинал с версии М5 или М7, если тебе это о чём-нибудь говорит.

Мы живём в мире узких специалистов. Мы нанимаем специалистов чтоб не разбираться самим. Нафиг мне подписывать расширения самому? Зачем?

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

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

А на кой ляд они заложили баг в лице протухающего сертификата с невозможностью отключения? На кой ляд они всё-таки сделали эту возможность но криво и только если подключен к спец-программе тестирования? На кой ляд они оставили этот протухший сертификат но отключили его проверку? На кой ляд они теперь думают ввести обновления в стиле мс - обязательно обновим, даже если пользователь против. А свой открытый кусок кода можешь забить себе пер-ректум. Общение даже с простыми сообществами открытого по и попытки «сделать лучше» привели к пониманию что никому ничего не надо. Опен-сурс? Это не священная корова. Имеет смысл только когда ты можешь влиять на политику приема патчей. В противном случае необходимо держать команду размером минимум _минимум_ такую же как команда оригинальных разработчиков. Потому что кроме собственно работы необходимо непрерывно мержить и отслеживать - а чО там у хо^W основателей.

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

Удачи. Статистика показывает что скоро все будут ориентироваться на хромоподобный движок. Посмотрим что ваша команда горлопанов будет тогда рассказывать.

anonymous ()
Ответ на: комментарий от mbivanyuk

Ты неправильно смотришь на ситуацию. Ты думаешь что смысл команды сделать лучше тебе как пользователю броузера? Хехе. Наивно. Их смысл красиво осваивать бюджет и перед инвесторами рисовать правильные тренды. С этой точки зрения они проделывают великолепную работу. Ещё увидим как кто-то из них выйдя на пенсию начнет строчить книги - 50 ошибок управления опенсорс проектом, или почему потакания пользователю ведет к банкротству.

anonymous ()
Ответ на: комментарий от anonymous

попросту убивают нишевые продукты, до сих пор неподконтрольные корпорастам.

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

rambleon ()
Ответ на: комментарий от mbivanyuk

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

anonymous ()
Ответ на: комментарий от anonymous

Как просроченный сертификат оказался в браузере, ни слова.

В браузере не было никакого просроченного сертификата. Просроченный сертификат располагается внутри каждого дополнения.

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

MozillaFirefox ★★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 1)
Ответ на: комментарий от MozillaFirefox

Прочитайте ещё раз тот абзац, где объясняется, что такое корневой сертификат (вшит в браузер, не протухал)

А какой срок действия у этого корневого серта?

anonymous ()
Ответ на: комментарий от anonymous

это какая-то общая шизопаталогия и с браузерами, и с линуксом вцелом. Это нишевые продукты именно для «полтора любителя странного».

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

khrundel ()
Ответ на: комментарий от anonymous

Какой ты отвратный отчет.

Это не финальный отчёт, а просто пост в блоге от технического директора. Возможно, в официальном отчёте мы таки увидим ответы на вопросы:

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

- почему не было никакого мониторинга таких вот мин замедленного действия

MozillaFirefox ★★★ ()
Ответ на: комментарий от rambleon

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

Пруф на наличие этого фрагмента в исходнике или балабол.

MozillaFirefox ★★★ ()
Ответ на: комментарий от mx__

Кстати я не совсем понял зачем перепроверяли подписи уже установленных дополнений ?

Основная проблема, с которой Mozilla столкнулась в 2015 году (о чём вскользь упоминает Эрик) - это вредоносные (чаще всего, крутящие рекламу поверх страниц) дополнения, которые пользователям Windows доставались от запущенной на их компах малвари. Малварь, будучи разово запущена, просто скидывала своё дополнение в профиль браузера (права администратора для записи в AppData не требуются) и прописывала его как уже установленное. Поскольку при этом процесс классической установки (когда юзер жмёт кнопку «Установить», а браузер скачивает и проверяет дополнение) не происходит, приходится проверять легитимность дополнений периодически.

В Linux и macOS вопрос столь остро, разумеется, не стоял, поэтому до сих пор в сборках для этих ОС требование подписи отключается одной опцией в about:config.

MozillaFirefox ★★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 2)
Ответ на: комментарий от MozillaFirefox

И что ? Вообще то дополнения нужно установить, и при установке оно как бы спрашивает... а что крутится в js поверх страниц это уже другая история.

mx__ ★★★★★ ()
Ответ на: комментарий от anonymous

Может мне кто то объяснит ? Как связана малварь и те дополнения что ставят плагинами ? Почему последнии нужно было тоже каждые 24 часа проверять ?

mx__ ★★★★★ ()
Ответ на: комментарий от mx__

Что происходит после того, как вы установили дополнение? Оно ложится в профиль браузера в специальное место + прописывается в условный extensions.json

Так вот, малварь пропускала этап «установки», она сразу дропала своё вредоносное дополнение на жёсткий диск в профиль и прописывала его. Затем малварь уже могла быть снесена антивирусом, а вредоносное дополнение оставалось и пользователь орал «ваш фуррифокс мне рекламу крутит!!!1».

MozillaFirefox ★★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 1)
Ответ на: комментарий от anonymous

Да, минимум 24 часа, а максимум... ну, пока о ней не станет известно разработчикам и сертификат дополнения не отзовут.

Идеальной защиты не бывает, но, судя по всему, остроту проблемы это сняло.

MozillaFirefox ★★★ ()
Последнее исправление: MozillaFirefox (всего исправлений: 1)
Ответ на: комментарий от anonymous

Зема, найди мне заменитель дополнения Менеджер сессий для нового фанфурика.

Я лично с фанфурика на хром свалил когда в последнем вообще расширений не было. И как-то не помер от пропажи менеджера сессий и всяких табмиксплюсов. Все эти зоопарки плагинов и макросов жизнь нифига не облегчают, расстаться с ними сложно больше от того, что жалко времени потраченного на их настройку. Поэтому обычно переход на другой браузер, где вообще всё по-другому воспринимается менее болезненно, чем новая версия, в которой не завелась одно расширение из 10.

То есть ты за фашизм, диктатуру и всё такое прочее.

Фашизм и диктатура обычно как раз приходят под требования таких как ты защитить их жалкие персональные данные от жадных корпораций. «В нашем браузере такие вот условия» - это не фашизм, а обычная свобода, хочешь - пользуйся, не хочешь - иди. А иначе придет добрый дядя, который позаботится о твоих персональных данных и правильных условиях, и от дяди ты уже никуда не денешься.

Ну я с первого твоего ответа не сомневался в этом. Это же подумать невозможно, дать владельцу права распоряжаться тем что имеет.

распоряжался, кто не даёт? Удали фурифокс, поставь что другое и не мешай людям.

Ну ничего. Статистика количества бровзеров в интернете за последние два десятка лет на моей стороне.

Пошло мифотворчество. Фурифокс просрал свою долю как раз пока держался за ворох старых экстеншенов. Так что теория не подтверждается.

khrundel ()
Ответ на: комментарий от anonymous

Одному мне кажеться что вставить в браузер сертификат у которого есть срок годности и который в любом случае однажды превратиться в тыкву это просто эпическое «запланированное устаревание»? Для меня это дикость, а дальше у меня текстовый редактор откажется открывать текстовые файлы, потому что я пользуюсь старым текстовым редактором? Это же шиза!

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

praseodim ★★★ ()
Ответ на: комментарий от MozillaFirefox

да полным полно legascy дополнений, которые стоят на моем 56, он при создании профиля, приходится их тупо копировать из дира старгого, или брать на сторонних ресурсах. тот же auto unload tab 9.1.5, поиск заканчивался заглушкой на мозиле - этой страницы не существут.

rambleon ()
Ответ на: комментарий от MozillaFirefox

Если это сделано не специально то такое нужно срочно переделывать. Класть что то в определенное место в профиле да еще прописывать его ... это означает что совершенно не правильная архитектура ! (еще раз если это конечно сделано не специально)

Помню как то с год назад мне понадобилось поставить дополнение с xpi, не смог, с инета пожалуйста с локального xpi нужно было кучу каких то ключей выставлять, плюнул я и поставил с инета.

mx__ ★★★★★ ()
Ответ на: комментарий от Miguel

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

rambleon ()
Ответ на: комментарий от khrundel

Я лично с фанфурика на хром свалил когда в последнем вообще расширений не было. И как-то не помер от пропажи менеджера сессий и всяких табмиксплюсов.

Да ты я гляжу совсем не привередливый. Координатор местной ячейки фриганистов? Ну и пользовался бы ИЕ-едгем, что голову морщишь.

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

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

Фашизм и диктатура обычно как раз приходят под требования таких как ты защитить их жалкие персональные данные от жадных корпораций.

Какой детский передерг. Раньше была возможность пользователю делать с ПО что он хочет. Теперь у него эту возможность отобрали. Большим дядям виднее что надо пользователям. Остальное они у людей отнимут. Так вот оказывается когда ты сам хочешь решать что делать на твоем компе, с твоим по - это фашизм. А когда большие дяди за тебя решают - это свобода. Тебя от своей толстоты не тошнит?

распоряжался, кто не даёт? Удали фурифокс, поставь что другое и не мешай людям.

Пациент. Алле, ты слышишь? Пользовался этим бровзером чуть ли не с момента выпуска первых милленстоунов. И видел как потихоньку отрывают возможности. И под фанфары об открытом бровзере сделали систему которой невозможно пользоваться.

И вообще интересно кто такие эти люди и почему я им мешаю? Это ты что-ли мамкин погромист, в жизни кроме толстоты и постов на лорчике ничего не сделавший? Раньше говорили - тяжелее ручки ничего в руках не держал. Ну ты-то переплюнул и это. Только кнопки тут давить можешь. Хехе.

Пошло мифотворчество. Фурифокс просрал свою долю как раз пока держался за ворох старых экстеншенов. Так что теория не подтверждается.

Хехе, да ты альтернативно одаренный с альтернативной историей, я уже понял. Было за 30% рынка. Но команда всё изгавнякала, и сколько там процентов? До 10 то дотягивают?

anonymous ()
Ответ на: комментарий от praseodim

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

Никто не понимает. Особенно при чём здесь какое-то устаревание каких-то дополнений, когда это к сабжу ни малейшего отношения не имеет.

gremlin_the_red ()
Ответ на: комментарий от praseodim

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

и отзывать не надо. У них есть blocklist.xml blocklist-addons.json blocklist-plugins.json

единственный смысл не в защите пользователя от чего-то, а в технологии контроля времени жизни софта «издателями».

anonymous ()