Как стать автором
Обновить

Комментарии 39

«эмитент»
Я бы сказал «издатель». Забавно, как раз сегодня днём перевёл этот текст, но пока отшлифовывал формулировки, вы успели раньше :) (и лучше).

Время было бы удобнее перевести в московское, автор начинает с UTC, а потом внезапно перескакивает на PST:

4 мая после 1:00 UTC (4 мая, 4 утра по МСК) — сертификат протух
3 мая, 18:00 PST (4 мая, 4 утра по МСК) — разработчики получают сигнал о проблеме
4 мая, 2:44 PST (4 мая, 12:44 по МСК) — исправление начинает распространяться среди пользователей

Остаётся открытым вопрос, почему не было настроено никакого уведомления разработчикам о том, что важный сертификат скоро «протухнет».
НЛО прилетело и опубликовало эту надпись здесь
Можно скриптик в крон повесить, который будет выкачивать из хранилища все серты, и проверять в них даты. Надеюсь, где-нибудь в CI Мозиллы что-нибудь такое сделают.
Да какой скрипт. Уверен, что у Мозиллы есть система мониторинга, а любая система мониторинга умеет такие проверки — сам недавно прикручивал на Prometheus через blackbox_exporter.
Из за моего недопонимания. Как наличие цифровой подписи мешает подписать вредоносное дополнение? Я к тому, что скорей всего, все происходит автоматически, и что мешает выпустить обновления дополнения с джаваскриптом майнером?
Автоматика срабатывает на откровенное говно + с недавних пор запрещено обфусцировать JS (минифицировать можно). И можно легко отозвать подпись у просочившегося, но обнаруженного позже вредоноса, после чего потоньше настроить под его особенности автоматическую проверку.

Во времена, когда требование подписи отсутствовало, для малвари был рай земной: кладём дополнение в профиль (для записи в AppData, где лежит профиль браузера, права администратора не нужны) и крутим рекламу пользователю. Пришлось сначала внедрить подписывание, а потом сделать его в Windows неотключаемым (грязные хаки в расчёт не берём: если пользователь настолько заморочился, то он либо знает, что делает, либо сам себе злобный буратино). В Linux и macOS проверка отключается через настройки, потому что там вопрос не стоит так остро.

Впрочем, большинство пользователей, применяющих грязные хаки не знают, что Mozilla давно уже выпускает небрендированные стабильные сборки, которые позволяют ставить какие угодно дополнения, и ломать себе браузер своими руками вовсе не нужно…
Так а какая политика приемки дополнений в магазин firefox? По идее и без всяких сертификатов, модерирование (автоматика) должны откидывать хлам. Опять же, вроде как сертификат и не нужен.
Сертификат позволяет быстро забанить уже установленное у пользователей вредоносное дополнение. Достаточно его отозвать и запушить всем пользователям обновлённый revocation list.

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

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

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

Не проще ли добавить в браузер примитивное антивирусное поведение — проверку по сигнатурам любого исполняемого браузером кода, с выводом юзеру предупреждения: «мы тут фигню обнаружили. Банеры в википедии крутит. Если вы ее сами поставили в здравом уме — то ок. а если нет — давайте ее грохнем?» И базу раз в неделю обновлять. Не надо ничего подписывать — не надо ничего отзывать.

Думаю, "засунуть в браузер антивирус" — это точно не "проще".

Ну да — это настолько сложно что в 90е такого под ДОС было как грязи и влезало на дискету… А тут целый браузер весом с 10 операционных систем который из исходников сутками собирается — куда там примитивную проверку кода перед выполнением добавить…
И ради такой мелочи надо было усложнять жизнь разработчикам?
И ради такой мелочи, как разработчики (сравним кол-во разработчиков с кол-вом пользователей), нужно усложнять жизнь пользователям?

К тому же, это негативно сказывалось на аудитории. Пользователь ведь в последнюю очередь подумает на вирус. В первую очередь он грешит на сайт (я лично видел жалобы, что Википедия, якобы крутит рекламу, оказалось… да — вирусня на стороне пользователя) и на браузер.

Да что там… в этом году видел пользователя, у которого угнали пароль от ICQ и злоумышленник пользовался аськой параллельно с хозяином (а т.к. в аське теперь синхронизация истории, то переписка со второй сессии появлялась и в первой сессии). Так хозяин в первую очередь пришёл к нам, разработчикам месседжера, жаловаться, что у нас баг из-за которого он видит чужую переписку. То, что у него вирусов на ПК, как у собаки блох (что и подтвердилось + в личном кабинете обнаружилась вторая сессия) ему в голову не пришло.
А чем это усложняет жизнь пользователям? Пока как раз смешным процентам файрфокс пользователей, усложняет жизнь гугление как им запустить свое любимое расширение в своей любимой версии браузера. И тупое отваливание систем подписей, потому, что всем пофигу на срок действия сертификатов.

Так хозяин в первую очередь пришёл к нам, разработчикам месседжера

А какого черта вы «разработчики мессенджера» запихали туда логин из 100500-ти разных мест одновременно, если у тех кто действительно _разработал_ этот мессенджер — такой ФИГНИ не было, и 2я попытка залогиниться выкидывала предыдущую сессию? Сначала создали дыру в безопасности размером с кратер Джомолунгмы. Потом на каких то единичных раздолбаях, поимели с этой дыры проблемы. Но я думаю ничего — все правильно делаете! Скоро совсем «помянем» этот ваш «мессенджер», бо все «нормальные клиенты» у него еще в декабре отвалились.
Даже с сертификатом можно публиковать без магазина. Публикуем, скачиваем, удаляем из магазина. Как минимум при удалении разработчиком никакие подписи не отзываются. В итоге подпись есть, всё ставится штатно, код уже никто проверять не будет — удалено ведь.
Публиковаться и удаляться не нужно вовсе, дополнение можно распространять без публикации. Я себе так парочку интересных дополнений из Chrome Web Store перетащил, например.

Никто не заявлял, что эта схема защищает идеально, да и идеальной защиты нет. Например, когда кастомным поискам запретили давать такие же имена, как дефолтным (т.е., нельзя добавить кастомный поиск с именем Google), разработчики прямо сказали, что они знают, что кастомный поиск можно назвать Gооgle (кириллические «о»), но если разработчики малвари начнут это массово эксплуатировать, тогда и будем решать проблемы по мере их поступления, а пока без нужды закручивать гайки не стоит.
НЛО прилетело и опубликовало эту надпись здесь
Да нет никакого профита. Чтобы установить дополнение большинству пользователей (неважно, как: разместив ссылку на сайте, по которой пользователь кликнет; напрямую положив дополнение в профиль) — нужно отправить файл на автоматическое тестирование, после которого его подпишут (или не подпишут).
Кстати, обфусцировать можно, но надо в этом случае просто предоставить исходный код.
Вот за что я обожаю Мозиллу, так это за то, что «всё для пользователя»! А не для прибыли. Поэтому и готов терпеть неудобства, которые при таком подходе — временные.
Все эти манёвры со сменой интерфейса, отвалом старых дополнений при переходе на новый движок, а теперь ещё и отвал дополнений на актуальных версиях достал просто дико. Так что у мозилы минус 1 пользователь с десятилетним стажем.
А на что перешли, если не секрет? Потому что в интерфейс Chrome не так давно внесли изменения, а Edge вообще на другой движок мигрирует.
Перешёл как раз таки на хром, т.к. на планшете и смартфоне по умолчанию стоит хром. Пробовал ставить лису на мобильные устройства, но на нексус 5 и 7 она просто не юзабельная из-за постоянных подлагиваний. Я долго сидел на фаерфоксе, но последние изменения и недавнее падение дополнений подтолкнули в сторону хрома.
Я — на Вивальди. Движок хрома, но интерфейс круче. Плюс кастомизоция, и лучше отношение к пользователям со стороны компании. С мозилы ушел, когда отвалились нужные мне дополнения. Аналогов, кстати — так и не нашел, пришлось обходными путями…

Например, кто-то знает дополнение (хоть хром, хоть мозила) которое перезагружает текщую страницу при изменении определённого файла на локальном диске?
вы пытаетесь решить проблему неправильным инструментом. Например есть вот такая штука www.browsersync.io
Мы ничего не можем сделать с последней группой — им придётся обновиться до новой версии Firefox, потому что старые версии обычно имеют довольно серьёзные неисправленные уязвимости безопасности. Мы знаем, что некоторые люди остались на старых версиях Firefox, потому что хотят запускать расширения старого стиля, но многие из них теперь работают с более новыми версиями Firefox.

Угу, поставьте версии новее 54 на WinXP.

В данном случае не стоило изначально держать пользователей за дебилов. И в ситуации когда проверку на валидность сертификат не проходит дать штатную возможность пользователю использовать аддон на свой страх и риск.
Да работает все нормально на 54. И подписи отключить можно аж 2-мя методами и сертификат их новый вручную всунуть — короче очередная дежурная ерунда…
Буквально в пятницу присутствовал при попытке установки. 51 встает, 54 требовал Win7.
Обращаю внимание «штатно» это значит через меню а не мутные схемы типа about:config, девелоперские сборки и тому подобное.
Так же обращаю внимание что использовать аддон с невалидным сертификатом сильно не тоже самое что отлючить валидацию сертификатов аддонов полностью.

Вот про вручную всунуть их новый сертификат это интересно, где почитать?
Под XP последний 52.9.0esr

Сертификат всовывается в виде PEM файла в Настройки/Дополнительные/Cертификаты/Просмотр сертификатов/Центры сертификации/Импортировать.

pem файл был в прошлой статье habr.com/ru/post/450478/#comment_20120068
Мы ничего не можем сделать с последней группой — им придётся обновиться до новой версии Firefox

Под XP последний 52.9.0esr

О чем и речь. Может и хотели бы но не смогут.
Сертификат всовывается в виде PEM файла в Настройки/Дополнительные/Cертификаты/Просмотр сертификатов/Центры сертификации/Импортировать.

Отлично. Жаль конечно что дополнительно все равно придется шаманствовать с about:config и консолью. Но хоть так.
Я одного не понимаю. Почему при просмотре этого сертификата мозилла пишет «Could not verify this certificate because the issuer is unknown». Если я правильно понял статью, то утверждается, что этот промежуточный сертификат подписан корневым сертификатом Mozilla, открытый ключ (?) которого захардкоден в любой бинарник ff, распространяемый мозиллой.

Ситуация имеет место на xp, 52.9.0
В сухом остатке — все люди, которые надеялись на расширения для поддержания приватности в тот момент когда были отключены все расширения, частично дали увязать все аккаунты на разных сайтах между собой.
А также Мозилла избавилась массово от необходимости поддерживать относительно старые ESR.
Ну и обосновывая тем что они в будущем могут накосячить также как и в этот раз, они явно намекают что будут заставлять всех пользоваться только последними версиями браузера.
но в то же время мы должны иметь возможность пушить обновления

туманно.
А также Мозилла избавилась массово от необходимости поддерживать относительно старые ESR.
Старые ESR и так никто не поддерживал. Текущая ESR — 60.6, только она и поддерживается. Если сейчас, допустим, обнаружится критическая уязвимость безопасности, которая актуальна для всей ветки 60.x, то обновление получит лишь 60.6, а более старые (60.5, например) — нет. Поддержка 60.5 закончилась ровно в момент выпуска 60.6.

Короче, ESR — это про сохранение неизменным лишь первого числа в версии. И «длительная поддержка» относится как раз к 60-й версии в целом. Никто не отменял необходимость каждые несколько месяцев мигрировать с 60.1 → 60.2 → 60.3 → 60.3.1 и так далее. Эти подверсии и есть исправления безопасности.
Спасибо за сбой, благодаря нему наконец то перешел с лисы на другой браузер и нисколько не жалею.
Держите нас в курсе.
НЛО прилетело и опубликовало эту надпись здесь
Этой проблемы бы не существовало, если пользователям оставили бы возможность отключать проверку сертификатов на свой страх и риск. Хотя бы строчкой в about:config. Но нет, давайте лучше считать пользователей младенцами и принимать решения за них. xpinstall.signatures.required в настройках имеется, но система его игнорирует…
У меня друг из-за этого перешел на хром, и назад уже его не вернуть. А я просто обновил на новую версию и все заработало.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории