Никогда не оказывайте услуг, о которых не просят

С нового учебного года в урюпинской средней школе нет классных досок. ...

Oracle меняет лицензию на сборки Java SE. Red Hat взял на себя сопровождение OpenJDK 8 и 11
Thu, 18 Apr 2019 07:53:55 +0300

Zend Framework перешёл под крыло организации Linux Foundation
Wed, 17 Apr 2019 20:07:21 +0300

Опубликован код старых игр Infocom, включая Zork
Tue, 16 Apr 2019 21:59:48 +0300

Результаты совместного финансирования OpenNET в 2019 году
Mon, 15 Apr 2019 20:39:04 +0300

NVIDIA открыла код системы машинного обучения, синтезирующей пейзажи по наброскам
Sat, 13 Apr 2019 08:58:21 +0300

Судебный иск против Adblock Plus, манипулирующий изменением кода на сайтах
Fri, 12 Apr 2019 23:53:15 +0300

Результат опроса предпочтений разработчиков от Stack Overflow
Thu, 11 Apr 2019 22:10:07 +0300

Google предложил блокировать загрузку некоторых файлов через HTTP по ссылкам с HTTPS-сайтов
Thu, 11 Apr 2019 14:43:18 +0300

В Firefox Beta добавлен блокировщик скриптов майнинга и скрытой идентификации
Wed, 10 Apr 2019 13:47:46 +0300

Сбор средств на поддержание ленты новостей OpenNET в 2019 году (дополнено)
Tue, 09 Apr 2019 16:03:06 +0300

Система управления конфигурацией Chef стала полностью открытым проектом
Tue, 09 Apr 2019 11:22:14 +0300

Альянс AOMedia опубликовал заявление, касающееся попыток сбора отчислений за AV1
Tue, 09 Apr 2019 07:19:53 +0300

Chrome и Safari убрали возможность отключения атрибута отслеживания кликов
Mon, 08 Apr 2019 21:48:37 +0300

В Chromium доступна отложенная загрузка iframe и изображений. Тестовый выпуск Microsoft Edge
Mon, 08 Apr 2019 20:54:12 +0300

В Wine Staging добавлены патчи для повышения производительности многопоточных игр
Sun, 07 Apr 2019 20:25:40 +0300

Новости OPENNET
Новости

Компания Google объявила от открытии проекта Sandboxed API, позволяющего автоматизировать процесс формирования sandbox-окружений для изолированного выполнения произвольных библиотек на языках C и C++. Изоляция кода библиотек позволяет защититься от потенциальных атак на предоставляемые библиотеками обработчики, создавая дополнительный барьер на случай наличия в их коде уязвимостей, которые можно эксплуатировать через манипуляции с поступающими в библиотеку внешними данными. Код открыт под лицензией Apache 2.0.

Изоляция осуществляется при помощи runtime Sandbox2, в котором применяются пространства имён, cgroups и seccomp-bpf. Вынесенный в sandbox код выполняется в отдельном процессе, для которого ограничивается доступ к системным вызовам и ресурсам, таким как файлы и сетевые соединения. Процессы получают доступ только к системным возможностям, которые непосредственно требуются для выполнения изолируемого кода.

Sandbox2 определяет компоненты для запуска процесса, применения к нему правил изоляции и сопровождения дальнейшего выполнения. Sandbox2 может использоваться отдельно от Sandboxed API для изоляции не только библиотек, но и произвольных процессов. Кроме повышения защиты, положительным моментом выноса кода в отдельные процессы является возможность отдельного регулирования лимитов на потребление библиотекой памяти и CPU, а также защита от сбоев - сбой в библиотеке не приводит к краху всего приложения.

Sandboxed API является надстройкой над Sandbox2, упрощающей портирование существующих библиотек для выполнения в изолированном режиме. Sandboxed API предоставляет промежуточный программный интерфейс, дающий возможность запустить код библиотеки в sandbox-окружении, а также организовать проброс в sandbox-окружение обращений к библиотечным вызовам и обеспечить доставку в основную программу результатов работы библиотеки. Обращение к изолированной библиотеке осуществляется через специализированный RPC, базирующийся на протоколе ProtoBuffs.

Для разработчиков библиотек предлагается набор примитивов, позволяющих из базового приложения обращаться к переменным, файловым дескрипторам, буферам и функциям изолированной библиотеки, в том числе предоставляются средства для автоматической и управляемой синхронизации памяти для совместного доступа к массивам и структурам. Дополнительно предоставляется API для мониторинга за работой изолированных процессов и их перезапуска в случае сбоев.

Для изолируемой библиотеки автоматически генерируется код с аннотациями изолируемых функций для сборочной системы Bazel и программным интерфейсом (SAPI) для взаимодействия между базовыми и изолированным процессами. Разработчик также должен сформировать заголовочный файл с правилами изоляции, который определяет все разрешённые системные вызовы и операции (чтение, запись, открытие файлов, доступ к времени, возможность установки обработчиков сигналов, поддержка выделения памяти через malloc и т.п.). Отдельно определяются файлы и каталоги к которым должна иметь доступ библиотека.

В настоящее время проект доступен только для Linux, но в будущем обещают добавить поддержку macOS и BSD-систем, а в отдалённой перспективе и Windows. Из планов также отмечается возможность изоляции библиотек на языках, отличных от C и C++, поддержка дополнительных runtime для изоляции (например, на базе аппаратной виртуализации) и возможность использования CMake и других сборочных систем (сейчас поддержка ограничена сборочной системой Bazel).

63.9450 72.3602 0.5708 9.5633

НОВОСТИ: Oracle меняет лицензию на сборки Java SE. Red Hat взял на себя с ... Thu, 18 Apr 2019 07:53:55 +0300

Начиная с 16 апреля компания Oracle начала публиковать выпуски Java SE с новым лицензионным соглашением, ограничивающим использование в коммерческих целях. Java SE отныне можно использовать бесплатно только в процессе разработки ПО или для персонального использования, тестирования, создания прототипов и демонстрации приложений.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome