Технология eBPF — интересная штука. С её помощью можно без труда внедрять в ядро Linux фрагменты кода, которые затем компилируются в коды операций (опкоды), которые гарантированно не обрушат работу ядра. Набор допустимых инструкций ограничен, переходы назад не допускаются (поэтому…
eBPF называют «безопасным по умолчанию». Но что, если это не так? Все хвалят eBPF за «безопасность и изоляцию». Но что если данные из вашей eBPF-мапы может прочитать любой процесс с правами root? Я не буду учить писать свой eBPF-хелпер. Я покажу практический пример демонстрации этой уязвимости. Пора разобрать вопрос, о котором часто молчат: почему данные из eBPF-мап могут быть доступны не только вашему агенту. Читать далее
В русском переводе вышла книга «Изучаем eBPF» (Learning eBPF) Лиз Райс, главного специалиста по открытым технологиям в компании Isovalent. В ней автор рассказала сисадминам и разработчикам, как можно успешно применять eBPF в своей работе. eBPF (Extended Berkeley Packet Filter) — это технология, позволяющая…
eBPF давно стал стандартным инструментом для работы с ядром, но на практике быстро выясняется: одна и та же программа может вести себя по-разному на соседних версиях Linux. Причина — в деталях, которые обычно остаются «под капотом»: структурах ядра, их смещениях и способе доступа к данным. В статье разбираемся, откуда берётся эта нестабильность, как работают механизмы вроде CO-RE и BTF и что на самом деле нужно учитывать, чтобы eBPF-код был переносимым и предсказуемым в разных окружениях. Разобраться в eBPF