Tags:
Node Thumbnail

ไมโครซอฟท์ประกาศเปิดซอร์สโครงการ ebpf-for-windows นำ eBPF ที่เป็นการรันโค้ดภายใน sandbox ในเคอร์เนลเพื่อการดึงค่าต่างๆ ออกจากเคอร์เนลมาใช้บนวินโดวส์

eBPF (Extended Berkeley Packet Filter) เป็นส่วนย่อยของเคอร์เนลลินุกซ์ที่เปิดทางให้ผู้ใช้ส่งโค้ดเข้าไปรันในเคอร์เนลโดยตรง โดยก่อนรันจะมีการตรวจสอบความปลอดภัย และยืนยันว่าโปรแกรมไม่ทำงานนานเกินไป (เช่น ไม่มี loop)

ไมโครซอฟท์อาศัยโครงการโอเพนซอร์ส 2 โครงการคือ uBPF เอนจินรันและคอมไพล์โค้ด BPF สัญญาอนุญาต Apache (โค้ดเคอร์เนลเป็นไลเซนส์ GPL ทำให้ไม่สามารถใช้ร่วมกับโปรแกรมปิดซอร์สได้) และ PREVIAL โครงการตรวจสอบความปลอดภัยของโค้ด BPF ที่รองรับโปรแกรมมี loop แต่ใช้เวลารันไม่นานเกินไป

การรองรับ eBPF อาศัยการสร้างชั้นแปลงโค้ด (shim) เพื่อให้ eBPF ทำงานร่วมกับ API เน็ตเวิร์คของวินโดวส์ได้ ไมโครซอฟท์ระบุว่าเตรียมจะรองรับ API สำหรับ BPF ให้มากที่สุด แต่ก็มี API บางส่วนที่เจาะจงกับลินุกซ์มากๆ ก็ไม่สามารถใช้งานได้

โครงการนี้ยังอยู่ระหว่างการพัฒนาตอนนี้ผู้สนใจสามารถดูโค้ดและนำมาคอมไพล์เองได้ โดยมีแอปพลิเคชั่นตัวอย่างให้ 3 รายการ คือ โปรแกรมลองทำ DNS Flood และตัวอย่างการเขียน eBPF ป้องกัน, โปรแกรมมีบั๊กตัวอย่างที่เปิดพอร์ตใหม่ไปเรื่อยๆ, และตัวอย่างการใช้ eBPF กำหนดโควต้าการใช้พอร์ต

ที่มา - Microsoft Open Source Blog

No Description

Get latest news from Blognone

Comments

By: xenatt
ContributorWindows PhoneRed HatSymbian
on 11 May 2021 - 18:34 #1208690
xenatt's picture

ใช้ Linux Kernel จะประหยัดไปได้เยอะนะ ?


Opensource - Hackintosh - Graphic Design - Scriptkiddie - Xenlism Project

By: lew
FounderJusci's WriterMEconomicsAndroid
on 12 May 2021 - 00:08 #1208712 Reply to:1208690
lew's picture

ถ้าเคอร์เนลเป็น Apache 2.0 คนดึงมาใส่หลายโมดูลแล้วล่ะครับ


lewcpe.com, @wasonliw