The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Оценка безопасности новой системы контейнерной изоляции Nabla"
Отправлено opennews, 16-Июл-18 11:24 
Джеймс Боттомли (James Bottomley), известный разработчик ядра Linux, входивший в координационный технический комитет Linux Foundation, опубликовал (https://blog.hansenpartnership.com/measuring-the-horizontal-.../) результаты анализа безопасности различных систем контейнерной изоляции, включая традиционные контейнеры Docker, недавно представленную систему  Nabla (https://nabla-containers.github.io/), нацеленную на минимизацию выполняемых в основном ядре системных вызовов, и гибридные системы  gVisor (https://www.opennet.ru/opennews/art.shtml?num=48538) и Kata Containers (https://www.opennet.ru/opennews/art.shtml?num=48642) с изоляцией на базе гипервизоров.

Для каждого типа систем оценивался уровень защищённости от совершения горизонтальных атак (HAP, Horizontal Attack Profile (https://blog.hansenpartnership.com/containers-and-cloud-secu.../)), при которых брешь в одном из базовых слоёв (например, в ядре Linux или гирервизоре) может привести к полной компрометации всей инфраструктуры и получению контроля за корневым окружением и всеми запущенными контейнерами. Уровень безопасности HAP зависит от объёма привилегированного кода,  который вызывается в процессе работы той или оной системы контейнерной изоляции или виртуализации. Чем меньше привилегированного кода вовлечено в выполнение контейнера тем выше безопасность всей системы, так как сокращается число потенциальных векторов для атак и уменьшается вероятность присутствия уязвимостей.


Основным путём совершения горизонтальных атак для контейнеров являются системные вызовы, обработка которых выполняется на стороне общего ядра и, в случае наличия уязвимости в одном из обработчиков системного вызова, злоумышленник, имеющий доступ к одному из контейнеров, может получить контроль над всей инфраструктурой. В случае применения виртуализации на базе гипервизоров главными объектами для атак становятся гипервизор и прослойки для обеспечения доступа к оборудованию или эмуляции оборудования. В системах контейнерной изоляции предоставляется доступ к около 300 системным вызовам, что примерно в 10 раз превышает число гипервызовов (hypercall).


Из-за использования общего ядра Linux обычные контейнеры предоставляют больше векторов для совершения горизонтальных атак. Выходом могли бы стать комбинированные решения на базе виртуализации, использующие легковесное системное окружение, но из-за больших накладных расходов они проигрывают по производительности и требуют для своей работы больше памяти. В качестве варианта, который обеспечивал бы должную производительность и защищённость, недавно была представлена (https://nabla-containers.github.io/blog/)  система контейнерной изоляции  Nabla (https://nabla-containers.github.io/).


В Nabla используется только  9 системных вызовов, а вся основная функциональность, включая TCP/IP стек и код файловых систем, реализована в виде работающего в пространстве пользователя unikernel, не привязанного к ядру ОС и системным библиотекам. Данную систему можно рассматривать как аналог систем для запуска приложений поверх гипервизора,  но вместо гипервизора использует обычные механизмы контейнерной изоляции с жесткой блокировкой доступа к системным вызовам при помощи фильтров seccomp.


В качестве основы в окружениях Nabla задействованы наработки открытого компанией IBM проекта Solo5 (https://github.com/Solo5/solo5/), предоставляющего изолированное окружение для запуска произвольных  unikernel, в том числе развиваемых проектами Rump (https://www.opennet.ru/opennews/art.shtml?num=40371), MirageOS (https://www.opennet.ru/opennews/art.shtml?num=42515) и IncludeOS (https://www.opennet.ru/opennews/art.shtml?num=43444). Вся необходимая системная функциональность прикрепляется к приложению во время сборки. Среди протестированных приложений  Nginx, Python, Redis и Node.js, для которых подготовлены (https://github.com/nabla-containers/nabla-base-build) типовые образы контейнеров.  Для запуска контейнеров применяется runtime runnc (https://github.com/nabla-containers/runnc) (переработанный runc), интегрируемый с инструментарием Docker и совместимый со спецификацией
OCI (https://www.opennet.ru/opennews/art.shtml?num=46889) (Open Container Initiative).

Для анализа безопасности была проведена оценка охвата привилегированного кода, который вовлекается при выполнении изолированных окружений. В частности, было посчитано число функций ядра, которые были вызваны в процессе работы окружений с Redis, Python и Node.js. В результате в Nabla было зафиксировано в 2-3 раза меньше вызовов по сравнению с другими механизмами изоляции, в том числе с gVisor (https://www.opennet.ru/opennews/art.shtml?num=48538) (используется собственное мини-ядро на языке Go, предоставляющее необходимые системные вызовы) и Kata Containers (https://www.opennet.ru/opennews/art.shtml?num=48642) (применяется урезанный вариант обычного ядра Linux).


Измерение производительности тестовых заданий на базе Redis, Python и Node.js показало лишь незначительное отставание Nabla от Docker.

URL: https://blog.hansenpartnership.com/measuring-the-horizontal-.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=48969

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру