Разработчики web-браузера Chrome рассказали (http://blog.cr0.org/2012/09/introducing-chromes-next-generat...) о следующем поколении средств для обеспечения безопасности выполнения Chrome на платформе Linux. Начиная с вышедшей на днях экспериментальной версии Chrome 23.0.1255.0 при работе в Linux применяется расширенный режим изоляции, реализованный в виде многоуровневой системы sandbox-ов. Первый уровень защиты обеспечивает setuid-sandbox (http://code.google.com/p/setuid-sandbox/), блокирующий доступ к файловой системе, сети и сторонним процессам (процесс помещается (http://code.google.com/p/chromium/wiki/LinuxSUIDSandbox) через CLONE_NEWPID в отдельный PID namespace, выполняется chroot в пустую директорию и блокируется сеть через CLONE_NEWNET). Поверх setuid sandbox дополнительно реализован seccomp-bpf sandbox, который ограничивает доступ процесса только к системным вызовам, необходимым для выполнения штатных функций.
Работа seccomp-bpf sandbox базируется на интегрированной в ядро Linux 3.5 (http://www.opennet.me/opennews/art.shtml?num=34387) поддержке механизма seccomp filter (http://outflux.net/teach-seccomp/), позволяющий определять в приложении правила доступа к системным вызовам, в том числе учитывая передаваемые и возвращаемые аргументы. Например, seccomp filter можно применить для ограничения допустимых файловых путей при обращении к системному вызову open (можно разрешить только обращение к директории с данными браузера). Проверить активность нового режима изоляции можно через URL "about:sandbox". Режим Seccomp-BPF будет работать в 64-разрядных сборках Chrome только при наличии ядра Linux 3.5 или при использовании дистрибутива Ubuntu 12.04, в котором seccomp filter реализован через патчи.URL: http://blog.cr0.org/2012/09/introducing-chromes-next-generat...
Новость: http://www.opennet.me/opennews/art.shtml?num=34778
> Первый уровень защиты обеспечивает setuid-sandbox, блокирующий доступ к файловой системе, сети и сторонним процессам (процесс помещается через CLONE_NEWPID в отдельный PID namespace, выполняется chroot в пустую директорию и блокируется сеть через CLONE_NEWNET).Правильнее назвать это namespace-sandbox, или LXC-sanbox, т.к. он использует технологии Linux namespaces (PID NS, FS NS, Net NS), разработанные в рамках проекта LXC.
> разработанные в рамках проекта LXC.Угу, говна самовар! Namespaces в Plan9 точно были, может в OS/390
Linux - это вообще, сборище костылей со всей планеты! Инноваций в ядре, чуть меньше нуля! :)Они есть, но я вот так, с разбегу и не вспомню...
> Угу, гoвна самовар, Namespaces в Plan9 точно были, может в OS/390Но только в Linux их реализация оказалась пригодна для чего-то полезного :)
> Linux - это сборище костылей со всей планеты! Инноваций в ядре, чуть меньше нуля! :)
Щас лопнешь и всех забрызгаешь :)
>> Угу, гoвна самовар, Namespaces в Plan9 точно были, может в OS/390
> Но только в Linux их реализация оказалась пригодна для чего-то полезногоТолько с момента изобретения сие чудо посчитали избыточным,
от чего теперече в ядре пытаются избавится включая те же древние костыли
(Samepage Merging, ДеДупликация, и тыр и пыр.)
>> Linux - это сборище костылей со всей планеты! Инноваций в ядре, чуть меньше нуля! :)
> Щас лопнешь и всех забрызгаешь :)А ты налей и отойди.
> Только с момента изобретения сие чудо посчитали избыточным,Ты про кого?
> от чего теперече в ядре пытаются избавится включая те же древние костыли
а то из контекста непонятно.
> А ты налей и отойди.
Ок, отбежал за угол :)
> Ты про кого?Вспоминай, про что писал.
>Они есть, но я вот так, с разбегу и не вспомню...Фосфора похавай, то так скоро не вспомнишь как зовут.
> Угу, гoвна самовар! Namespaces в Plan9 точно были, может в OS/390
> Linux - это вообще, сборище костылей со всей планеты!И тем не менее, это вполне себе нэймспэйсы. И вообще, лично мне этот костыль нравится. Всего несколько флагов в clone() а такая полезняшка получается.
Да, с виду красиво, и вселяет чувство "защищённости".
Но любой СПЕЦИАЛИСТ по информационной безопастности,
пошлёт эти неймспейсы в детский сад, - пластелин охранять,
чтоб дети не сгрызли.Лекции читать не буду, пару аксиом:
Два и более процесса имеющие единое ОЗУ - не защещены от взаимодействия!
Два и более процесса имеющие единое ЦПУ - не защещены от взаимодействия!
Процесс использующий алгоритмы динамической памяти - не защещен сам от себя!
Процесс использующий входные/вводимые данные - это жопа. :)
Собери класстер из 8080, водрузи на них dos. Обмен между ячейками сделай через перфокарту и бумажную почту:)
>Обмен между ячейками сделай через перфокарту и бумажную почтуМ-де? С каких пор носитель данных может повлиять на их неверную последующую обработку?
>>Обмен между ячейками сделай через перфокарту и бумажную почту
> М-де? С каких пор носитель данных может повлиять на их неверную последующую
> обработку?Со времен машины Тьюринга, чувак.
>Два и более процесса имеющие единое ОЗУ - не защещены от взаимодействия! Два и более процесса имеющие единое ЦПУ - не защещены от взаимодействия! Процесс использующий алгоритмы динамической памяти - не защещен сам от себя! Процесс использующий входные/вводимые данные - это жопа. :)Не у всех есть возможность запускать по компьютеру на каждую программу, а работать надо. Специалисту по безопасности отправится обратно в вакуум из которого он вылез.
> Специалисту по безопасности отправится обратно в вакуум из которого он вылез.Кури требования к оборудованию и ПО на сертификацию по грифам ОВ и СС.
Угу, все поголовно работают с секреткой.
> Угу, все поголовно работают с секреткой.2-шаг: Угу, все поголовно работают с ДСП
3-шаг: Угу, всем поголовно нужно шифрофание в браузерах
4-шаг: Вы ещё квартиру на замок закрывайте.
5-шаг: Да кому ты нафиг нужен...
6-шаг: Нет человека - нет проблем!
:)
Это всё сферический конь в вакууме.
На первые два пункта как-раз и существует операционная система и "защищённый" режим процессора. Что б OS могла указывать "кому, куда и сколько" без ограничений, а все прочие только в рамках указанного.
На вторые - всё определятся тем, каким местом программист-автор предпочитает думать.
> Это всё сферический конь в вакууме.
> На первые два пункта как-раз и существует операционная система и "защищённый" режим
> процессора. Что б OS могла указывать "кому, куда и сколько" без
> ограничений, а все прочие только в рамках указанного.А вот появляется программа которая не хочет работать в рамках указанного.
Вроде алгоритм написан академиками, проверен 10-ю институтами, 20 комиссиями,
утвержден на пленуме ЦК КПСС,... А вот она херакс и залезла не туда и слила
в свое пространство, пароль от пусковой установки и заслала на gmail.com.
А почему? А вот хрен её знает, - переполнение кэша, конфликт прерываний,
race condition, SMM-дыры, а засрать GTD в x86, как два байта об асфальт.
чувак недоговорил, а от того и проблемы.
правильное утверждение выглядит так:
если две задачи исполняются на одном физическом процессоре и/или на одной физической памяти, то средства защиты ПОТЕНЦИАЛЬНО могут быть взломаны и задачи могут получить данные друг друга.это всё равно, что у меня есть пистолет, то ПОТЕНЦИАЛЬНО я могу кого-то застрелить.
или если у меня есть х.. то ПОТЕНЦИАЛЬНО я могу кого-то изнасиловать. продолжать можно до бесконечности :)
> это всё равно, что у меня есть пистолет, то ПОТЕНЦИАЛЬНО я могу
> кого-то застрелить.
> или если у меня есть х.. то ПОТЕНЦИАЛЬНО я могу кого-то изнасиловать.
> продолжать можно до бесконечности :)Когда взведён курок, или "стоит", в одной бане с девками, то вероятность стремится к 1.0.
Пистолет в сейфе или мужик на диване приравниваются к отключенному компьютеру. :D
>Linux - это вообще, сборище костылей со всей планеты!Железная дорога второй век на костылях держится
А вот и хрен там, костыли для рельсошпального скрепления применяются в основном для старых деревянных шпал, для ж/б шпал и для цельной ж/б подушки чаще применяют болты и армированные бетонные пробки. А уж тем более в случае с композитными и пластиковыми шпалами.The_more_you_know.jpg
Павлин совсем с катушек съехал. Бедняжка
Проект LXC? Ну-ну
И назовут потом всё это ChromeCubes-os, и та польская хакерша возглавит это всё
Вся суть нынешнего веба - сначала берём неподходящий механизм а потом пытаемся его подкрутить до приемлемого состояния. Как здесь - сначала начинаем гонять недоверенный код на своей машине а потом заворачиваем его в десяток слоёв безопасности. Гугл съел всем мозг...
>сначала начинаем гонять недоверенный код на своей машине а потом заворачиваем его в десяток слоёв безопасности.Это ты сейчас про изначально позиционирование Java?
>Гугл съел всем мозг...
Гугла тогда ещё не было. Бабушка с дедушкой тебе этого не рассказывали?
К вам белка пришла и джавой пугает? Где вы в новости увидели хоть слово о джаве?Нет, я о джаваскрипте и веб-приложениях. И гугл здесь понятно к чему - он умудрился всё это веселье чуть ли не в одиночку раскрутить.
> К вам белка пришла и джавой пугает? Где вы в новости увидели
> хоть слово о джаве?
> Нет, я о джаваскрипте и веб-приложениях. И гугл здесь понятно к чему
> - он умудрился всё это веселье чуть ли не в одиночку
> раскрутить.Ты почитай историю: для чего изначально Java позиционировалась.
> И гугл здесь понятно к чему - он умудрился всё это веселье чуть ли не в одиночку раскрутить.
А Sun - не смог.
Ну да, "сетевые компьютеры" и всё такое. Плевать - мало ли у кого какие больные фантазии. Тем более что в нынешнем HTML это делается в куда более уродливом виде - ни тебе пакетов подписанных, ни байткода...
> Ну да, "сетевые компьютеры" и всё такое.Нет. Читай дальше.
Жава изначально предназначалась для эмбеддовки, потом просочилась всюду. Но причем тут она ваще? Выражайся яснее.
А как работает <input type="file">?
Сколько же ресурсов потребует сие чудо?
> Сколько же ресурсов потребует сие чудо?почти не сколько
"несколько" пишется слитно
и через "и" (если хотели сказать в смысле "ничего не требуется", а не "немного более двух штук")
отличный пример, как безграмотность может в корне изменить смысл фразы
Состояние песочницыПесочница SUID Да
Пространства имен PID Да
Сетевые пространства имен Да
Seccomp-legacy sandbox Нет
Seccomp-BPF sandbox Нет
Вы находитесь в корректной тестовой средеЯ пошёл обновлять ведро.
Песочница SUID Да
Пространства имен PID Да
Сетевые пространства имен Да
Seccomp-legacy sandbox Нет
Seccomp-BPF sandbox Да
Песочница SUID Да
Пространства имен PID Да
Сетевые пространства имен Да
Seccomp-legacy sandbox Да
Seccomp-godmode sandbox Да
Seccomp-BPF sandbox Да
Песочница SUID Да
Пространства имен PID Да
Сетевые пространства имен Да
Seccomp-legacy sandbox Да
Seccomp-godmode sandbox Да
Seccomp-BPF sandbox Да
Seccomp-GTFO sandbox Да
и как включить legacy?
--enable-seccomp-sandbox
Только смысла в этом уже не будет, наверное.
--enable-seccomp-sandboxне работает
Состояние песочницы
Песочница SUID Да
Пространства имен PID Да
Сетевые пространства имен Да
Seccomp-legacy sandbox Нет
Seccomp-BPF sandbox Да
Вы находитесь в корректной тестовой среде
>выполняется chroot в пустую директориюА ежели он там файло создаст под завязку? Руту то будет доступно больше (если при создании фс не химичил, или после), а что насчет других юзеров?
Я буду больше уверен в своей безопасности если буду использовать за место "дырявых комбайнов" uzbl или surf.
А чо вот взять и просто написать профиль для AppArmor уже не кошерно да?