Инструмент песочницы Google с открытым исходным кодом


Google сделал свой инструмент Sandboxed API открытым исходным кодом. Инструмент можно использовать для создания политик безопасности для отдельных программных библиотек.

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

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

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

Поскольку Sandboxed API служит для доступа к отдельным программным функциям внутри изолированной библиотеки, Google также делает общедоступным свой основной проект Sandbox2. Теперь это часть API изолированной программной среды и предоставляет базовые примитивы изолированной программной среды. Его также можно использовать автономно для изоляции произвольных процессов Linux.

Изолированный API в настоящее время реализован для программных библиотек, написанных на C или обеспечивающих привязки C. С высокоуровневой точки зрения Sandboxed API разделяет библиотеку, которая должна быть изолирована, и ее вызывающие стороны на два отдельных процесса ОС: двоичный файл хоста и песочницу. Фактические вызовы библиотеки затем упорядочиваются объектом API на стороне хоста и отправляются через межпроцессное взаимодействие в песочницу, где заглушка RPC демаршалирует и перенаправляет вызовы в исходную библиотеку.

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


Добавить комментарий