Немецкая компания Sirrix (http://www.sirrix.de/content/pages/home.htm) представила продукт под именем BitBox (http://www.sirrix.de/content/pages/57064.htm) (browser in a box - браузер в коробке), разработанный по заказу правительства Германии и представляющий собой безопасную версию браузера Firefox 4, которая работает в изолированном окружении и не может навредить или привести к утечке информации из операционной системы.
Интересно, что в качестве способа изоляции в BitBox используется не какая-либо легковесная технология виртуализации, а самый настоящий VirtualBox, внутри которого запускается урезанная версия дистрибутива Debian 6 с браузером Firefox вместо рабочего стола. Каждый запуск BitBox происходит "с чистого листа", возвращая виртуальную машину к изначальному состоянию. Для сохранения состояния, настроек браузера, а также полученных из сети файлов используется разделяемый с основной системой каталог, для доступа к которому необходимо войти в систему под другой учетной запис...URL: http://www.pcworld.com/businesscenter/article/227838/free_br...
Новость: http://www.opennet.ru/opennews/art.shtml?num=30559
Только мне это напомнило "русские распилы"? За ВиртуалБокс с Дебианом и Огнелисом наверняка миллионы ушли, не иначе. Хотя с ходу это сделает любой вменяемый школьник.
Тссс. Ты что контору палишь. Сейчас модно хаять только своё правительство. А в цветущем западе всё по-честному.
«Что ты смотришь на сучок в глазе брата твоего, а бревна в твоем глазе не чувствуешь... Лицемер! вынь прежде бревно из твоего глаза, и тогда увидишь, как вынуть сучок из глаза брата твоего»— w:Евангелие от Матфея. Гл. 7:3—5.п.с. Вот как вынем коррупционное бревно из своей страны, так сразу за другие примемся, ога? ;)
Вот, яркое подтверждение моих слов выше. Никто даже не знает сколько было выделено денег на этот "принципиально новый браузер", но некоторые уже принялись сопоставлять масштабы, априори утверждая, что у нас пилят куда больше.
>Вот, яркое подтверждение моих слов выше.Вовсе нет. Прочитайте еще раз.
Вовсе да, прочитайте ещё раз.
>Тссс. Ты что контору палишь. Сейчас модно хаять только своё правительство. А в цветущем западе всё по-честному.откуда же вы такие беретесь, а? как будто это - повод для оправдания, "у них тоже не лучше!"
да оттуда же, откуда и эти "в-этой-стране-всё-херово-а-вот-на-западе"
В целом, все сделано правильно, с виртуалкой можно получить неплохую защиту. Но нахрена VBox с Дебиан? Я боюсь, сколько же оно оперативы скушает вкупе с браузером и при этом наверняка будет тормозить? Я не эксперт по этому вопросу, но наверняка можно было некую легковесную песочницу поднять и там Firefox крутить. А то данное решение напоминает копание грядок бульдозером.
> Я не
> эксперт по этому вопросу, но наверняка можно было некую легковесную песочницуИ это называется, это назыываааееетсяяя.... Ххххррррромиууууммм! :D
Как всегда быдло заминусовало человека, который прав. Код рендеринга страницы, который больше всего подвержен уязвимостям как раз и работает в песочнице.
> Как всегда быдло заминусовало человека, который прав.А некто с ником "Толстый", как всегда, с пеной у рта кричит глупости и кидается какашками :-)
>Код рендеринга страницы, который больше всего подвержен уязвимостям как раз и работает в песочнице.
Ну и толку, если из этой песочницы можно свалить на раз-два?
в хромиуме нельзя
Уже можно...
какие твои доказательста ?
У них флеш насколько я знаю не до конца в песочнице.
> А некто с ником "Толстый", как всегда, с пеной у рта кричит
> глупости и кидается какашками :-)А что еще вы ожидали от такого ника? С таким ником только толстый троллинг и можно было ожидать. Как вы яхту назовете...
> И это называется, это назыываааееетсяяя.... Ххххррррромиууууммм! :DХром(иум) - прекрасный пример, иллюстрирующий песочницу, из которой очень легко выйти. Свовсем недавно было, и наверняка будет ещё не раз.
Это был флэш, хромИУМ не подвержен, но да, это демонстрирует что песочница не неуязвима. Это не первая уязвимость песочницы, хотя может и первая позволяющая запустить произвольную программу вне её.Надо сказать что VirtualBox тоже не неуязвим, и большинство уязвимостей, кажется, в механизме разделяемых реальной/виртуальной машиной папок.
> Хром(иум) - прекрасный пример, иллюстрирующий песочницу, из которой очень легко выйти.Ну на счет очень - вы загибаете. В линухе для хромиума создается натуральный такой контейнер, с своим нэймспейсом процессов, загончиком в ФС и прочая. Чтобы его разломать - надо сломать LXC. Теоретически это конечно возможно, а практически - дайте чтоли примеры сплойтов на это дело?
> прочая. Чтобы его разломать - надо сломать LXC. Теоретически это конечноНе LXC, а ядро, примеров чему масса.
> Не LXC, а ядро, примеров чему масса.в пустом чруте с урезанным до 4х списком разрешенных syscalls эта масса НЕ подойдет.
A largely unknown kernel feature, seccomp, allows processes to call a very small subset of system calls—just read(), write(), sigreturn(), and exit()—aborting a process that attempts to call any other. That is the starting point for the Chromium sandbox.
> в пустом чруте с урезанным до 4х списком разрешенных syscalls эта масса
> НЕ подойдет.
> http://code.google.com/p/seccompsandbox/wiki/overviewВы немного путаете. seccompsandbox и setuid-sandbox вещи разные:
http://code.google.com/p/setuid-sandbox/
гугление привело на ссылку chrome://about/sandbox/SUID Sandbox Yes
PID namespaces Yes
Network namespaces Yes
Seccomp sandbox No
Т.е. самый плохой - write(), они и оставили.
> Т.е. самый плохой - write(), они и оставили.После включения SECCOMP новые файл-дескрипторы создавать нельзя, так что всё нормально.
мы готовы выслушать Ваши предложения.
> Только мне это напомнило "русские распилы"?Пока не озвучена цена - нет. Пока не озвучено во что обходится содержание программиста на госдолжности с налогами и медстраховками и т п - нет.
> Хотя с ходу это сделает любой вменяемый школьник.
Безопасность правительства школьникам не поручают. Платят в сто раз больше профессионалам.
> За ВиртуалБокс с Дебианом и Огнелисом наверняка миллионы ушли
сказал один анонимус.
>Пока не озвучена цена - нет.Неужели ещё есть наивные люди, верящие, что на реальную разработку ушло не менее 3% выделенных под проект средств?
>Безопасность правительства школьникам не поручают. Платят в сто раз больше профессионалам.
Ага, тока квалификация этих "профессиоаналов" зачастую уступает квалификации среднего школьника.
>сказал один анонимус.
Это типа аргумент такой, да?
> Это типа аргумент такой, да?это намек на отсутствие аргументов кроме веры в 3%.
>это намек на отсутствие аргументов кроме веры в 3%.Ух ты! Вы так прямо и честно намекаете на отсутствие у вас аргументов?
я вам прямо говорю об отсутствии у вас аргументов
> Безопасность правительства школьникам не поручают. Платят в сто раз больше профессионалам.причём иногда за то, что может сделать даже школьник.
Я вот, что подумал. Если мы создали одно защищенное приложение, то зачем останавливаться на нем одном?! Правильно?
Тада: http://www.opennet.ru/opennews/art.shtml?num=26140 -- имхо, уж лучше сабджа.
имхо, г-жа Рутковска "изобрела" микроядро с квадратными колёсами
она по крайней мере что-то изобрела (не согласен на счёт ядра с квадратными колёсами);
а поставить Debian в виртуалке - это, вообще, ни о чём;
следующим шагом будут аппаратные браузеры: портативная железка с вшитым в неё дистрибутивом линукс и установленным браузером + программы для удаленного доступа к этому делу.
Это linutop. Или chromebook. Выбирайте, что больше нравится.
1гб дистр? изящно, ничего не скажешь )
А они не могли просто посадить Firefox в chroot?
Google иначе делает - тестирует на FreeBSD новую песочницу под названием Capsicum, что даст ей совсем нормальный Sandbox ). А Германцы да - красавцы, я думал только русские способны на такие дела
давно существуют давно известные способы "побега" из chroot.
пруфы приводить не буду - за меня это прекрасно делает гугл
А пруфы вы и не приведете, тк на сегодняшний день способы неизвестны. Хотя бывали случаи с ../../../../../ и тд. Капсикум - не совсем chroot. А теоретические "способы" побегов и для *box* сработают
> А пруфы вы и не приведете, тк на сегодняшний день способы неизвестны.Вы хотя бы man chroot почитайте, прежде чем делать такие "авторитетные" заявления.
Не говоря уж о том, чтобы действительно погуглить.
без рутовых прав с закрытыми дескрипторами верхних директорий при старте из чрута не сбежать.браузеру рутовые права не нужны.
> без рутовых прав с закрытыми дескрипторами верхних директорий при старте из чрута
> не сбежать.
> браузеру рутовые права не нужны.Ну конечно же не сбежать. В ядре же уязвимостей не бывает, как и в локальных службах, доступных по IP.
но chroot тут уже не при чем
> но chroot тут уже не при чемЭто зависит от точки зрения. Можно привязать к запорожцу лист брони 10х10 см, но это не защитит пассажиров от пуль. При том сам лист формально пуленепробиваемый.
> Ну конечно же не сбежать. В ядре же уязвимостей не бывает, как
> и в локальных службах, доступных по IP.истинно так! только VirtualBox совершенно неуязвим!
вы вместо того чтобы говорить вот так: "вы хотя бы ..." напишите конкретно как сбежать из chroot. VirtualBox по вашему - это не софт? Его взломать нельзя и выбраться из него? просто чуть сложнее. Можно например так - в chroot запустить qemu, в нем запустить VirtualBox и в нем уже Linux с firefox. Надежность выше, но почему нельзя сломать и это?
Внимание вопрос! Почему не работает звук во флэш?
> Внимание вопрос! Почему не работает звук во флэш?а тут что, филиал техподдержки адоба?
> прежде чем делать такие "авторитетные" заявлениясмысла в таких фразах нет. Если что-то знаете - покажите, поделитесь инфой как сделать и неверящие возьмут вашу точку зрения. понятно что все считаю себя умнее других
Вы действительно глупость сказали просто, при этом не в форме предположения, а сразу утверждением. А сколько именно лет надо было читать багтрак и код, чтоб это быренько сообразить -- не знаю.Сферические высказывания вида "софт -- значта, в принципе, взломать можна" неинтересны. Вообще. В отличие от предметно освещённых поверхностей и векторов атаки, а также работающих proof of concept exploit.
http://man.he.net/?topic=chroot§ion=allчто там читать?
http://www.bpfh.net/simes/computing/chroot-break.htm
В linux 2.6.35-28 отлично работает, не хуже чем в остальных версиях linux последние 12 лет.Ну разумеется, если есть права рута, что отдельная тема. Ваш пост не про неё.
ну с рутом-то все понятно - я скажу больше - рут даже систему перезагрузить может, убивать процессы и в память ядра вмешиваться. Интересует побег обычного смертного.
> ну с рутом-то все понятно - я скажу больше - рут даже
> систему перезагрузить может, убивать процессы и в память ядра вмешиваться. Интересует
> побег обычного смертного.:) Разумно. Слишком буквально прочёл.
>> давно существуют давно известные способы "побега" из chrootКак бы и способов решения "проблемы" существуют несколько. От патчей на libc до перехватов syscall на chroot() в песочнице. Собственно "класику" - SELinux и т.п. никто не отменял. Способы для достаточно опытных линуксоидов но, собственно, и сам chroot не для "вованов".
> давно известные способы "побега" из chroot.рутом.
Как получить рута это вторая часть.
>> давно известные способы "побега" из chroot.
> рутом.И что характерно, эти способы "работают"
насколько мне известно только под Линуксом.
> И что характерно, эти способы "работают"
> насколько мне известно только под Линуксом.А ты серьёзно не знаешь, что chroot(2) в *NIX не дизайнился как средство защиты?
HISTORY
The chroot() function call appeared in 4.2BSD. Working directory handling was
changed in NetBSD 1.4 to prevent one way a process could use a second chroot()
call to a different directory to "escape" from the restricted subtree.
The fchroot() function appeared in NetBSD 1.4.
> А ты серьёзно не знаешь, что chroot(2) в *NIX не дизайнился как
> средство защиты?Зато используется как средство защиты.
>> И что характерно, эти способы "работают"
>> насколько мне известно только под Линуксом.
> А ты серьёзно не знаешь, что chroot(2) в *NIX не дизайнился как
> средство защиты?Я серьезно знаю, что во многих системах, отличных от Линукса
chroot может использоваться как способ защиты ФАЙЛОВОЙ СИСТЕМЫ.
И баги в ДНК этому не помешали. Включая упомянотую тобой NetBSD.
Там, т.е. здесь, сбежать из чрута даже root-ом НЕЛЬЗЯ!
>>> давно известные способы "побега" из chroot.
>> рутом.
> И что характерно, эти способы "работают"
> насколько мне известно только под Линуксом.ptrace(2) на процесс вне чрута с последующим выполнением кода в его контексте. Root может садиться на любые процессы, обычные юзеры - только на свои. Актуально, например, при взломе ворекров почтового (Dovecot), веб- (апач+mod_chroot или peruser MPM) или ftp-сервера (ProFTPd, многие другие), запущенных в чруте под uid реального пользователя, другие процессы которого работают вне чрута (например, cron-задачи или ftp-воркеры без чрутования). Работает везде, где нет нестандартных ограничений на использование ptrace(2).
fchdir(2) на открытый дескриптор директории вне чрута. Работает в основном в линуксе из-за поддержки абстрактного пространства имён для юникс-сокетов. В остальных ОС требуется создание файла сокета внутри чрута, что возможно крайне редко по недосмотру админа. Как заставить внешний процесс передать дескриптор - вопрос отдельный. Например, взломать одну из служб либо использовать рабочие реквизиты другого пользователя (смысл в получении доступа к файлам пользователя-владельца чрутованного процесса, лежащим вне чрута).
(задумчиво) а что, есть какие-то альтернативно развитые программы, которые используют чрут как защиту (ну, они уже альтернативно развиты тут, ну да ладно), и при этом не уходят в ограниченого пользователя?разве что fchdir победить чуть сложнее. но тут другая сказка: если уже шмякнули запускалку — то зачем из-под чрута, собственно, заморачиваться?
кстати, имперсонация должна и от fchdir защищать. а если не защищает — то это ядерный баг, который необходимо репортить и фиксить.
> (задумчиво) а что, есть какие-то альтернативно развитые программы, которые используют
> чрут как защиту (ну, они уже альтернативно развиты тут, ну да
> ладно), и при этом не уходят в ограниченого пользователя?Естественно уходят. Чрут без сброса привилегий вообще не имеет смысла. Просто это не отменяет некоторых случаев и условий, при которых побег из чрута с помощью извне имеет смысл. См. соседний коммент: http://www.opennet.ru/openforum/vsluhforumID3/77123.html#122
> разве что fchdir победить чуть сложнее. но тут другая сказка: если уже
> шмякнули запускалку — то зачем из-под чрута, собственно, заморачиваться?Не понял, какую запускалку. Впрочем, ответ в соседнем комменте.
> кстати, имперсонация должна и от fchdir защищать. а если не защищает —
> то это ядерный баг, который необходимо репортить и фиксить.Имперсонация не должна. Кстати, в линуксе personality значит совсем другое. А вот чрутование должно. Но разработчики ОС слишком далеки от этой мирской суеты, от corner case'ов, insignificant impact'ов и прочих security circus'ов. Поэтому, если кому надо, те идут и пользуются Grsecurity.
> Имперсонация не должна. Кстати, в линуксе personality значит совсем другое.в данном случае я использовал термин «имперсонация» в более широком смысле, как «представиться другим пользователем».
> А вот чрутование должно.
я бы сказал, что всё с точностью до наоборот. всё-таки чрут — не механизм защиты. а вот пользователи и их права — очень даже механизм. поэтому попытка сделать fchdir, используя чужой fd, должна проходить полную проверку прав. и если в системе не стоит «r-x для всех» на калалогах (а зачем бы?), то всё должно успешно обламываться. мне — честно — лень проверять, но если не обламывается, то это ядрёна вошь.
> Но разработчики ОС слишком далеки от этой мирской суеты,
> от corner case'ов, insignificant impact'ов и прочих security circus'ов. Поэтому, если
> кому надо, те идут и пользуются Grsecurity.и это правильно. ну не механизм защиты чрут, и всё тут. и не задумывался таким, и зачем пытаться надеть ужа на ежа — не ясно.
и процитирую из другого камента:
> открываем корневую директорию и получаем дескриптор, открываем на прослушку
> юникс-сокет с «абстрактным» именем и идём стучаться васей на сокет. Стучимся,
> получаем дескриптор, делаем fchdir на дескриптор, идём в ./home/vasya и воруем
> файлы.э-э-э — как? какой, извиняюсь, билгейц позволяет кому попало ходить где попало? я даже на домашней технике общедоступными имею только bin'ы, lib'ы и doc'и. стандартная система прав никсов, может, и не столь удобна, как ACL, но это же не причина её использовать «на отвали».
>> А вот чрутование должно.
> я бы сказал, что всё с точностью до наоборот. всё-таки чрут —Нет, именно так. Проверять владельца файла, на который указывает дескриптор - это дорого и сломает текущую модель привилегий, при которой процессы сперва открывают привилегированные файлы (ресурсы), а затем меняют свои credentials.
> и это правильно. ну не механизм защиты чрут, и всё тут. и
> не задумывался таким, и зачем пытаться надеть ужа на ежа —
> не ясно.Неправильно. Стабильность ПО держится на приемлемом уровне, функциональность растёт согласно требованиям времени, производительность тоже. И только безопасность находится на уровне конца 90-ых. И это при том, что уровень и оснащённость злоумышленников растёт.
Почему так происходит? Потому что безопасность сложно измерить - опытные взломщики не оставляют следов, а вирусы пока остаются прерогативой мелкомягкой экосистемы. Зато навешать пользователям лапши на уши (как на сайте FreeBSD, например) - это запросто. "Линукс безопасен, в нём нет вирусов!"
> э-э-э — как? какой, извиняюсь, билгейц позволяет кому попало ходить где попало?
В ./home/vasya идёт процесс юзера vasya, который мы вытащили из чрута. Всё правильно.
> это дорого и сломает текущую модель привилегий, при которой процессы сперва открывают
> привилегированные файлы (ресурсы), а затем меняют свои credentials.а я не сказал, что все операции проверять надо. но смену текущего каталога по дескриптору — однозначно. и будет это не дороже, чем обычный chdir.
> Неправильно. Стабильность ПО держится на приемлемом уровне, функциональность растёт согласно
> требованиям времени, производительность тоже. И только безопасность находится на уровне
> конца 90-ых. И это при том, что уровень и оснащённость злоумышленников
> растёт.значит, пора придумывать нормальные механизмы защиты. ну чего к чруту привязались-то? который, кстати сказать, и не лучше, и не удобней контейнеров, например.
> «Линукс безопасен, в нём нет вирусов!»
таки ведь и нет. три с половиной пруф-оф-концепта, которых никто in the wild не видел.
> В ./home/vasya идёт процесс юзера vasya, который мы вытащили из чрута. Всё
> правильно.а ЧТО «процесс юзера вася» делает в чруте, почему он остался васиным? O_O какой балмер проектировал это всё?
> а я не сказал, что все операции проверять надо. но смену текущего
> каталога по дескриптору — однозначно. и будет это не дороже, чем
> обычный chdir.В любом случае, модель привилегий ломается. И не понятно, кстати, как и ради чего. У корневой директории владелец root:root, права 755, процесс любого пользователя может в неё перейти. По какой логике должна работать проверка "на уровне пользователей и их прав", чтобы запретить побег из чрута на дескриптору /, и при этом не проверять, доступна ли директория по пути в чруте?
> значит, пора придумывать нормальные механизмы защиты. ну чего к чруту привязались-то? который,
> кстати сказать, и не лучше, и не удобней контейнеров, например.Чрут - это всего лишь один из ограничивающих факторов. Один из! От него не отказываться нужно, а дополнять, чем компетентные люди как раз и занимаются. И в итоге получается как раз контейнер, который не требует настройки и не страдает от ошибок в конфигурации. Нет файлов в чруте, значит, нет - белый список, однозначнее некуда.
>> «Линукс безопасен, в нём нет вирусов!»
> таки ведь и нет. три с половиной пруф-оф-концепта, которых никто in the
> wild не видел.Вирусов нет. Но не потому, что безопасен, а потому, что с его долей присутствии на ПК это нерентабельно.
> а ЧТО «процесс юзера вася» делает в чруте, почему он остался васиным?
> O_O какой балмер проектировал это всё?Перечитайте внимательнее мой коммент, там всё есть.
> В любом случае, модель привилегий ломается.O_O
> По какой логике должна работать проверка
> «на уровне пользователей и их прав», чтобы запретить побег из чрута
> на дескриптору /, и при этом не проверять, доступна ли директория
> по пути в чруте?и то, и другое. и проверка на выход из загончика, и проверка на наличие прав на каталог. потому как я не вижу фундаментальной разницы между chdir и fchdir, разница только в нюансах передачи имени каталога. соответственно, и проверки должны быть одинаковые.
и на любой fd после смены юзера, кстати. я не считаю правильным, что после смены юзера открытые файлы остаются доступными без проверок. да, придётся немного переделать программы — передать конфиги и прочее во владение ограниченого юзера. оно так даже лучше будет.
а оверхэд мизерный — всего лишь флажок «проверку прошёл», который скидывается при смене *uid, и проверяется одним сравнением при операциях с fd. ну, ясно, думаю.
> него не отказываться нужно, а дополнять, чем компетентные люди как раз
> и занимаются. И в итоге получается как раз контейнер, который не
> требует настройки и не страдает от ошибок в конфигурации. Нет файлов
> в чруте, значит, нет — белый список, однозначнее некуда.а по-моему, lxc получше будет.
> Вирусов нет. Но не потому, что безопасен, а потому, что с его
> долей присутствии на ПК это нерентабельно.вообще-то именно потому, что безопасен. дом монтируется с noexec, в системные места писать нельзя. сплойты, конечно, не исключены, но сложны и закрываются апдейтами. и так далее. пингвинус именно что безопаснее, чем винда.
хотя тупость прокладки между креслом и клавиатурой это не исключает, конечно. и именно поэтому я против «линукса на десктопе». большинству юзеров нужен не универсальный комп, а спецдивайс, который умеет те три с половиной задачи, которые юзеру нужны.
> и то, и другое. и проверка на выход из загончика, и проверка
> на наличие прав на каталог. потому как я не вижу фундаментальной
> разницы между chdir и fchdir, разница только в нюансах передачи имени
> каталога. соответственно, и проверки должны быть одинаковые.Проверка на наличие прав и сейчас производится для chdir и fchdir почти одинаково, с небольшой разницей в моменте проверки прав на родительские директории в пути.
Например, если отобрать у other users права на чтение-поиск в /, то и fchdir на её дескриптор (допустим, его открыли до смены прав на /) провалится с EACCES. Но такая проверка никак не запрещает побег из chroot. А значит, нужно добавить проверку на доступность директории в chroot-окружении, как уже сделано в Grsecurity и NetBSD. Если вы предлагаете дополнительные проверки, то какие, и в каких конкретных ситуациях они будут полезны?
> и на любой fd после смены юзера, кстати. я не считаю правильным,
Ну вот это и разрушит модель привилегий, сильно ограничив применимость chroot и вообще сброса привилегий root до обычного пользователя. Непривилегированные процессы не смогут обращаться к ресурсу, который ранее требовал root-привилегий только при открытии и до начала обработки недоверенных данных, а теперь стал требовать их всегда => больше кода станет работать от рута, либо привилегии доступа к ресурсам придётся кардинально *снизить*.
> что после смены юзера открытые файлы остаются доступными без проверок. да,
> придётся немного переделать программы — передать конфиги и прочее во владение
> ограниченого юзера. оно так даже лучше будет.Я не вижу в этих переделках смысла и пользы. Только вред и адское бремя на плечи разработчиков и пользователей. Ради чего именно? Можете привести конкретные примеры?
> а оверхэд мизерный — всего лишь флажок «проверку прошёл», который скидывается
> при смене *uid, и проверяется одним сравнением при операциях с fd.
> ну, ясно, думаю.Оверхед огромный, потому как структура-дескриптор не находится во владении какого-либо процесса. Все обращаются к ней по указателям. И при каждом read, write, lseek, recv, send и т.д. будет проходить проверка. Это вообще за гранью добра и зла, выражаясь мягко.
> а по-моему, lxc получше будет.
Дело ваше. :)
> вообще-то именно потому, что безопасен. дом монтируется с noexec, в системные места
> писать нельзя. сплойты, конечно, не исключены, но сложны и закрываются апдейтами.
> и так далее. пингвинус именно что безопаснее, чем винда.Ха. В "системные места" и в винде нельзя писать, начиная с первых версий NT. /home не монтируется с noexec ни в одном из популярных дистрибутивов, но даже если бы, это не дало бы практически ничего. Сложность написания эксплойтов под линукс гораздо ниже, чем для висты и семёрки, из-за менее эффективных механизмов защиты от эксплуатации. Апдейтами закрываются только публично известные уязвимости с задержкой в несколько дней, а то и недель (почитайте oss-security и Full-Disclosure - вас ждёт неприятный сюрприз). "И так далее" - это дырявое ядро, сложность написания эксплойтов под которое с появлением фреймворков приблизилась к тривиальной, а также отсутствие сколько-нибудь эффективной инфраструктуры для реактивной борьбы с известными угрозами (беспечность и наивность пользователя - взломщику в помощь). Сложность поиска уязвимостей также значительно ниже, чем в висте и семёрке. Единственное, в чём линукс впереди - это охват и автоматизация обновлений, но с ростом популярности и потребности в приложениях под Wine это достоинство начинает теряться.
таким образом выходит, что — в принципе — сбежать «наружу» можно на уже скопрометированной «наружной» системе. а зачем?
> таким образом выходит, что — в принципе — сбежать «наружу» можно
> на уже скопрометированной «наружной» системе. а зачем?В некоторых случаях есть смысл. Например...
Мы украли у юзера petya реквизиты доступа к серверу по ssh. Нас интересуют файлы юзера vasya, которые лежат в /home/vasya. Также мы знаем, что vasya забирает почту с этого сервера по IMAP и пренебрегает защищённой аутентификацией. Через ARP/DNS-спуфинг или прослушку мы крадём у него пароль на почту. Затем мы открываем IMAP-сессию с почтовым сервером, называемся васей, эксплуатируем непубличную уязвимость в процессе почтового сервера... И обнаруживаем, что скомпрометированный процесс посажен в чрут где-нибудь в /var/mail, и доступа к /home/petya у нас нет. Что делаем?
Вариант первый: мы в линуксе. Заходим на сервер по ssh от юзера petya, открываем корневую директорию и получаем дескриптор, открываем на прослушку юникс-сокет с "абстрактным" именем и идём стучаться васей на сокет. Стучимся, получаем дескриптор, делаем fchdir на дескриптор, идём в ./home/vasya и воруем файлы.
Вариант второй: мы в BSD. Абстрактных сокетов нет, а создать петей файл сокета в chroot-окружении мы не можем - если оно ему и доступно, то только для чтения...
Вариант второй/А: Доступно для чтения? Смотрим на чрут глазами васиного процесса и видим ящик в модном формате maildir. Отлично! Создаём васиным процессом файл сокета в maildir-директории, открываем доступ для пети (o+x на директорию, o+rw на файл сокета) и ждём запрос. Петей открываем дескриптор /, стучимся к васе на сокет, передаём дескриптор, вася fchdir(fd), вася chdir("./home/vasya"), васины файлы у нас.
Вариант второй/Б: ящик в формате mbox или директория chroot-окружения пете не доступна даже на чтение. Мы не можем создать файл сокета или добраться до него. Начинаем выжидать, пока юзер vasya запустит на сервере какой-нибудь процесс вне чрута. Дождались: вася зашёл на сервер по ssh, или крон запустил одну из васиных задач, или MTA запустил LDA с правами васи, но не в чруте (как оно часто и бывает - это важно). Мы садимся на внешний васин процесс через ptrace и аккуратно внедряем в него код, который тихо ворует нам васины файлы. Профит.
Важно, что ptrace из чрута на процесс того же пользователя за пределами чрута разрешён в рамках стандартной модели привилегий, и нам не нужно искать и эксплуатировать уязвимости в ядре или во внешних процессах. Более того, с ptrace без нестандартных ограничений нам не нужен даже петя.
Кстати, в Grsecurity реализован запрет на побег из чрута по дескриптору, на ptrace/kill процессов за пределами чрута, а также на ptrace процессов, которые являются чужими потомками.
Другой пример. Васины файлы нам не нужны, и мы можем зайти на сервер петей по ssh с краденными реквизитами. Зачем нам вытаскивать скомпрометированный васин процесс из чрута? Варианты:
1. вася в группе, которой разрешён доступ sudo в каком-нибудь Owl, и мы хотим получить рута через уязвимость в sudo. ;)
2. Мы хотим, чтобы васин процесс (а вернее его fork+execve с чистым окружением, чтобы не палить вектор проникновения) провернул тёмные делишки и в случае шухера сделал крайним васю - пусть админ подумает, что вася пропинал свои реквизиты для ssh, хотя это был петя, и его реквизиты до сих пор у нас. ;)
в общем-то сценарии вполне вероятные. поведение ptrace, кстати, с недавних пор можно регулировать, емнип (что-то я такое читал про допиливание флага в ядро — вот не помню, правда, майнлайн это или бубунтопатчи).и вот потому chroot — не механизм защиты.
нет, альтернативу «с ходу» не выдам, увы.
> в общем-то сценарии вполне вероятные. поведение ptrace, кстати, с недавних пор можно
> регулировать, емнип (что-то я такое читал про допиливание флага в ядро
> — вот не помню, правда, майнлайн это или бубунтопатчи).Можно как минимум через LSM регулировать. Наверняка какие-нибудь AppArmor и SELinux это умеют.
> и вот потому chroot — не механизм защиты.
В нормальных дистрибутивах - механизм.
> нет, альтернативу «с ходу» не выдам, увы.=
MAC же. При дложном качестве и защите кода реализации.
> Можно как минимум через LSM регулировать. Наверняка какие-нибудь AppArmor и SELinux это
> умеют.ненене, без доплнительных костылей.
>> и вот потому chroot — не механизм защиты.
> В нормальных дистрибутивах — механизм.ох… «и вот потому мотороллер — не мотоцикл.» "в нормальных дистрибутивах — мотоцикл!"
>> нет, альтернативу «с ходу» не выдам, увы.=
> MAC же. При дложном качестве и защите кода реализации.(блюёт)
> ох… «и вот потому мотороллер — не мотоцикл.» "в нормальных дистрибутивах
> — мотоцикл!"Ложная аналогия. В ядрах Alpine и Hardened Gentoo реализован наиболее полный спектр защитных механизмов в дополнение к стандартным ограничениям chroot, что делает его действительно защитным механизмом (не без защиты ядра, разумеется). И fchdir на дескриптор вне чрута запрещён, и ptrace ограничен, и запрет на доступ к "внешним" процессам есть, и даже у рута в чруте ревокнуты capabilities, годные для побега или компрометации системы. Получается, ребята взяли чертёж мотороллера, перекроили его и по итоговому сделали уже мотоцикл.
>> MAC же. При дложном качестве и защите кода реализации.
> (блюёт)А что делать? MAC полезен, и не только для этого. Например, недавняя уязвимость в коде LD_AUDIT в glibc и подобные ей напрочь закрываются, если setuid-экзешнику закрыт доступ к выполнению кода библиотек не из белого списка. И это один пример из многих.
> Получается, ребята взяли чертёж
> мотороллера, перекроили его и по итоговому сделали уже мотоцикл.вот именно, что переделали. а не попытались утверждать, что мотороллер == мотоцикл.
> А что делать? MAC полезен, и не только для этого. Например, недавняя
> уязвимость в коде LD_AUDIT в glibc и подобные ей напрочь закрываются,
> если setuid-экзешнику закрыт доступ к выполнению кода библиотек не из белого
> списка. И это один пример из многих.я не сказал, что он бесполезен: я сказал, что он мне не нравится. но опять же: поскольку лично у меня идей нет, то закапывать его я не предлагаю.
мне, впрочем, вообще жизнь не нравится. если прикинуть, сколько усилий тратится на всякое «security» — штуку, в принципе, бесполезную… человечество или криво сдизайнено, или тяжело больно.
>> Получается, ребята взяли чертёж
>> мотороллера, перекроили его и по итоговому сделали уже мотоцикл.
> вот именно, что переделали. а не попытались утверждать,
> что мотороллер == мотоцикл.СУ-27 однозначно круче автомата Калашникова!!!
В АК всего-то три с половиной детали,
а в СУ-27 их миллионы! Да и что умеет АК?
Он всего-лишь стреляет пулями!
Ну, приклад еще. Тоже мне, деятели! ;-)Короче, в NetBSD, например, мотороллер == мотоцикл.
И она не единственная в своем роде.
> Короче, в NetBSD, например, мотороллер == мотоцикл.
> И она не единственная в своем роде.молодцы. только линукс -- не бсд. если бы он был бсд, то и назывался бы бсд.
есть куда менее увесистое средство lxc.
> есть куда менее увесистое средство lxc.Линуксу 20 лет от роду. Когда появился lxc?
Ну и кроме того, по сравнению с chroot-ом
это все равно корова.
> Линуксу 20 лет от роду. Когда появился lxc?какая разница? есть? хорошо.
> Ну и кроме того, по сравнению с chroot-ом
> это все равно корова.а теперь развёрнуто, а то это утверждение я не понял.
>> Линуксу 20 лет от роду. Когда появился lxc?
> какая разница? есть? хорошо.потребность в изоляции процессов появилась сегодня?
вчера? позавчера?>> Ну и кроме того, по сравнению с chroot-ом
>> это все равно корова.
> а теперь развёрнуто, а то это утверждение я не понял.Меньше кода -- меньше багов, в том числе дыр в безопасности.
Не говоря уже о трудозатратах на разработку и поддержку кода.А вообще, ролики, велисипед, мопед, мотоцикл,
легковая авто, грузовик -- нужны.
Не вижу смысла в отказе от велосипеда или даже от роликов,
если в наличии имеется грузовик и мотоцикл.
>>> Линуксу 20 лет от роду. Когда появился lxc?
>> какая разница? есть? хорошо.
> потребность в изоляции процессов появилась сегодня?
> вчера? позавчера?ещё раз: *сейчас* оно есть? есть. в чём проблема? у тебя по службе задача слетать в прошлое и там что-то настроить? так возьми с собой в прошлое ядро с lxc.
> Меньше кода — меньше багов, в том числе дыр в безопасности.
> Не говоря уже о трудозатратах на разработку и поддержку кода.предлагаю вообще ОС выкинуть. а то там стооооолько кода…
> А вообще, ролики, велисипед, мопед, мотоцикл,
> легковая авто, грузовик — нужны.
> Не вижу смысла в отказе от велосипеда или даже от роликов,
> если в наличии имеется грузовик и мотоцикл.а кто сказал «выкинуть»? сказано: «не перевози десятитонные грузы на роликах, возьми грузовик.»
> предлагаю вообще ОС выкинуть. а то там стооооолько кода…ПО - это как раз тот случай, когда, чем меньше объем, тем лучше,
при сохранении НУЖНОГО функционала конечно.> а кто сказал «выкинуть»? сказано: «не перевози десятитонные грузы на роликах,
> возьми грузовик.»Нет. Сказано "если хочешь довезти две тачки навоза на свой огород,
возьми белаз, он предназначен для перевозок". А носилки просто
выбросили "за ненадобностью", оставив только грузовики разных
калибров и грузоподъемностью.
>> предлагаю вообще ОС выкинуть. а то там стооооолько кода…
> ПО — это как раз тот случай, когда, чем меньше объем, тем
> лучше,
> при сохранении НУЖНОГО функционала конечно.ну так я и говорю: ОС не нужна. лучше каждую программу делать в стиле «сам себе ОС», а то многие программы ведь не используют кучу кода из ОС, зачем он нужен?
> Нет. Сказано "если хочешь довезти две тачки навоза на свой огород,
> возьми белаз, он предназначен для перевозок". А носилки просто
> выбросили «за ненадобностью», оставив только грузовики разных
> калибров и грузоподъемностью.где? можно мне ссылку на коммит, которым выкинули поддержку chroot?
> предлагаю вообще ОС выкинуть.Вообще-то Лёша по существу говорит, но будто не учитывает, что функциональность ovz/lxc немножко шире и притом тоже полезна. ovz-шники, кстати, ещё и код аудитят да дырки патчат нередко.
В частности, namespaces повышают "транспортабельность" контейнеров: если он всё равно со своим IP должен быть, то на каком бы физическом хосте с подобной конфигурацией сети ни работал -- будет просто работать. Чрут может быть вынужден знать слишком много о системе, на которой живёт. И файрвол в нём отдельно не построишь -- то есть система о чруте тоже должна знать довольно много.
Вот и выходит, что чрут позволяет решить схожую задачу, но только в варианте tight coupling -- а контейнеры позволяют (помимо прочего) сделать loose coupling.
2 vle: присмотрись внимательно к сети в своём VPS. :)
>> предлагаю вообще ОС выкинуть.
> Вообще-то Лёша по существу говорит, но будто не учитывает,
> что функциональность ovz/lxc немножко шире и притом тоже
> полезна. ovz-шники, кстати, ещё и код аудитят
> да дырки патчат нередко.Миша, я не из детского сада, да? Я прекрасно понимаю
разницу между vserver/openvz и chroot-ом.
И по поводу СУ-27 я уже высказался. Это очень, очень!,
клевый самолет.Но когда я говорю "много кода - плохо", я знаю, о чем я говорю.
Я уже много лет пользуюсь vserver в комплектации Debian.
Мягко говоря, есть к нему претензии.
Что до OpenVZ, похоже, что единственным вендором, который
его поддерживает, является AltLinux, переходить на который мне,
во-первых, не очень то хочется, а во вторых это мало реально
в моих условиях. При этом, я повторюсь, в МОЕМ случае chroot-а
было бы достаточно, особенно с тех пор как в Линуксе появился
read only mount --bind ("mount -t null -o ro" в BSD был всегда).
> Что до OpenVZ, похоже, что единственным вендором, который
> его поддерживает, является AltLinuxЕщё как минимум Owl, причём насколько знаю -- в проекте Openwall его аудитили и после этого стали класть в дистрибутив.
Также см. Proxmox (специальный дистрибутив для HN под виртуализацию).
Сами ovz-шники поддерживают редхат (многие на центосе и пользуются).
В Debian, Gentoo есть vzctl как минимум -- про поддерживаемое ядро не знаю.
> ещё раз: *сейчас* оно есть? есть. в чём проблема? у тебя по
> службе задача слетать в прошлое и там что-то настроить? так возьми
> с собой в прошлое ядро с lxc.Даже в настоящем от ядра с LXC в плане замены chroot толку мало, потому что неймспейсы включаются в момент clone(2), а чрут работает уже после, поэтому сложность модификации приложений относительно высока. Непереносимость LXC тоже энтузиазма не доставляет.
>>>> давно известные способы "побега" из chroot.
>>> рутом.
>> И что характерно, эти способы "работают"
>> насколько мне известно только под Линуксом.
> ptrace(2) на процесс вне чрута с последующим выполнением кода в его контексте.
> Root может садиться на любые процессы,NetBSD ptrace(2):
...
Third, if a process has its root directory set with chroot(2),
it may not trace another process
unless that process's root directory is at or below the
tracing process's root.> fchdir(2) на открытый дескриптор директории вне чрута.
> Работает в основном в линуксеВ NetBSD эта дыра не работает. Не скажу за ВСЕХ других.
> NetBSD ptrace(2):
> …
> Third, if a process has its root directory set with chroot(2),
> it may not trace another process
> unless that process's root directory is at or below the
> tracing process's root.хороший кандидат на ядрёный патч, кстати.
>> NetBSD ptrace(2):
>> …
>> Third, if a process has its root directory set with chroot(2),
>> it may not trace another process
>> unless that process's root directory is at or below the
>> tracing process's root.
> хороший кандидат на ядрёный патч, кстати.Горадо проще объявить chroot "не средством защиты"
и забыть о проблеме, как это сделали в Линуксе.
А теперь рождаются натуральные уроды в полный рост,
в которых каждая отдельная программа просит для
своей безопасности аж целой отдельной виртуальной машины.
По сути ведь изоляции browser-а на уровне FS для задачи хватает!
С такими темпами скоро grep будем в виртуальной машине запускать.
Все ради безопасности!
> Горадо проще объявить chroot «не средством защиты»
> и забыть о проблеме, как это сделали в Линуксе.или вот возмущаться, что «всё не так», но патчей не делать принципиально. возражение «а мне пофигу, я на бсд» — не аргумент: тогда какое тебе дело до пингвинуса вообще?
>> Горадо проще объявить chroot «не средством защиты»
>> и забыть о проблеме, как это сделали в Линуксе.
> или вот возмущаться, что «всё не так», но патчей не делать принципиально.
> возражение «а мне пофигу, я на бсд» — не аргумент: тогда
> какое тебе дело до пингвинуса вообще?Патчи были даны примерно в 2007-м году. По крайней мере
на часть проблем. Alan Cox их отбросил, ссылаясь на стандарт
и "chroot - не средство защиты, и никогда им не был".Есть простая задача -- изоляция процесса, даже рутового,
внутри подкаталога общей большой файловой системы.
Задача несложная, скажем так. И самым простым
решением для нее мог бы быть chroot.
Вместо этого в Линуксе предлагаются средства гораздо более
увесистые: openvz, vserver, kvm, zen.
На мой взгляд, сложность решения абсолютно не
соответствует поставленной задаче.
> NetBSD ptrace(2):
> ...
> Third, if a process has its root directory set with chroot(2),
> it may not trace another process
> unless that process's root directory is at or below the
> tracing process's root.Это аналог chroot_findtask в Grsecurity. Рад за NetBSD-шников, молодцы.
>> fchdir(2) на открытый дескриптор директории вне чрута.
> В NetBSD эта дыра не работает. Не скажу за ВСЕХ других.А как проверяли?
Код на python для рута:
import os; fd = open("/", os.O_RDONLY, os.O_DIRECTORY); os.chroot("/tmp"); os.chdir("/"); os.fchdir(fd); print os.listdir(".")
> А как проверяли?
> Код на python для рута:
> import os; fd = open("/", os.O_RDONLY, os.O_DIRECTORY); os.chroot("/tmp"); os.chdir("/");
> os.fchdir(fd); print os.listdir(".")os.open, разумеется.
Ну ё-моё. Рабочий код:
import os; fd = os.open("/", os.O_RDONLY|os.O_DIRECTORY); os.chroot("/tmp"); os.chdir("/"); os.fchdir(fd); print os.listdir(".")
> Ну ё-моё. Рабочий код:
> import os; fd = os.open("/", os.O_RDONLY|os.O_DIRECTORY); os.chroot("/tmp"); os.chdir("/");
> os.fchdir(fd); print os.listdir(".")NetBSD fchdir(2):
...
fchdir() will fail and the current working directory will be unchanged if
one or more of the following are true:
...
[EPERM] The argument fd references a directory which is not at
or below the current process's root directory.
> [EPERM]
> The argument fd references a directory
> which is not at or below the current process's root directory.В догонку.
asrock# cat bug.c
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>int main ()
{
int ret;
int fd = open ("/", O_RDONLY);if (fd == -1){
perror ("open(2) failed");
return 1;
}if (chroot ("/chroot") == -1){
perror ("chroot(2) failed");
return 1;
}if (chdir ("/") == -1){
perror ("chdir(2) failed");
return 1;
}if (fchdir (fd) == -1){
perror ("fchdir(2) failed");
return 1;
}ret = system ("ls .");
if (ret == -1){
perror ("system(3) failed");
return 1;
}return ret;
}
asrock# cc bug.c
asrock# ./a.out
fchdir(2) failed: Operation not permitted
asrock# uname -srm
NetBSD 5.1 amd64
asrock#
O_DIRECTORY в BSD нет.
Ну ето узкоспециализированая браузера будет, что тут скажеш, интересно вот где имено они собираюца его использовать.
В органах? Боятся, чтобы лиса не стащила секретные документы...
так-то, безопасный браузер нужен везде, где нежен браузер
еще бы VirtualBox в изолированном окружении запускать, чтоб наверняка..
> еще бы VirtualBox в изолированном окружении запускать, чтоб наверняка..VirtualBox запускать в qemu, который запущен в VirtualBox, который запущен... а в самом низу бош.
Я думаю, это надо для работы в интернете с компов, которые сертифицированы для работ с сов. секретными материалами. У нас тупо с таких компов запрещён инет, только интранет, но это жутко не удобно - такой браузер будет намного удобнее.
> Я думаю, это надо для работы в интернете с компов, которые сертифицированыУ нас сертифицируют что попало. Ту же XP или линукс с дырявым ядром и отсутствием современной защиты пользовательских процессов.
Я в нашей гос. конторе делал.
Ещё одна машина + KVM switch.
Получилось бесплатно - списанная машина вполне потянула, кстати тоже Debian.
И ФСТЭК прошли без вопросов.
> Я в нашей гос. конторе делал.
> Ещё одна машина + KVM switch.
> Получилось бесплатно - списанная машина вполне потянула, кстати тоже Debian.
> И ФСТЭК прошли без вопросов.Приятно удивили, спасибо.
> В дополнение к бесплатной версии продукта предусмотрен платный корпоративный вариант BitBox, выход в интернет в котором осуществляется с помощью зашифрованного туннеля.Тоесть выйти в инет можно будет только через их прокси до которого- шифрованный туннель.
"Для сохранения состояния, настроек браузера, а также полученных из сети файлов используется разделяемый с основной системой каталог, для доступа к которому необходимо войти в систему под другой учетной запись"- а не проще в Интернете броузерить под _другой_ учетной записью, запущенной например в XNest.. Вообще зачем госправительству по Инету ходить
"Ну а теперь, со всем этим, мы попробуем взлететь..." (с)
ого! читаю, и глазам поверить не могу! вроде не первое апреля :D остаётся одно, похоже это эмигрантам из россии доверили ;) да и затрат, думаю, мнооого миллионов евро ;P раз уж это всё весит целый гиг, вместо максимум мегабайт 150. кошмар :( P.S. ну а что ж ещё остаётся-то? когда в правительство выбираются отнюдь не умелые руководить люди, а всякие симпатичные основной массе населения певцы и прочии популисты, обещающие сделать не лучше, чище, уютнее и прогрессивнее весь наш мир на благо всего человечества, а мнимой(инфляция всё равно съест больше) прибавки несколько копеек в карман каждому избирателю под лозунгом наподобии такого: "теперь вы все будете богатыми". к чему же мир катится-то :'(
>ого! читаю, и глазам поверить не могу!Да можно приготовить данное за полчаса. Ну еще плугины для VBox и тестирование, автомонтирование)) И думаю наверное за 1 рабочий день сделали. А на второй уже показали руководству..
Запросто может быть 1 Гб. В SuseStudio пустая сборка 64 Битной версии с X и с WindoMaker (IDE) + Firefox заняло 978 MB uncompressed. Т.е. его с трудом можно залить на 1 гб флэшку. Другое дело, если образ сжат например в iso.
> Т.е. его с трудом можно залить на 1 гб флэшку.http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/altli... -- ~300M (это ничего особенного для снижения объёма не делал)
> Другое дело, если образ сжат например в iso.
Что-то не припоминаю сжатия в iso9660...
> Для сохранения состояния, настроек браузера, а также полученных из сети файлов используется разделяемый с основной системой каталог
> Загрузка файлов в виртуальную машину не предусмотрена.только мне показалось, что это взаимоисключающие параграфы?
кстати. кому продать виртуалящик с предустановленой системой, браузером и ещё (ВНИМАНИЕ, ИННОВАЦИЯ!) с установленым IM? дорого. налетайте, количество ограничено.
они бы там еще Firefox через Wine запускали...
А че вы удивляетесь? Я продавал уборку в серверной и установку систем резервного питания (из 2х UPS) за 1.5 миллиона рублей.Заказчик был: Администрация Санкт-Петербурга. Причем, наруки получил только 300 000, остальное осело в этой самой администрации :-)
> А че вы удивляетесь? Я продавал уборку в серверной и установку систем
> резервного питания (из 2х UPS) за 1.5 миллиона рублей.
> Заказчик был: Администрация Санкт-Петербурга. Причем, наруки получил только 300 000, остальное
> осело в этой самой администрации :-)На руки получил 300 000, а налог платить с полутора лямов?
Какой налог, вы чего? В конверте 300к и все!Это к слову о выгодном сотрудничестве.
Тебе звонят спрашивают сколько, ты "плюнув в полотолок" говоришь СТОЛЬКО. В итоге, ты получаешь СТОЛЬКО, а человек тебе предложивший n*n + СТОЛЬКО
Ну и лохотрон. Слышал. что распилы и откаты в Германии переживают второе рождение. Но что-бы настолько... Безопасный браузер... Да я таких могу им налепить и из Chrome, и даже из Осла:) А ещё безопасную ОС(в виртуалке, конечно). И по настоящему безопасный Skype(не могущий украсть файлы с паролями, которые он очень любит читать...).
Поверьте, всё намного проще - в Германии чиновники ответственные за госзаказы в большинстве своём слишком тупы чтобы пилить, и слишком некомпетентны чтобы оценить реальную стоимость проекта и качество исполнения. Просто сливают бюджет подрядчику, сами с этого ничего не имеют (разве что политические дивиденды, читай "начальник похвалит"). Довелось, поработал с такими.
:))))) вот это новость так новость. Я смеялся очень долго. Я что то не понимаю в этой жизни или сейчас так модно называть "СЕКРЕТНАЯ РАЗРАБОТКА". А в итоге один чел скачал пару софтин и совместил их настройками....И ЗА ЭТО...хотя, народ....соль в том, что, цитирую:"В какую цену правительству Германии обошлась "разработка" браузера не сообщается." А маркетинговый ход в том, что денег было затрачено на ящик пива и у день его распития. ВСЕ! А конкуренты пусть ломают головы и тратят ПО НАСТОЯЩЕМУ деньги на аналоги :)))
Сколько денег то потратило государство на эту чудо разработку?