Η Microsoft εργάζεται για να προσφέρει εκτεταμένη υποστήριξη για το φίλτρο πακέτων Berkeley (eBPF) στα Windows

Εικονίδιο ώρας ανάγνωσης 2 λεπτό. ανάγνωση


Οι αναγνώστες βοηθούν στην υποστήριξη του MSpoweruser. Ενδέχεται να λάβουμε προμήθεια εάν αγοράσετε μέσω των συνδέσμων μας. Εικονίδιο επεξήγησης εργαλείου

Διαβάστε τη σελίδα αποκάλυψης για να μάθετε πώς μπορείτε να βοηθήσετε το MSPoweruser να διατηρήσει τη συντακτική ομάδα Διάβασε περισσότερα

Αναφορές ZDNet ότι η Microsoft εργάζεται για να φέρει το διευρυμένο φίλτρο πακέτων Berkeley (eBPF) στο εργαλείο ασφαλείας Linux στα Windows 10.

Το εργαλείο μπορεί προς το παρόν να εκτελεστεί σε Windows SubSystem για Linux, αλλά η Microsoft εργάζεται για εγγενή υποστήριξη, με το πρόβλημα να είναι ότι το εργαλείο εκτελεί κώδικα στο πλαίσιο του πυρήνα, γεγονός που δημιουργεί κάθε είδους επιπλοκές ασφαλείας.

Ωστόσο, η εργασία μπορεί να αξίζει τον κόπο, καθώς το eBPF χρησιμοποιείται εκτενώς στο φιλτράρισμα, την ανάλυση και τη διαχείριση δικτύου, καθώς και για το φιλτράρισμα κλήσεων συστήματος και την ανίχνευση πλαισίου διεργασιών και αποτελεί τη βάση πολλαπλών εφαρμογών ασφαλείας όπως το Cilium, το Falco και το Tracee. Προγράμματα παρατήρησης Kubernetes όπως το Hubble και το Pixie και αλυσίδες εργαλείων όπως το Clang.

Το έργο ebpf-for-windows στοχεύει να λάβει πολλά υπάρχοντα έργα ανοιχτού κώδικα eBPF και προσθέτει την «κόλλα» για να τα κάνει να εκτελούνται στα Windows.

Όπως φαίνεται στο διάγραμμα, οι υπάρχουσες αλυσίδες εργαλείων eBPF (clang, κ.λπ.) μπορούν να χρησιμοποιηθούν για τη δημιουργία bytecode eBPF από τον πηγαίο κώδικα σε διάφορες γλώσσες. Ο Bytecode μπορεί να καταναλωθεί από οποιαδήποτε εφαρμογή ή μέσω του εργαλείου γραμμής εντολών Netsh, το οποίο χρησιμοποιεί μια κοινόχρηστη βιβλιοθήκη που εκθέτει τα API Libbpf, αν και αυτό είναι ακόμη σε εξέλιξη.

Ο bytecode eBPF αποστέλλεται σε έναν στατικό επαληθευτή (τον επαληθευτή PREVAIL) που φιλοξενείται σε μια διαδικασία που προστατεύεται από τη λειτουργία χρήστη (ένα περιβάλλον ασφαλείας των Windows που επιτρέπει σε ένα στοιχείο του πυρήνα να εμπιστεύεται έναν δαίμονα λειτουργίας χρήστη υπογεγραμμένο από ένα κλειδί που εμπιστεύεται). Εάν ο bytecode περάσει όλους τους ελέγχους του επαληθευτή, μπορεί είτε να φορτωθεί σε έναν διερμηνέα (από το uBPF στο πλαίσιο εκτέλεσης λειτουργίας πυρήνα), είτε να μεταγλωττιστεί JIT (μέσω του μεταγλωττιστή JIT uBPF) και να έχει φόρτωση εγγενούς κώδικα στην εκτέλεση λειτουργίας πυρήνα πλαίσιο (αλλά δείτε τις Συχνές Ερωτήσεις στο κάτω μέρος σχετικά με το HVCI).

Τα προγράμματα eBPF που είναι εγκατεστημένα στο περιβάλλον εκτέλεσης λειτουργίας πυρήνα μπορούν να προσαρτηθούν σε διάφορα άγκιστρα (προς το παρόν δύο άγκιστρα: XDP και ένα άγκιστρο σύνδεσης υποδοχής) και να καλούν διάφορα βοηθητικά API που εκτίθενται από το eBPF shim, το οποίο αναδιπλώνει εσωτερικά τα δημόσια API πυρήνα των Windows, επιτρέποντας χρήση του eBPF σε υπάρχουσες εκδόσεις των Windows. Περισσότερα άγκιστρα και βοηθοί θα προστεθούν με την πάροδο του χρόνου.

Το τελικό αποτέλεσμα θα είναι ένα περιβάλλον φιλοξενίας ειδικά για τα Windows για το eBPF, το οποίο θα επιτρέπει στους προγραμματιστές των Windows να χρησιμοποιούν προγράμματα eBPF ανοιχτού κώδικα χωρίς να χρειάζεται να επανακωδικοποιήσουν.

Ελέγξτε το Έργο ebpf-for-windows στο GitHub εδώ.

Περισσότερα για τα θέματα: eGMP, microsoft, παράθυρα 10

Αφήστε μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *