Κυκλοφορία της μονάδας LKRG 0.9.0 για προστασία από την εκμετάλλευση τρωτών σημείων στον πυρήνα του Linux

Το έργο Openwall δημοσίευσε την κυκλοφορία της μονάδας πυρήνα LKRG 0.9.0 (Linux Kernel Runtime Guard), που έχει σχεδιαστεί για να ανιχνεύει και να αποκλείει επιθέσεις και παραβιάσεις της ακεραιότητας των δομών του πυρήνα. Για παράδειγμα, η λειτουργική μονάδα μπορεί να προστατεύσει από μη εξουσιοδοτημένες αλλαγές στον εκτελούμενο πυρήνα και από προσπάθειες αλλαγής των δικαιωμάτων των διεργασιών χρήστη (ανίχνευση χρήσης εκμεταλλεύσεων). Η ενότητα είναι κατάλληλη τόσο για την οργάνωση προστασίας από εκμεταλλεύσεις ήδη γνωστών τρωτών σημείων του πυρήνα Linux (για παράδειγμα, σε περιπτώσεις όπου είναι δύσκολο να ενημερώσετε τον πυρήνα στο σύστημα), όσο και για την αντιμετώπιση εκμεταλλεύσεων για άγνωστα ακόμη τρωτά σημεία. Ο κώδικας του έργου διανέμεται με την άδεια GPLv2.

Μεταξύ των αλλαγών στη νέα έκδοση:

  • Παρέχεται συμβατότητα με πυρήνες Linux από 5.8 έως 5.12, καθώς και με σταθερούς πυρήνες 5.4.87 και μεταγενέστερες (συμπεριλαμβανομένων καινοτομιών από πυρήνες 5.8 και μεταγενέστερες) και με πυρήνες από εκδόσεις RHEL έως 8.4, ενώ διατηρείται η υποστήριξη για όλες τις προηγούμενες υποστηριζόμενες εκδόσεις του πυρήνες, όπως πυρήνες από το RHEL 7.
  • Προστέθηκε η δυνατότητα δημιουργίας του LKRG όχι μόνο ως εξωτερική μονάδα, αλλά και ως μέρος του δέντρου του πυρήνα του Linux, συμπεριλαμβανομένης της συμπερίληψής του στην εικόνα του πυρήνα.
  • Προστέθηκε υποστήριξη για πολλές πρόσθετες διαμορφώσεις πυρήνα και συστήματος.
  • Διορθώθηκαν αρκετά σημαντικά σφάλματα και ελλείψεις στο LKRG.
  • Η εφαρμογή ορισμένων στοιχείων LKRG έχει απλοποιηθεί σημαντικά.
  • Έχουν γίνει αλλαγές για να απλοποιηθεί περαιτέρω η υποστήριξη και ο εντοπισμός σφαλμάτων του LKRG.
  • Για τη δοκιμή του LKRG, έχει προστεθεί η ενοποίηση με το out-of-tree και το mkosi.
  • Το αποθετήριο του έργου έχει μετακινηθεί από το BitBucket στο GitHub και έχει προστεθεί συνεχής ενσωμάτωση χρησιμοποιώντας GitHub Actions και mkosi, συμπεριλαμβανομένου του ελέγχου της κατασκευής και φόρτωσης του LKRG σε πυρήνες έκδοσης του Ubuntu, καθώς και στις καθημερινές εκδόσεις των πιο πρόσφατων βασικών πυρήνων που παρέχονται από το Έργο Ubuntu.

Αρκετοί προγραμματιστές που δεν συμμετείχαν στο παρελθόν στο έργο συνεισέφεραν απευθείας σε αυτήν την έκδοση του LKRG (μέσω αιτημάτων έλξης στο GitHub). Συγκεκριμένα, ο Boris Lukashev πρόσθεσε τη δυνατότητα δημιουργίας ως μέρος του δέντρου πυρήνα του Linux και ο Vitaly Chikunov από το ALT Linux πρόσθεσε την ενοποίηση με το mkosi και το GitHub Actions.

Συνολικά, παρά τις σημαντικές προσθήκες, ο αριθμός των γραμμών κώδικα LKRG μειώθηκε ελαφρώς για δεύτερη συνεχόμενη φορά (είχε επίσης μειωθεί προηγουμένως μεταξύ των εκδόσεων 0.8 και 0.8.1).

Προς το παρόν, το πακέτο LKRG στο Arch Linux έχει ήδη ενημερωθεί στην έκδοση 0.9.0 και ορισμένα άλλα πακέτα χρησιμοποιούν πρόσφατες εκδόσεις git του LKRG και πιθανότατα θα ενημερωθούν στην έκδοση 0.9.0 και μεταγενέστερα σύντομα.

Επιπλέον, μπορούμε να σημειώσουμε μια πρόσφατη δημοσίευση από τους προγραμματιστές του Aurora OS (ρωσική τροποποίηση του Sailfish OS) σχετικά με την πιθανή ενίσχυση του LKRG χρησιμοποιώντας το ARM TrustZone.

Για περισσότερες πληροφορίες σχετικά με το LKRG, δείτε την ανακοίνωση της έκδοσης 0.8 και τη συζήτηση που έγινε τότε.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο