Дэн Стиллман (Dan Stillman), разработчик браузерного дополнения Zotero (https://www.zotero.org/), выступил (http://danstillman.com/2015/11/23/firefox-extension-scanning...) с критикой навязываемой проектом Mozilla обязательной проверке дополнений по цифровой подписи. Напомним, что под предлогом (https://www.opennet.me/opennews/art.shtml?num=41655) борьбы с распространением вредоносных и шпионящих за пользователями дополнений, начиная с Firefox 43 Mozilla переходит (https://www.opennet.me/opennews/art.shtml?num=42949) к схеме обязательной проверки дополнений по цифровой подписи.
Дэн Стиллман попытался доказать, что переход к использованию только подписанных дополнений приведёт лишь к сложностям для разработчиков, и никак не повлияет на безопасность, а быть может даже ухудшит ситуацию с распространением уязвимых дополнений. В частности, процесс верификации подразумевает обязательную загрузку всех дополнений, в том числе поставляемых через сторонние каналы распространения, на сайт Mozilla для прохождения автоматизированной или ручной проверки. Первая проблема в том, что в случае невозможности применить автоматизированную проверку ручная проверка занимает (https://blog.mozilla.org/addons/2015/11/04/add-ons-update-73/) в среднем семь недель. Возникновение подобных задержек не только затягивает поставку новых выпусков, но и мешает оперативной доставке обновлений с устранением уязвимостей и серьёзных ошибок.
Вторая проблема в том, что авторы вредоносных дополнений могут легко обмануть тесты автоматизированной системы проверки. Для демонстрации своего заявления Стиллман подготовил прототип вредоносного дополнения, которое благодаря применению нехитрых приёмов скрытия вредоносной активности, успешно прошло автоматизированную проверку и было заверено цифровой подписью Mozilla. При этом дополнение осуществляло перехват запросов к сайтам, открываемым через HTTPS и собирало данные о паролях вводимых в web-формы, после чего отправляло полученные сведения на внешний HTTP-сервер. Более того, успешно прошедшее тестирование дополнение позволяло запустить в системе произвольный процесс при открытии определённого URL или загрузить JavaScript-код с внешнего сервера и выполнить его с привилегиями браузера.
При попытке привлечь внимание к проблеме разработчиков из Mozilla, лидер команды Mozilla по взаимодействию с разработчиками дополнений, указал на то, что большинство авторов вредоносных дополнений ленивы и не будут прибегать к подобным техникам скрытия вредоносной активности, что позволит блокировать большинство вредоносных дополнений. Созданное демонстрационное дополнение было занесено в чёрный список, но никаких действий по блокированию показанных проблем предпринято не было - для повторного успешного тестирования и обхода чёрного списка потребовалось лишь поменять идентификатор дополнения.
Доводы Стиллмана также подтверждает недавно проведённое исследование (http://labs.detectify.com/post/133528218381/chrome-extension...) дополнений в каталоге приложений Chrome, показавшее неэффективность уже внедрённых в каталоге Chrome механизмов проверки дополнений и заверения по цифровой подписи. Исследование показало, что ряд популярных дополнений, насчитывающих сотни тысяч пользователей, нарушают требования по соблюдению приватности, отслеживают перемещения пользователя и передают полученную статистику вовне. При этом, важно то, что подобный сбор данных производится независимо от применения специальных дополнений для блокирования отслеживания перемещений и инкогнито-режимов.
URL: http://danstillman.com/2015/11/23/firefox-extension-scanning...
Новость: http://www.opennet.me/opennews/art.shtml?num=43398
>большинство авторов вредоносных дополнений ленивыЭто они-то ленивы?! Да они не могут быть ленивыми уже просто по сути своей деятельности! Ленивый там далеко не уедет.
> Это они-то ленивы?! Да они не могут быть ленивыми уже просто по
> сути своей деятельности! Ленивый там далеко не уедет.скорее всего имелось в виду что они не будут заморачиваться с цифровой подписью и тратить время время :) типа пират будет получать легальность своего ПО чтобы потом грабить :)
да конечно, если вор захочет воровать, он и постарается и не полениться получить эти цифровые подписи чтобы не вызывало никаких подозрений...
> большинство авторов вредоносных дополнений ленивы и не будут прибегать к подобным техникам скрытия вредоносной активностиага, у меня аж глаза на лоб полезли.
>>большинство авторов вредоносных дополнений ленивы
> Это они-то ленивы?!Сами они ленивы.
Отсюда мы поняли, что Миша является автором вредоносных дополнений для Firefox. =)
> Отсюда мы поняли, что Миша является автором вредоносных дополнений для Firefox. =)"Железная логика, а теперь докажите" (ц) наш класрук и математик в ФМШ
А ведь всерьёз оторопел, когда увидел такой довод. И он именно что в лучшем разе ленивый.
>> Отсюда мы поняли, что Миша является автором вредоносных дополнений для Firefox. =)
> "Железная логика, а теперь докажите" (ц) наш класрук и математик в ФМША чего ты оскорбился тогда? За авторов малвари обидно?
«Не верю!» ©
=)))
> А чего ты оскорбился тогда? За авторов малвари обидно?Не оскорбился, а оторопел. За мозиллу обидно. И за нас, ейных юзеров.
> Не оскорбился, а оторопел. За мозиллу обидно. И за нас,
> ейных юзеров.ESR до весны поддерживается. Проживём.
Марш учить формальную логику, в частности смысл Forall и Exists.
>Для демонстрации своего заявления Стиллман ... успешно прошло автоматизированную проверку ... дополнение осуществляло перехват запросов ... собирало данные о паролях вводимых в web-формы, после чего отправляло полученные сведения на внешний HTTP-сервер.Хорошая "демонстрация", а сообщил он о ней через сколько мегабайт полученых данных ?
Сходил по ссылке к новости, я так понял он этот плагин не пытался продвинут в реальный мир, и не факт, что его бы не заблочили почти сразу после релиза.Линкиз статьи на исходники
https://github.com/dstillman/amo-validator-bypass
Пиар zotero, ящитаю.
Вижу решение: Mozilla создаёт каталог приложений, в котором подписанные и проверенные дополнения отмечены специальным значком. Если пользователь ставит неподписанное или непро... WAIT, OH SHI~ Да ведь уже прямо сейчас всё так и работает!
это не решение, а булшит, такое же как и "специальные значки" для https - долбозвончиков и так разведут на пароли.
Долбозвончиков и так разведут. Отдельную сборку с ФФ, например, сделают и поставят вместо основной юзеру. А в ФФ вместо того чтобы вынести хранилище настроек секьюрити куда-нибудь с доступом только для администраторов пытается переложить с больной головы на здоровую.
Shumway то когда подпишут? (единственное расширение ради которого у меня стоит фурифокс)
https://github.com/mozilla/shumway/issues/2329
А нельзя добавить в браузер нормальную систему безопасности с разветвленной структурой прав на действия и уровнями доверия (по сути, файервол для дополнений)? И подписывать дополнение с уже настроенным профилем безопасности?
Все бы хорошо. Но домохозяйки не разбирутся. А у браузера аудитория не только продвинутые пользователи. Сколько замечал когда установило кому то антивирус на комп, он даже потом их по русски спрашивает, ни кто из них не разбирается и просто жмут ОК. Наверно такоэие вопросы боятся вводить что бы аудиторию не растирять.
Откуда у домохозяек фаерфокс?
У них Хром, а то и вовсе ИЕ. Ну или Сафари, ежди Мак купили.
Фаерфокс жив до сих пор только за счёт технически грамотных пользователей, которым нужны настраиваемость и функционал в браузере.
Рано или поздно Мозилловцы похоронят и то, и другое, после чего Лиса издохнет, ибо кроме этих двух дисциплин она ничем более похвастаться не может.
Нужно вообще убрать маркет дополнений и выпилить все к чертям. Все, что пользователь ставит сам - пусть ставит, на свой страх и риск. Предупредить его 3 раза при установке и все! А то как мыши на поле кактусов.
Давно надо делать допуски для дополнений аналогично андроидам и айфонам: лезет в сеть - спросить у пользователя можно или нет, и адрес показать. 95% плагинам сеть не нужна априори.
Ну дык сейчас им нужно просто быстро пепевести всех на подписи и детально проверять дополнения нету ресурсов, а потом пусть постепенно закручивают гайки, а популярные дополнения проверяют и вручную.
Я надеюсь, что слив данных на сторону не считается сабжевыми компаниями нормальным. (ведь они сами это делают)
С нетерпением ждём в комментах тех, кто с таким упоением доказывал нужность подписанных дополнений. Мол, обязательные подписи и пользователя защитят, и Мозилла репутацию сохранит.
Ну-ну.
Таки это скорее плюс чем минус, даже с учётом того, что проверку можно обойти. Теперь хакерам придется приложить хоть какие-то усилия, а не просто разместить ссылку на своём сайте. Ну а что мы собственно теряем? Для программистов решения по использованию неподписанных будет, хоть какое-нибудь. А простым пользователям оно не нужно.
> Таки это скорее плюс чем минус, даже с учётом того, что проверку
> можно обойти. Теперь хакерам придется приложить хоть какие-то усилия, а не
> просто разместить ссылку на своём сайте. Ну а что мы собственно
> теряем? Для программистов решения по использованию неподписанных будет, хоть какое-нибудь.
> А простым пользователям оно не нужно.Руление Мозиллой парком дополнений каждого пользователя — это не круто. Завтра они с гуглом подпишут контракт, и выкинут из магазина всё, что блокирует гугловую рекламу, и заодно дополнения режущие рекламу на YouTube (или позволяющие с него качать), вроде YouTube Center. И что простому пользователю делать?
>> Таки это скорее плюс чем минус, даже с учётом того, что проверку
>> можно обойти. Теперь хакерам придется приложить хоть какие-то усилия, а не
>> просто разместить ссылку на своём сайте. Ну а что мы собственно
>> теряем? Для программистов решения по использованию неподписанных будет, хоть какое-нибудь.
>> А простым пользователям оно не нужно.
> Руление Мозиллой парком дополнений каждого пользователя — это не круто. Завтра они
> с гуглом подпишут контракт, и выкинут из магазина всё, что блокирует
> гугловую рекламу, и заодно дополнения режущие рекламу на YouTube (или позволяющие
> с него качать), вроде YouTube Center. И что простому пользователю делать?Во первых даже в Chrome не блокируют блокировщики рекламы.
А во вторых для youtube есть замечательная утилита youtube-dl. Кроме того встроенные инструменты разработчика по своей сути позволяют увидеть и скопировать ссылку на любое медиа. Это если забыть о различных сниферах.
> Во первых даже в Chrome не блокируют блокировщики рекламы.А вот YouTube Center из гугловского магазина вылетел только так.
> А во вторых для youtube есть замечательная утилита youtube-dl. Кроме того встроенные
> инструменты разработчика по своей сути позволяют увидеть и скопировать ссылку на
> любое медиа. Это если забыть о различных сниферах.Ага, то есть подписи и контроль Мозиллы дарят нам радость костылей. Костыли дарят, от говна не уберегают.
Очень круто, очень полезно!
Если какой-то ресурс сильно козлит, то просто надо валить с этого ресурса.
Введет ютюб drm повсеместно на видео, и нормальную проверку, что пользователь посмотрел вступительный рекламный ролик (хотя бы тупо проверка по времени на сервере).Тоже плакать будешь?
Ты не путаешь наличие рекламы на ресурсе и возможность с помощью расширения в браузере её убрать? На ОпенНете тоже реклама есть, не вижу, чтоб ты свалил.
Так себе сравнение. На опеннете не заставляют перед чтением новости 5 секунд смотреть только на рекламу.
Масштабы разные на много порядков, вот и не заставляют.
Суть не в том, вообще. И не в конкретных сайтах.
Завтра?
На Андроиде уже есть неотключаемая хренобенька с Яндекс-поиском, делающая андроидовый фокс абсолютно непригодным к использованию.
Спасибо, Кэп!
> При этом, несмотря на то, что автоматизироанная проверка создаёт лишь видимость безопасности, внедрение обязательного применения цифровых подписей никто не собирается отменять - лидер команды Mozilla по взаимодействию с разработчиками дополнений, указал на то, что большинство авторов вредоносных дополнений ленивы и не будут прибегать к подобным техникам скрытия вредоносной активности, что позволит блокировать большинство вредоносных дополнений.
> особенно в контексте того, что код можно сгенерировать на лету и выполнить через eval().Конечно не будут. Они скорее сольют реальный код бекдора с удаленного хоста одним из миллиона способов и запустят его. В результате само дополнение будет (практически) чисто как слеза младенца и пройдет любые проверки.
А что делать с локальными дополнениями? Допустим, у меня есть дополнения, которые я не хочу выкладывать в маркет, а хочу использовать на своих компах. Я теперь не смогу их установить?
Dev-версия Огнелиса позволяет ставить неподписанные. Ну и ещё, кажется, обещали в ночнушках.
Юзать ночнушку или самосборку фокса. если дать возможность отключать проверку в конфигах, то вирусня так и будет делать.
Ну, можно было бы предусмотреть что-то типа опции командной строки, чтобы установить без проверки.
Достаточно запретить неподписанным расширениям менять значения в about:config, и левая вирусня ничего сделать не сможет. А для подписанных расширений, типа постоянно лазящего туда CTR, можно выводить предупреждения и/или запросы.
Это всё обсуждалось уже. Вирусня — отмазки.
>Достаточно запретить неподписанным расширениям менять значения в about:configА зачем расширениям самим туда лазить? Вирусня тупо залезет в конфиг лисы и сама изменит нужные ей настройки, и если там можно вырубить проверку подписей она это сделает и тогда засунет своё расширение благополучно.
Если речь о самой установке вредоносных расширений не подписанных, то тогда нужно не только about:config запрещать менять, а отрубить им пол API, но тогда возникает вопрос а нафига эти кастрированные API вообще содержать там проще выпилить саму возможность работы не подписанного? Лучше тогда сразу реализовывать нормальный механизм с запросом привилегий у юзера, но если юзер ничерат не знает он все равно всё разрешит.
> А зачем расширениям самим туда лазить? Вирусня тупо залезет в конфиг лисы
> и сама изменит нужные ей настройки, и если там можно вырубить
> проверку подписей она это сделает и тогда засунет своё расширение благополучно.И это обсуждалось тоже. Если у тебя уже вирусня на машине — тебя уже поимели.
Если не было, и ты сам сперва отключил проверку подписи, а потом поставил непонятно что непонятно откуда — ты сам виноват, знал на что идёшь (и не надо кивать на «обычных» пользователей, они в about:config не лазают).
> Если речь о самой установке вредоносных расширений не подписанных, то тогда нужно
> не только about:config запрещать менять, а отрубить им пол API, но
> тогда возникает вопрос а нафига эти кастрированные API вообще содержать там
> проще выпилить саму возможность работы не подписанного? Лучше тогда сразу реализовывать
> нормальный механизм с запросом привилегий у юзера, но если юзер ничерат
> не знает он все равно всё разрешит.Речь о возможности отключить обязательную проверку подписи через about:config.
Насчёт запроса привилегий — разве что в дополнение к подписям (я про это выше писал), сами по себе привилегии ничего не решат.
>> И это обсуждалось тоже. Если у тебя уже вирусня на машине — тебя уже поимели.У Mozilla нет цели избавлять юзера от вирусни. Это забота производителей антивирусных продуктов. Цель Mozilla - сделать так, чтобы вирусня на тачке юзера не лезла в браузер.
> У Mozilla нет цели избавлять юзера от вирусни. Это забота производителей антивирусных
> продуктов. Цель Mozilla - сделать так, чтобы вирусня на тачке юзера
> не лезла в браузер.А зачем ей? Судя по комменту выше эта вирусня уже свободно в конфиги Огнелиса уже пишет (а значит уже скорее всего скоммуниздила куки, хранилище паролей и прочее). Это уже капец и никакими подписанными расширениями не решается.
Еще разок. Если малварь уже сперла куки, пароли и пошифровала домашнее порно юзера - это беда, но это проблема юзера. Цель Мозиллы - сделать так, чтобы даже в этом раскладе не допустить малварь до изменения веб-страниц, показываемых в браузере (вставка рекламы, фишинг, etc). И неотключаемая проверка подпискй - шаг к этой цели.Для чего это надо? Например, для того, чтобы сберечь свою репутацию (юзер туп и гонит на Мозиллу, вместо того, чтобы гнать на себя). Или для того, чтобы уберечь юзера от фишинга даже в такой ситуации.
Ваша позиция "у него уже куки сперли, можно наcрать и бросить юзера совсем к xренам" - в маньшинстве.
> Еще разок. Если малварь уже сперла куки, пароли и пошифровала домашнее порно
> юзера - это беда, но это проблема юзера. Цель Мозиллы -
> сделать так, чтобы даже в этом раскладе не допустить малварь до
> изменения веб-страниц, показываемых в браузере (вставка рекламы, фишинг, etc). И неотключаемая
> проверка подпискй - шаг к этой цели.Уже показали, что это не работает — дополнения с подписью не гарантируют ничего.
Не то что от фишинга, даже от исполнения произвольного кода это не защищает.
Новость-то читал?
Хотя одно гарантирует — Мозилла сможет по своему усмотрению диктовать юзеру, какие расширения ему можно использовать.
К чему бы это? =)> Для чего это надо? Например, для того, чтобы сберечь свою репутацию (юзер
> туп и гонит на Мозиллу, вместо того, чтобы гнать на себя).
> Или для того, чтобы уберечь юзера от фишинга даже в такой
> ситуации.Для чего это — я сказал. Работает оно только как анальный ограничитель.
> Ваша позиция "у него уже куки сперли, можно наcрать и бросить юзера
> совсем к xренам" - в маньшинстве.Меня ничуть не печалит, что я не из большинства.
Малварь, спирающая куки это один вид. Малварь, шифрующая файлы - это другой вид. Малварь, лезущая крутить баннеры в браузер это третий вид.Достаточное число малверписателей предпочитает не трогать куки с паролями, а крутить себе рекламу. Тише, беспалевнее (юзеры очень часто не понимают, что это вирусня) и статья другая, чем за угон платежного акка.
> Достаточное число малверписателей предпочитает не трогать куки с паролями, а крутить себе
> рекламу. Тише, беспалевнее (юзеры очень часто не понимают, что это вирусня)
> и статья другая, чем за угон платежного акка.И при чём тут подпись расширений? Которая всё равно не пашет.
Если вирус уже на компе, то ничто нему не помешает попытаться подменить браузер на пропатченный (например, с отключенной проверкой цифровой подписи). ИМХО, подписи практически бесполезны в качестве защиты со стороны компа (поможет только отсутствие прав у пользователя на перезапись бинарника браузера и изменения иконки на рабочем столе, чтобы другой браузер не запускался). Поэтому я считаю, что было бы вполне нормальным разрешать установку дополнений через командную строку с опцией --no-signature-check или подобной.Цифровая подпись может лишь защитить от случайной установки аддона, когда пользователь зашёл на сайт, а сайт ему и предложил поставить аддон "for better user experience".
> Достаточно запретить неподписанным расширениям менять значения в about:configникакакое расширение не должно иметь возможности что-то менять в конфиге.
> никакакое расширение не должно иметь возможности что-то менять в конфиге.Половина функций CTR этим занимается. Удобно для лентяев.
Будет не брендирования версия ФФ.
А, вообще, имхо, с дополнениями пора как с полноценными приложениями обращаться -- запускать в отдельном контейнере, и просто блокировать вызываемое API в зависимости от наличия/отсутствия подписи, а также от запрашиваемых прав в манифесте.
Угу, андроиду это здорово помогает бороться с малварью.
Идеальный вариант! В том смысле, что в реальной жизни не работает.
> Угу, андроиду это здорово помогает бороться с малварью.
> Идеальный вариант! В том смысле, что в реальной жизни не работает.Всё зависит от того, как реализовать. Что угодно можно сделать хорошо или плохо.
Вот, например, есть аддон, который иконки на статус баре переставляет, как пользователю нравится. Он не пользуется никаким "опасными" API, имеющими доступ к пользовательским данным. Теоретически, такой аддон можно было бы и без подписи запускать, при условии, что вызов "опасного" API для него запрещён.
Правда, практически второй такой аддон будет переставлять иконки так, как нравится рекламной сети, подсовывая свое благоухающее вместо домашней.
> В том смысле, что в реальной жизни не работает.ну так как это сделали уроды из гугла оно, конечно, никогда работать не будет. Т.е. где можно разрешить сразу всё или запретить сразу всё. Но придурки из мозиллы лучше всё равно сделать не смогут.
Все пытаются решить проблемы тех кто не хочет разбираться в правилах безопасности и соответственно готов всё разрешить и делают это путём решения за него что хорошо, а что плохо, но незадача в том что ресурсов на такое решение(с приемлемой скоростью) не хватает даже у гугла.
А технически хорошее решение нешарящих будет пугать и/или те выработают рефлекс всё равно всё разрешать.
"Дополнения" - они и имеют смысл только при полном доступе к кишкам каркаса! Тут важно другое: грануляция API (т.е. насколько точно можно ограничивать возможности плагина) и мощность контроля за действиями плагина (т.е. не ОТРЕЗАТЬ функциональность, а выдавать её, контролируя что плагин делает).
Скажем, плагин скачивания картинок - выдавать не полный доступ в сеть, а только по HTTP и только GET запросы + полный фильтр кукисов. И попутно мониторить, куда плагин лазиет (запрещая доступ к конкретным ресурсам). Тогда даже самый гнусный зловред заемучается вылезать к малварь-сайтам.
вот что бывает, когда об комфорте для содомитов начинают заботиться больше, чем об пользе для традиционных пользователей.
В Хроме eval() и много чего ещё просто не работает в расширениях. Даже простой <script> блок с кодом не работает, нужно выносить в файл.
Плюс там есть permissions, которые можно отредактировать в файле manifest.json. Файл лежит в ~/.config/google-chrome/<profile>/Extensions/<extension_id>/<version>
Я так и делаю -- качаю расширение, убираю ненужные пермишны и автоапдейт и пользуюсь на здоровье.
> В Хроме eval() и много чего ещё просто не работает в расширениях.Его можно выполнить на уровне открываемых сайтов, подставив из расширения код на загруженную страницу, которую браузер успешно выполнит в контексте этой страницы. Именно так баннеры заменяют и подставляют код для отслеживания.
Следующий шаг это общедоступный скрипт для беззаботного прохождения их автоматической проверки, постоянно обновляемый. Раз они упёртые и правды якобы не видят.
Кто-то уже предлагал только дополнения с свободным открытым кодом?
> Кто-то уже предлагал только дополнения с свободным открытым кодом?Я предлагал. Но РМС не поддержал и выкатил более безопасное решение :(
https://www.stallman.org/stallman-computing.html> I am careful in how I use the Internet.
> I generally do not connect to web sites from my own machine, aside from a few sites I have some special
> relationship with. I usually fetch web pages from other sites by sending mail to a program (see
> git://git.gnu.org/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then
> I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try
> lynx first, then a graphical browser if the page needs it (using konqueror, which won't fetch from other sites
> in such a situation).
> I occasionally also browse unrelated sites using IceCat via Tor. Except for rare cases, I do not identify
> myself to them. I think that is enough to prevent my browsing from being connected with me.
В chrome всегда можно глянуть код. .crx файл это просто zip. См ~/.config/google-chrome/<profile>/Extensions
Ну и какое это всё имеет значение если xpi. адин хрен бодро хавается бразухой без всяких подписей? жывотные блджад..
из всех дополнений юзаю ток ublock origin, климакс у автора вроде прошел, так что вполне безопасно, режет как надо.....на остальное мне пофиг.
Нужен репозиторий с сорцами дополнений. А блобы в браузере найух не нужны
А разве браузерные дополнения сейчас не на JavaScript?
Они там что, с дуба рухнули? Обязательная проверка в свободном браузере? На IceWeasel чтоли переходить?