Несколько недавно найденных уязвимостей:- Вышел (http://googlechromereleases.blogspot.com/2011/03/stable-and-...) корректирующий релиз web-браузера Chrome 10.0.648.133 в котором устранена уязвимость, степень опасности которой отмечена как высокая (не критическая). Уязвимость присутствует в WebKit, свойственна всем браузерам на базе данного движка и может привести к повреждению областей памяти при попытке обработки определенным образом оформленных таблиц стилей. Благодаря многоуровневой защите Chrome напрямую эксплуатировать данный браузер проблематично, но успешная эксплуатация менее защищенных web-браузеров уже была продемонстрирована (http://www.opennet.me/opennews/art.shtml?num=29886) на конкурсе Pwn2Own. В частности, данная уязвимость была использована для взлома телефона Blackberry;
- В утилите patch найдена уязвимость (http://lists.gnu.org/archive/html/bug-patch/2010-12/msg00000...) позволяющая модифицировать файлы вне базовой директории, при об...URL:
Новость: http://www.opennet.me/opennews/art.shtml?num=29913
> Благодаря многоуровневой защите Chrome напрямую эксплуатировать данный браузер проблематично, но успешная эксплуатация менее защищенных web-браузеров уже была продемонстрирована на конкурсе Pwn2Own.Что скажут любители "легковесных" браузеров, типа Midori?
мы любим "легковесные" браузеры за "легковесность", а не за безопасность.
> мы любим "легковесные" браузеры за "легковесность", а не за безопасность.Ну да, я тоже могу на Qt пришпилить виджет с Webkit к главному окну, сделать поле для ввода адреса - и вот вам пожалуйста, легковесный браузер. Ценности естественно никакой это не представляет.
>я тоже могуне понимаю, как это связано с предыдущим комментарем, но сделай, раз уж можешь.
в мидори своих багов хватает, а этот должны разработчики WebKitа исправлять... IMHO
Проблема вот в чем: природа разработки софта такова, что багов не избежать. Особенно в такой комплексной штуке как рендеринг страницы в браузере. В хроме это учтено и рендеринг происходит в песочнице, поэтому этот и будущие баги хоть и являются критическими, но не приведут к исполнению чужого кода.
> рендеринг происходит в песочницеОсиль MAC и у тебя все программы будут в песочнице.
> Осиль MAC и у тебя все программы будут в песочнице.Извиняюсь, контейнерами сие делается в 100500 раз проще и очевиднее. Мозг надо иметь в 100 раз меньше, а эффективность как минимум не хуже. У гугли есть враппер с буквально несколькими сисколами, достаточно очевидными, врапающий процессы в отдельные контейнеры-песочницы. Я на него совершенно случайно набрел когда имел свой мозг вопросом какого хрена не работает мой собственный враппер в контейнер, после чего нагуглилось :D то же самое но в исполнении гугли и работающее, ыгыгы. В запчастях хрома.
> Что скажут любители "легковесных" браузеров, типа Midori?"Ааа!!!"
"Повреждение областей памяти" — это опять штучки C/C++?
>"Повреждение областей памяти" ? это опять штучки C/C++?Это опять комментарии iZEN'а?
Нет, это ошибки в микропроцессоре.
> "Повреждение областей памяти" — это опять штучки C/C++?Иди, напиши хоть 1 нормальный браузер на яве, а потом приходи, чтоли. Можно долго орать что %s - крап, отстой и вообще, оскорбляет соседскую собаку. Но пока не появится реалистичной замены с парметрами не хуже - это только воплями и останется. Какой смысл орать про дерьмо, не предлагая взамен конфет?
ЗЫ кстати гугель довольно прилично хитровыгнулся с изоляцией в своем хроме. Я так понимаю что в линухе у них есть враппер загоняющий процессы хрома в контейнеры. Неплохо придумано. Не панацея, но уровень изоляции вполне культурный. Кстати таким манером можно загонять и другие процессы в отдельные песочницы, в случае дыр в оных процессах вред для системы будет заметно меньше и это врядли сильно хуже чем запуск каких попало ява-бинарей из интернета.
Так это и без хромов доступно, во всяком случае в redhat и fedora. Поставьте пакет policycoreutils-python для текстовых приложений и policycoreutils-sandbox для графического sandboxX и вот замечательно средство для запуска любого приложения в отдельной песочнице, под надежной защитой selinux.
> Так это и без хромов доступно, во всяком случае в redhat и fedora.
> Поставьте пакет policycoreutils-python для текстовых приложений и policycoreutils-sandboxСпасибо, конечно, но имхо вы это сами и юзайте. Вместе с вашими питонами и SELinux'ами. А я пешком какнить постою.
> для графического sandboxX и вот замечательно средство для запуска любого приложения
> в отдельной песочнице, под надежной защитой selinux.Угу, у селинукса проблема только в том что мозг сломаешь если потребуется сделать шаг в сторону от готовых профилей. Весь этот мандатный контроль по большому счету нужен фсбшно-црушным конторам, у которых регламент такой по работе с секретными документамИ, а в силу специфики контор, если их регламент требует чтобы трава была зеленой, а на улице вдруг некстати оказалось -20 и вообще снег выпал, значит, берут лопату и ведро с краской в зубы, и вперед! Ведь трава должна быть зеленой, а в системе должен быть мандатный контроль, и не колебет. А вот у меня - нет такого регламента. И я не прусь от перспективы красить траву в зеленый цвет в -20. И мне в 100500 раз проще контейнер слепить чем политику селинукса почему-то. Считаные сисколы на голых сях, мля. Без ваших уродских питонов, геморройных селинкусов, их крейзанутых политик и какой там еще нафигнужной и излишне навороченной бнопни.
Это мнение в духе "я не асилил, значит это остой". Все там просто. Для тех, кто не хардкорный админ есть куча гуевых утилит, есть куча переменных selinux, разрешающих определенные возможности (getsebool -a и в путь..), есть простые объяснения, как решать типичные (для 99% пользователей) проблемы вроде http://www.linuxtopia.org/online_books/rhel6/rhel_6_selinux/...
А уж сэндбоксами пользоваться совсем несложно, перечисляете, к каким файлам иметь доступ и пускаете sandbox ваше-приложение - вот и все (http://people.fedoraproject.org/~dwalsh/SELinux/Presentation...).То, что вы описываете - принудительный мандатный контроль всего - действительно актуально для ФСБ, а вот то, что работает по умолчанию, отлично защищает и не мешается. У меня среди серверов на 5-ке (в основном) и чуток на 6-ке нужно настройки selinux править буквально на паре из нескольких десятков, при этом только на одном пришлось создавать политику с разрешением (и, представьте себе, не вручную, а полностью автоматически, одной командой) - на остальных включить пару опций в setsebool и переключить контекст через semanage, при этом разумеется по логам совершенно очевидно, какому каталогу какой контекст нужно поставить, и все.
Если вы считате, что для разрешения разных действий в selinux требуется создавать политику, я могу только заключить, что вы совсем не пробовали читать доки, где четко сказано, почему это неправильно, сложно и ведет в тупик. Хотя иногда надо, конечно, по минимуму - но в этом случае политика создается автоматически, нужно только потом ее включить. И уж контейнер средствами selinux, как описано выше в pdf'ке это намного проще и удобнее ваших сисколлов.
> Это мнение в духе "я не асилил, значит это остой".А у меня нет в жизни цели "асилить %s". У меня есть задачи и хотелки. Лично мои. И в моих же интересах сделать так чтобы мне было с ними просто разобраться. Геморрой из принципа - это не мой подход. Назовите мне преимущества которые я реально получу - и я подумаю стоит ли соотношение геморроя и преимуществ моих затрат сил, или же решение идет в сад. Мне вот как-то соотношение затрат сил и результата в случае контейнеров нравится гораздо больше. Результат примерно тот же и даже лучше: довольно параноидальная изоляция с отделением от основной системы, вплоть до того что это будет выглядеть для софта как якобы отдельная машина, вообще без доступа к файлам и процессам "хоста" и могут быть даже некие лимиты на жрач ресурсов.
> Все там просто. Для тех, кто не хардкорный админ есть куча гуевых утилит,
Только вот гуевые утилиты - они годны для наиболее типовых случаев. Для типовых случаев и шаблоны готовые есть, етц. Жопа начнется когда готовых решений вдруг не окажется - вот тут этого SELinux можно будет отхватить на всю катушку. А мне это надо??? У меня нет цели "осилить Selinux". У меня задачи и хотелки есть. Например вида "а давайте ка я отгорожу вон тот демон от всех остальных, чтоб он мог только по своим файлам шариться, а все остальное - denied напрочь".
> есть куча переменных selinux, разрешающих определенные возможности (getsebool -a и в
> путь..), есть простые объяснения, как решать типичные (для 99% пользователей) проблемы
> вроде http://www.linuxtopia.org/online_books/rhel6/rhel_6_selinux/...Все круто, кроме того что мне не особо понятно какие преимущества мне даст эта прорва геморроя. Зато я вижу очевидные грабли: как только случай окажется хоть немного нестандартным, придется очень некисло поплясать с бубном осваивая это мегамонстрило, и да, я совсем не прусь от перспективы прогреть свой мозг вопросом "ой, а что это за 100500 переменных кучей?". Задача как правило ну совсем не так выглядит. Вы в вашем праве решать сие Selinux'ом. А я какнить контейнераим обойдусь, спасибо. Во всяком случае, с ними я будучи разбужен посреди ночи легко и с закрытыми глазами назову действующий там эффективный набор прав по отношению к хост-системе. А вот то что я смогу такое же повторить с Selinux - это еще совсем не факт :-)
> А уж сэндбоксами пользоваться совсем несложно, перечисляете, к каким файлам иметь доступ
> и пускаете sandbox ваше-приложение - вот и все (http://people.fedoraproject.org/~dwalsh/SELinux/Presentation...).1) Почему-то этим козыряют только федоровцы. А у других это вообще насколько работать будет и насколько большие грабли и пляски с бубнами там будут ждать? Я не собираюсь юзать федору, как минимум из-за абсолютно блевотного пакетного манагера, традиционного для редхатов и систем на его основе.
2) Извиняюсь, но с контейнерами в минимуме я могу отделаться считанными сисколами из мизерной програмки, если мне приспичит нечто нестандартное. Я могу ее перекроить как угодно. Она целиком умещается в моем мозгу, как и все происходящее. Все эти нее...ческие селинуксы подпираются не менее нее..ческими политиками и нее...ческими скриптами. Все это в сумме хочет занять слишком много места в моем мозгу без очевидного профита взамен за это. А это мне нафига? Пусть федористы и греют мозг на ровном месте, имхо :)> То, что вы описываете - принудительный мандатный контроль всего - действительно актуально
> для ФСБ, а вот то, что работает по умолчанию, отлично защищает
> и не мешается.Оно защищает *и* не мешается только до тех пор пока вы юзаете абсолютно стандартные конфигурации и "типовые" программы, что имеет свои минусы. А чуть щаг в сторону - и или нет защиты, или вы уже во всю сношаетесь с монструозным фреймворком и его аццкими политиками. Видал я такое счастье, аж 2 раза.
> У меня среди серверов на 5-ке (в основном) и чуток на 6-ке нужно
> настройки selinux править буквально на паре из нескольких десятков,Да, но даже для этого если не повезет придется глубоко лезть в этот монструозный крап. Зачем бы мне это? Я не страдаю мазохизмом и почему-то наглейше полагаю что контейнеры изолируют нифига не хуже, благо, их то же самое ядро обеспечивает :). А вот понимать что там происходит, мониторить нежелательную активность, понимать кому и что льзя/нельзя с ними как-то шибко проще получается.
> при этом только на одном пришлось создавать политику с разрешением
> (и, представьте себе, не вручную, а полностью автоматически, одной
> командой) - на остальных включить пару опций в setsebool и переключить
> контекст через semanage, при этом разумеется по логам совершенно очевидно, какому
> каталогу какой контекст нужно поставить, и все.А с контейнерами все это нафиг не надо - можно вынести потенциально проблемные программы (e.g. сетевые демоны) в их собственную песочницу. И готово. И просто, и эффективно, и мониторить состояние дел потом несложно. А мандатный контроль ради мандатного контроля самоцель в основном для всяких бюрократов типа спецслужб, у которых сто лет такой регламент и менять его они нифига не собираются, потому что бюрократия - решает :)
> это намного проще и удобнее ваших сисколлов.
Ну, для тех кому впадлу сисколы изучать - тоже есть готовые утилиты :)))). Просто с сисколами - понятно как по факту работает вся эта механика, что и какого хрена произойдет и почему вот так, а не иначе :P. И можно легко сделать что-то нестандартное (гугл кстати сделал). И оно даже будет работать в любом не сильно ископаемом линухе (контейнеры в ядре сделали довольно давно уже).
http://danwalsh.livejournal.com/40350.html#cutid1 <-- хотите сказать, такой контейнер сложнее сисколлов? Не смешите меня ;)
> http://danwalsh.livejournal.com/40350.html#cutid1 <-- хотите сказать, такой контейнер
> сложнее сисколлов? Не смешите меня ;)Я хочу сказать что:
1) Гуйные конфигурялки - это круто. Пока вам надо только то что там есть. А когда надо что-то чуть больше чем там есть - все, шаг в сторону и весь мозг вынести можно. Selinux весьма геморно сделан, рулесы навороченые, а что прикольнее всего - достаточно новости почитать чтобы найти сплойты которые его в 2 счета выпиливают несмотря на все эти навороты. Итого: много гемора, а ради чего - не очевидно. Сама по себе идеология мандатного контроля, требуемая в основном бюрократами из спецслужб лично мне не вставляет. Она конечно гибкая, правами можно вертеть как угодно. Зато в отместку за это - такие системы геморны в настройке и как правило в такой системе довольно сложно понять - какой же эффективный набор прав действует в сумме. Мне это не нравится.И да, мне технически проще сделать пару сисколов в ядро с четким пониманием того что получится и какие далее у кого права и возможности будут, чем обуздать этот монструозный фреймворк и греть мозг вопросом какие там права по факту получатся. Кому это не нравится - может пожаловаться в спортлото/пройти на.../убиться об стену/выпить йаду/... :). Кстати, для тех кто не хочет разбираться с сисколами - есть соотв. утилиты. Я просто люблю поимать как и что работает и что, где и какого хрена происходит. Чего и вам с вашим мозговыносящим Selinux желаю :)))
> В утилите patch найдена уязвимость позволяющая модифицировать файлы вне базовой директории, при обработке специально оформленного diff-файла ("/../../.." в путях);Офигеть! И они только теперь исправили?
моя всегда думала, что это фича, а не баг - как бы оно делало то, что написано в дифф файле :-S
Аналогичную фичу в tar-е исправили несколько лет назад. И в веб-серверах это считается откровенным багом.
> И в веб-серверах это считается откровенным багом.дададада! веб-сервера всенепременно нужны для того, чтобы запускать patch через cgi!
> моя всегда думала, что это фича, а не баг — как бы
> оно делало то, что написано в дифф файле :-Sсовершенно согласен. по-моему, это называется не «исправили уязвимость», а «кастрировали функционал».
> Офигеть! И они только теперь исправили?Древний боян, но вы же понимаете что программе достаточно "просто работать с файлами" чтобы этот фокус сработал. Поэтому и срабатывает - программе достаточно просто работать с файлами не ожидая западлостроения. А тут вот оно :). Это писалось в времена когда злонамеренные данные из внешнего мира не были повседневным явлением. Это сейчас вам могут подсунуть zip, torrent, или вот патч например, адресующий ../../../../your.cool.file чтобы your.cool.file перезаписать своим барахлишком.
Да просто странно бывает, когда читаешь о исправлении в распространённой программе уязвимости, которая была исправлена давным-давно в других распространённых программах. Тем более, пользователи patch-а уж всяко слышали эти новости.Интересно, уязвимы ли подобным образом системы управления версиями?
> Интересно, уязвимы ли подобным образом системы управления версиями?Проверьте :))). Готов поспорить что такие сюрпризы наверняка зарыты еще в куче неожиданных мест :). Более того, если какойнить make install вместо инсталла сделает rm -rf /, или скомпиленая программа сделает то же самое - ничему особо не противоречит, поэтому юзать программы или патчи откуда попало вообще не следует, как минимум без просмотра глазами до полного понимания что именно вам подсунули :)