مایکروسافت در تلاش است تا پشتیبانی گسترده از فیلتر بسته برکلی (eBPF) را به ویندوز بیاورد
2 دقیقه خواندن
منتشر شده در
صفحه افشای ما را بخوانید تا بدانید چگونه می توانید به MSPoweruser کمک کنید تا تیم تحریریه را حفظ کند ادامه مطلب
گزارش ZDNet که مایکروسافت در تلاش است تا ابزار امنیتی لینوکس توسعه یافته فیلتر بسته برکلی (eBPF) را به ویندوز 10 بیاورد.
این ابزار در حال حاضر می تواند بر روی Windows SubSystem برای لینوکس اجرا شود، اما مایکروسافت در حال کار بر روی پشتیبانی بومی است، با این مشکل که این ابزار کد را در زمینه هسته اجرا می کند، که انواع پیچیدگی های امنیتی را ایجاد می کند.
با این حال، کار ممکن است ارزشش را داشته باشد، زیرا eBPF به طور گسترده در فیلتر کردن، تحلیل و مدیریت شبکه و همچنین برای فیلتر کردن تماس های سیستمی و ردیابی زمینه فرآیند استفاده می شود و پایه و اساس برنامه های امنیتی متعدد مانند Cilium، Falco و Tracee را تشکیل می دهد. برنامه های رصدی Kubernetes مانند هابل و پیکسی و زنجیره های ابزار مانند Clang.
پروژه ebpf-for-windows قصد دارد چندین پروژه منبع باز eBPF موجود را بگیرد و "چسب" را برای اجرای آنها در ویندوز اضافه کند.
همانطور که در نمودار نشان داده شده است، زنجیره های ابزار eBPF موجود (کلنگ و غیره) را می توان برای تولید بایت کد eBPF از کد منبع در زبان های مختلف استفاده کرد. بایت کد را می توان توسط هر برنامه ای مصرف کرد، یا از طریق ابزار خط فرمان Netsh، که از یک کتابخانه مشترک استفاده می کند که API های Libbpf را در معرض دید قرار می دهد، اگرچه این هنوز در حال انجام است.
بایت کد eBPF به یک تأیید کننده استاتیک (تأیید کننده PREVAIL) ارسال می شود که در یک فرآیند محافظت شده از حالت کاربر میزبانی می شود (یک محیط امنیتی ویندوز که به یک جزء هسته اجازه می دهد تا به یک شبح حالت کاربر که توسط یک کلید مورد اعتماد امضا شده است) اعتماد کند. اگر بایت کد تمام بررسیهای تأییدکننده را رد کند، میتوان آن را در یک مفسر بارگیری کرد (از uBPF در زمینه اجرای حالت هسته)، یا JIT کامپایل (از طریق کامپایلر uBPF JIT) و بارگذاری کد بومی در اجرای حالت هسته داشت. زمینه (اما سؤالات متداول در پایین در مورد HVCI را ببینید).
برنامههای eBPF که در زمینه اجرای حالت هسته نصب شدهاند، میتوانند به قلابهای مختلف متصل شوند (در حال حاضر دو قلاب: XDP و یک قلاب اتصال سوکت) و APIهای کمکی مختلفی را که توسط eBPF shim در معرض دید قرار میگیرند، فراخوانی کنند، که به طور داخلی APIهای هسته عمومی ویندوز را میپیچد و به استفاده از eBPF در نسخه های موجود ویندوز. قلاب ها و کمک های بیشتری به مرور زمان اضافه خواهند شد.
نتیجه نهایی یک محیط میزبانی ویژه ویندوز برای eBPF خواهد بود که به توسعه دهندگان ویندوز اجازه می دهد از برنامه های منبع باز eBPF بدون نیاز به کدگذاری مجدد استفاده کنند.