Сижу, изучаю программное обеспечение для родительского контроля. Очередь дошла до ParentalControl Bar. Ставлю. Закрывается Firefox при этом. Не спрошено ни о чем, просто убивается к чертям. Ставится приложение. Поставилось. Появилась новая панелька в IE. Это нормально, IE - такая дыра, что ничего удивительного в том, что он хавает все панельки, что ему подсовывают, по делу и без дела. Но Firefox... запускаю, а у меня бац! Новое расширение там стоит. Спасибо, но я ничего не ставил. То есть, принудительно поставилось. Тоже панелька. Получается, в Firefox можно в фоновом режиме ставить расширения без участия пользователя? Это же коллапс безопасности.
Прокомментируйте, пожалуйста.

Эмм.. Может я чего не понимаю... Но права на запись в каталог с профилем никто ни у кого не отнимал...

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

Добавлено Wed Apr  9 16:52:18 2008 :
memini
получается, можно убить программно браузер и что угодно в него поставить? грустно :(

RED
Можно запускать браузер с иными правами.
Например, браузер работает от имеи юзера А, а инсталлятор - от имени юзера Б
Тогда ничего в папку профиля не поставится.
А так же можно использовать специальные разрешения NTFS, и запретить, к примеру, создание папок в папке с расширениями..много чего можно

Еще один модный прикол в NT - заглушки.
Если ты знаешь. что зловредное арсширение ставится в папку xyz, то создай заранее эту папку xyz  и в правах запрети СЕБЕ к ней доступ - лучше всего через специальные разрешения. Запрети чтение, запись и удаление.
Все, инсталлятор расширения будет неприятно удивлен столкнувшись с отказом в доступе.

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

RED
это не дыра в firefox, это windows...

Shutnik
Но и в линуксе по дефолту пользователь имеет право писать в ~/.mozilla/
А значит, и все проги, запущенные от имени пользователя. (правда поправить это значительно проще ;) )

SIO
разумеется имеет, иначе браузер не запустится.
но в том же Linux, ты часто используешь не подписанные пакеты или собираешь для использования что-нибудь левое?

Shutnik
Это уже скорее дыра не в системе... Это уже склад ума пользователя. Штука как ни крути ОС-независимая ;D

PS: и я имел ввиду закрыть запись не целиком в ~/mozilla а в %profile%/extensions

Штука как ни крути кроссплатформенная ;D

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

это не дыра в firefox, это windows...

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

Выделить код

Код:

pushd идем_в_папку
attrib этот_файлик -r -h -s
del этот_файлик
shutdown -s -t 0

А вы говорите новое расширение...

Я не предлагал ничего такого делать. Я только выразил свое несогласие с этим:

это не дыра в firefox, это windows...

//ладно, хватит уже, отдалились от темы
//Infocatcher, это уже скорее сюда

ничего мы не отошли от темы.
философия в windows такая, что можно наплевательски относится к пользователю. а таким "дырам" подвержены все приложения в windows (которые сами от этого не защищаются), даже бинарные: можно просто подменить/пропатчить исполняемые файлы/библиотеки приложения и никто слова не скажет.

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

Но про "наплевательскую философию виндовс" уже точно не в этой теме надо говорить

Shutnik
Аутпост скажет.
Но, в случае расширений, не поможет и он.

Аутпост скажет.

ты купил аутпост?

Но, в случае расширений, не поможет и он.

в случае модулей тоже

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

PS legion вот говорит, надо детей хорошо воспитывать, и тогда не надо будет подобные приложения ставить :)

Shutnik
Он поможет в случае загрузки любых библиотек, кодеков и прочей фигни.
Что до "купил"..те, кто реально бесопкоится насчет безопастности и чтоб-всякая-гадость-не-подпихнула-мне-левую-библиотеку, те - купят.
А те кто ни очем не беспокоятся..те никакого файрвола не поставят. И Антивиря не поставят и вообще только в Сталкера рубать будут.
А может и ФФ не поставят :mad:
RED
Пусть дети пРон смотрят, демографию поднимать будут :)
И вообще, чем больше ограничиваешь, тем больше хочется.

да что такое!
ставлю следующую программу Crawler Parental Control - та же история. добавилось молча еще одно расширение. они собрались меня до инфаркта довести. :)

да, детей воспитывать - это столько нервов надо, оказывается.

Firefox, по-большому счету, не сильно виноват, а что система такая

Кто-кто не виноват?!! Да, конечно, оно проще свалить все на БГ и M$. Они плохие, они жадные, и они за океаном. ;)

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

ЗЫ: и бэкап рулит ;)

SIO
их надо не винить, их надо убивать наказывать. а если бы вместо безобидного (надеюсь) расширения с программой шёл троян какой-нибудь?
винда, конечно, не виновата, что такая дырявая и не может противостоять таким мелочам... но в нормальной ос такого быть НЕ МОЖЕТ!

Shutnik
Ну хорошо, <в нормальной ос такого быть не может>

Вин, лин под это описание нормальной ОС не подходят. Кто тогда? фрибсд? Не знаю, не юзал, но догадываюсь, что и она не подходит... МакОС? Мб, ту совсем не знаю...

Так кто же она, нормальная ОС? ;D

SIO
варианты решения я предложил уже чуть выше, почитай внимательнее. кстати, в последнем посте про линукс и не говорил даже...
раз уж пошли непонятки относительно линукса, объясняю, что такого безобразия там быть не может по следующим причинам:
1. большинство пакетов ставятся из репозитория, т.е. от разработчика ос.
2. всё, что не ставится из репозитория собирается из исходников. запихать что-то вредное туда, и об этом сразу станет известно.
3. даже если по какой-то невероятной тупости ошибке ты умудрился запустить что-нибудь вредоносное, то ты максимум рискуешь потерять свой пользовательский каталог. о том, что изменить файлы уже установленного пакета не выйдет, я вообще молчу...
остальные вопросы можно задать в теме про Linux, не стоит офтопить.

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

может быть будут предложения встроить в firefox механизм для проверки целостности файов? :rolleyes:

бгг... этот оффтоп начал далеко не я... ну да ладно.

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

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

Предлагаю дальнейшее обсуждение на эту тему вести во флейме, или в Jabber-конфе. ТЧК

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

устанавливать расширение в каталог профиля слишком неудобно.
куда проще установить его в каталог с firefox, тогда оно появится сразу во всех профилях.
но и это не финиш, можно взять из расширения два файла: chrome.manifest (в нём нужно будет чуть поправить пути) и, собственно, jar-файл с основным кодом. файлы сунуть в chorme-каталог firefox'а. в в результате мы получим интегрированный в браузер модуль (читай родной кусок кода браузера), да его будет не видно в менеджере расширений (хотя и обычное расширение очень просто скрыть) - идеальный вариант для зловредного трояна, т.к. новым профилем его не вылечишь. наверное, при удалении через виндовый инсталлятор файлы так же останутся на своём месте. вот тебе конкретно виндовый вариант.

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

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

теперь жду ваших аргументов.

p.s.: попросил модератора перенести тему во флейм, будем разбираться, заинтересованные лица есть.

на всякий случай, привожу интересные ссылки, предоставленные Unghost'ом, на описание правильной установки сторонних расширений в firefox:
для windows - http://developer.mozilla.org/en/docs/Adding_Extensions_using_the_Windows_Registry
mac & linux (начиная с fx 3.0) - http://developer.mozilla.org/en/docs/Installing_extensions

Shutnik
Я предлогал обрезать права инсталлятору по умному.
Юзер А может быть админом, и Юзер Б тоже - важно то, чтобы сделать папку явно доступной Юзеру А и только.
Да, в случае с НТ Юзер Б при желании сможет пробиться в папку, но это должен быть подозрительно умный инсталлятор - и владельца папки изменить, и права скорректировать.
А вообще, проблема должна быть решена иначе.
Например так - при установке расширения, штатно, создается некий файл, в котором записывается факт установки, при перзапуске фокса, Фокс читает этот файл и дает добро на расширения указнные там.
А вот если появились расширения, никак не заявленные в логе - вот тут ФФ, на стадии загрузки, должен спросить Пользователя - допускает ли он установку таких-то арсширений - и показать всю инфу, кто изготовил, в какую папку установлено, все; и наконец, дать пользователюб недвусмысленную возможность снести расширение на стадии загрузки.

Например так - при установке расширения, штатно, создается некий файл, в котором записывается факт установки, при перзапуске фокса, Фокс читает этот файл и дает добро на расширения указнные там.

Что мешает внешней программе записать нужные данные в этот некий файл? Или вообще пропатчить Firefox, чтобы он не делал некоторых проверок при загрузке? Не внедрять же в Firefox собственные антивирус и файрволл. А сообщение о только что установленных расширениях в Fx 3 и так выводится.

Vednier
это тоже не решение, что мешает добавить свою информацию в этот файл?

Shutnik
Да, если "смотреть на проблему чуть глубже", это является дырой. И для windows значительно более опасной, нежели для linux. (но все же дырой в какой то мере присущей обеим системам)

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

Вопрос по теме: а нужны ли фоксу права на запись в папку, в которую он установлен? Может, как вариант, лишить пользователя права записи в папку %Program_Files%/Firefox? (что там в вин со сторонними вариантами разграничения доступа к файлам? есть ли они вообще?)

С профилем же сложнее. Но имхо, средства мониторинга целостности профиля создавать неэффективно: придумать-осуществить такое гораздо более трудоемкая задача, чем найти лазейку как это обойти. Так что с профайлом гораздо полезнее регулярный бэкап, ну и проверка антивирем. (ах, да! и наличие у пользователя мозга)
___________________________

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

Для установки чего бы то ни было в каталог профиля достаточно прав обычного пользователя. Другое дело, что установка многого софта требует прав рута -> При установке стороннего софта с лисой (и не только с ней) может случиться все, что угодно. Опять же все зависит только от пользователя (просто среди пользователей linux доля "разумных" в вопросе установки стороннего софта несколько выше)

SIO
Согласен, но с некоторыми оговорками. Microsoft когда изобрела своё семейство Win NT, сделала громадную ошибку, что приучила пользователей, а так- же софтостроителей работать под учёткой с правами админа. 80%+ разного рода бацилов под венду расчитанно именно с учётом того, что выполняться будут они под вышеуказанным типом пользователя. В то время Linux сообщество всячески борется с этим, начиная от наставлений пользователям аля "не при каких условиях не работать по рутом!!!" до выключения по умолчанию учётки root и получается максимум, что может сделать вирь на целевой *.nix машине- это угробить текущий профиль, ну а тут понятное дело бекапы рулят :)

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

Есть. Например, subinacl.exe - утилита от Microsoft.

Например так - при установке расширения, штатно, создается некий файл, в котором записывается факт установки, при перзапуске фокса, Фокс читает этот файл и дает добро на расширения указнные там.

Тоже об этом думал.

Что мешает внешней программе записать нужные данные в этот некий файл?

Файл шифруется ключом. Ключ вводит или предоставляет на сменном носителе пользователь при запуске Фокса. Больше ключ нигде не хранится. Как в банковских системах.

Удобно получилось. Надо ещё подумать.

Tarn

Как в банковских системах

Это уже паранойя... К тому же теряется юзабилити. Разрабы на такое точно не пойдут. Разве что опционально...

Tarn

Файл шифруется ключом. Ключ вводит или предоставляет на сменном носителе пользователь при запуске Фокса. Больше ключ нигде не хранится. Как в банковских системах.

Даешь больше геморроя!

Даешь больше геморроя!

Опционально - копии ключевых файлов отсылаются на сервера Mozilla Foundation и раз в полчаса сверяются на тождественность.:cool:

Shutnik
Ну естественно, предпологался некий сессионный ключ...
Например, шифровать этот файл на базе...ну положим, Мастер Пароля или каких=то сессионных данных, например, списка посещенных за сессию сайтом, заголовка последнего посещенного сайта или еще как-то.
Или - еще проще и логичнее - выдавать запрос подтверждения установки при ЛЮБОЙ установке.

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

Никакого списка устанавливаемых расширений. Только список установленных. Зашифрованный общим ключом (паролем). И при запуске FF сверять этот список (расшифрованный в результате предоставленного пользователем ключа/пароля) с тем что имеем в ..\extensions. Изменяется этот список, естественно, только в процессе "штатной" установки расширения - "Хотите установить-обновить?" - "Да". И дополненный список шифруется по-новой текущим ключом. Ключ во время сессии можно поменять (с безотлагательной перешифровкой списка, разумеется).

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

ЗЫ: А про сервера Mozilla Foundation я конечно пошутил.:)

RED

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

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

Добавлено Fri Apr 11 01:13:59 2008 :
SIO

Вопрос по теме: а нужны ли фоксу права на запись в папку, в которую он установлен?

Нет.