Skip to content

Commit 85a715f

Browse files
authored
Update ebpf.md
Some editor's stuff:) Signed-off-by: Timur Tukaev <[email protected]>
1 parent fafac92 commit 85a715f

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

content/ru/ebpf.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,39 @@ tags: ["architecture", "networking", "security"]
66
---
77

88
Технология eBPF (англ. extended Berkley Packet Filter — расширенный фильтр пакетов Беркли)
9-
позволяет небольшим программам или скриптам запускаться в пространстве ядра ОС Линукс
9+
позволяет небольшим программам или скриптам запускаться в пространстве ядра ОС Linux
1010
без необходимости изменять код ядра или загружать модули ядра.
1111

12-
В ОС Линукс есть два пространства: пространство ядра (kernel space) и пространство пользователя (user space).
12+
В ОС Linux есть два пространства: пространство ядра (kernel space) и пространство пользователя (user space).
1313
Ядро представляет основу операционной системы и имеет неограниченный доступ к аппаратному обеспечению.
1414

1515
Приложения находятся в пространстве пользователя.
1616
Когда возникает необходимость в привилегированном доступе, приложения отправляют запрос к ядру.
1717
Для приложений, требующих большей свободы действий, например, прямого доступа к аппаратному обеспечению,
18-
ядро может быть расширено за счёт модулей ядра Линукс.
19-
Такой подход расширяет стандартные функции ядра, открывая приложениям доступ к низкоуровневым компонентам.
20-
Однако расширение ядра за счет модулей влечет за собой риски безопасности, делая eBPF привлекательной альтернативой.
18+
ядро может быть расширено за счёт модулей ядра Linux.
19+
Такой подход расширяет функциональность ядра, доступную по умолчанию, открывая приложениям доступ к более низкоуровневым компонентам.
20+
Однако расширение ядра с помощью модулей влечет за собой риски и потенциально снижает безопасность, что делает eBPF привлекательной альтернативой.
2121

2222
## Какую проблему решает
2323

2424
Как правило, приложения работают в пространстве пользователя.
2525
Если возникает необходимость в привилегированном доступе (например, к аппаратному обеспечению),
26-
приложение отправляет запрос к ядру, также известный как «системный вызов».
26+
приложение отправляет запрос к ядру. такой запрос называется «системный вызов».
2727
В большинстве случает такой подход прекрасно работает.
2828
Однако бывают ситуации, когда разработчики нуждаются в более низкоуровневом доступе к системе.
2929
Такие ситуации, как правило, связаны с наблюдаемостью (observability), безопасностью и работой с сетью.
30-
Использование модулей ядра Линукс позволяет решить вышеупомянутую проблему без изменения исходного кода ядра.
31-
Увы, у этого подхода есть не только плюсы, но и минусы (в первую очередь связанные с безопасностью).
30+
Использование модулей ядра Linux позволяет решить вышеупомянутую проблему без изменения исходного кода ядра.
31+
К сожалению, у этого подхода есть не только плюсы, но и минусы (в первую очередь, связанные с безопасностью).
3232
Модули ядра работают в пространстве ядра. Это означает, что сбой модуля неминуемо приводит к сбою ядра и, как следствие, падению всей системы.
33-
Кроме того, модули ядра наделены повышенными привилегиями и имеют прямой доступ к системным ресурсам. Без должной защиты этим могут воспользоваться злоумышленники.
33+
Кроме того, модули ядра наделены повышенными привилегиями и имеют прямой доступ к системным ресурсам. Если не обеспечить должную защиту, этими свойствами модулей могут воспользоваться злоумышленники.
3434

3535
## Как именно решает проблему
3636

37-
По сравнению с модулями ядра, eBPF позволяет запускать пользовательские программы в более контролируемой и ограниченной среде.
37+
В отличие от модулей ядра, eBPF позволяет запускать пользовательские программы в более контролируемой и ограниченной среде.
3838
eBPF-программа работает в «песочнице» внутри ядра. Тем самым обеспечивается необходимая изоляция и снижаются риски.
39-
Если в eBPF-программе обнаружится уязвимость или недочет, то их воздействие будет ограничено «песочницей».
39+
Даже если в eBPF-программе обнаружится уязвимость или какой-то изъян, их воздействие ограничится «песочницей».
4040
Более того, прежде чем программа сможет запуститься внутри ядра, она должна пройти процесс верификации.
41-
Верификатор проверяет eBPF-программу на наличие потенциально небезопасного кода,
42-
такого как доступ к памяти за пределами выделенного буфера, бесконечные циклы и неавторизованный доступ к функциям ядра.
41+
Верификатор проверяет eBPF-программу на наличие потенциально небезопасного кода: например, доступ к памяти за пределами выделенного буфера, бесконечные циклы и неавторизованный доступ к функциям ядра.
4342
Верификация гарантирует, что eBPF-программа не войдет в бесконечный цикл и не приведет к сбою ядра.
44-
Такие меры безопасности делают eBPF более надежным вариантом запуска приложений в ядре по сравнению с модулями ядра Линукс.
43+
Такие меры безопасности делают eBPF более надежным вариантом запуска приложений в ядре по сравнению с модулями ядра Linux.
4544

0 commit comments

Comments
 (0)