Share This
Связаться со мной
Крути в низ
Categories
//Microsoft реализует eBPF для Linux на Windows

Microsoft реализует eBPF для Linux на Windows

13.05.2021Category : My Habr

Microsoft запустил проект с открытым исходным кодом, чтобы адаптировать инструмент ядра Linux eBPF (Extended Berkeley Packet Filter) для работы на Windows.

microsoft realizuet ebpf dlja linux na windows d897c13 - Microsoft реализует eBPF для Linux на Windows

Архитектура проекта и связанных компонентов

Функция eBPF предлагает поддержку расширенных пакетных фильтров Беркли и используется в большей части Unix-подобных систем для программ, которые должны, помимо прочего, анализировать сетевой трафик. По сути, это виртуальная машина на основе регистров, разработанная для запуска пользовательской 64-битной RISC-подобной архитектуры посредством своевременной компиляции внутри ядра Linux.

Отношения eBPF с ядром Linux можно сравнить с отношениями JavaScript с веб-страницами — они ​​позволяют изменять поведение ядра Linux путем загрузки выполняемой программы без изменения фактического исходного кода ядра или загрузки модуля ядра.

Windows в последние годы перешла на использование инструментов Linux. Программы eBPF доказали свою эффективность в Linux для защиты от отказа в обслуживании и наблюдения за системой, и возник интерес к адаптации технологии для других операционных систем.

Проект ebpf-for-windows нацелен на то, чтобы позволить разработчикам использовать наборы инструментов eBPF и интерфейсы прикладного программирования поверх существующих версий Windows.

По словам партнера-разработчика ПО Microsoft Дэйва Талера и главного инженера-программиста Пурны Гаддехосур, они используют несколько существующих проектов с открытым исходным кодом eBPF и адаптируют их к работе в Windows. Пока проект находится на ранней стадии разработки. eBPF для Windows будет полагаться на IOVisor uBPF и верификатор PREVAIL с использованием специфической среды хостинга.

Разработчики Windows смогут использовать такие инструменты, как clang, для генерации байт-кода eBPF из исходного кода, который можно использовать с командной строкой Windows netsh через общую библиотеку на API Libbpf. Библиотека передает байт-код eBPF через статический верификатор PREVAIL в среде безопасности Windows.

Инженеры Microsoft говорят, что проект направлен на обеспечение совместимости кода eBPF с использованием хуков и помощников, которые существуют как в Linux, так и в Windows.

Пока добавлены два перехватчика — XDP и привязка сокета — для обработки событий и взаимодействия с вспомогательными API-интерфейсами, доступными через оболочку eBPF.

  • 5 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Связаться со мной
Close