Microsoft đang làm việc để hỗ trợ Berkeley Packet Filter (eBPF) mở rộng cho Windows

Biểu tượng thời gian đọc 2 phút đọc


Bạn đọc giúp đỡ ủng hộ MSpoweruser. Chúng tôi có thể nhận được hoa hồng nếu bạn mua thông qua các liên kết của chúng tôi. Biểu tượng chú giải công cụ

Đọc trang tiết lộ của chúng tôi để tìm hiểu cách bạn có thể giúp MSPoweruser duy trì nhóm biên tập Tìm hiểu thêm

Báo cáo ZDNet rằng Microsoft đang làm việc để đưa công cụ bảo mật Linux mở rộng Bộ lọc gói Berkeley (eBPF) lên Windows 10.

Công cụ này hiện có thể chạy trên Windows SubSystem dành cho Linux, nhưng Microsoft đang làm việc trên hỗ trợ gốc, với vấn đề là công cụ này chạy mã trong ngữ cảnh hạt nhân, điều này làm nảy sinh tất cả các loại phức tạp bảo mật.

Tuy nhiên, công việc có thể đáng giá vì eBPF được sử dụng rộng rãi trong việc lọc, phân tích và quản lý mạng cũng như lọc cuộc gọi hệ thống và theo dõi ngữ cảnh quy trình và tạo thành nền tảng của nhiều ứng dụng bảo mật như Cilium, Falco và Tracee; Các chương trình quan sát Kubernetes như Hubble và Pixie, và các công cụ như Clang.

Dự án ebpf-for-windows nhằm mục đích sử dụng một số dự án mã nguồn mở eBPF hiện có và thêm “chất kết dính” để làm cho chúng chạy trên Windows.

Như thể hiện trong sơ đồ, các công cụ eBPF hiện có (tiếng kêu, v.v.) có thể được sử dụng để tạo bytecode eBPF từ mã nguồn bằng nhiều ngôn ngữ khác nhau. Bytecode có thể được sử dụng bởi bất kỳ ứng dụng nào hoặc thông qua công cụ dòng lệnh Netsh, sử dụng thư viện được chia sẻ để hiển thị các API Libbpf, mặc dù điều này vẫn đang được tiến hành.

Bytecode eBPF được gửi đến trình xác minh tĩnh (trình xác minh PREVAIL) được lưu trữ trong quy trình được bảo vệ ở chế độ người dùng (môi trường bảo mật Windows cho phép thành phần nhân tin cậy daemon chế độ người dùng được ký bằng khóa mà nó tin cậy). Nếu bytecode vượt qua tất cả các lần kiểm tra trình xác minh, nó có thể được tải vào trình thông dịch (từ uBPF trong ngữ cảnh thực thi chế độ hạt nhân) hoặc JIT được biên dịch (thông qua trình biên dịch uBPF JIT) và tải mã gốc vào quá trình thực thi chế độ hạt nhân ngữ cảnh (nhưng hãy xem Câu hỏi thường gặp ở dưới cùng về HVCI).

Các chương trình eBPF được cài đặt vào ngữ cảnh thực thi chế độ hạt nhân có thể gắn vào các móc khác nhau (hiện tại có hai móc cho đến nay: XDP và một móc liên kết ổ cắm) và gọi các API trợ giúp khác nhau được hiển thị bởi miếng đệm eBPF, bao bọc bên trong các API hạt nhân Windows công khai, cho phép sử dụng eBPF trên các phiên bản Windows hiện có. Nhiều móc và người trợ giúp sẽ được thêm vào theo thời gian.

Kết quả cuối cùng sẽ là một môi trường lưu trữ dành riêng cho Windows dành cho eBPF, cho phép các nhà phát triển Windows sử dụng các chương trình eBPF mã nguồn mở mà không cần phải mã hóa lại.

Kiểm tra các ebpf-for-windows project tại GitHub đây.

Thông tin thêm về các chủ đề: eGMP, microsoft, 10 cửa sổ

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *