Αποκαλύφθηκαν λεπτομέρειες σχετικά με τα patches που υπέβαλε το Πανεπιστήμιο της Μινεσότα

Τις τελευταίες μέρες το υπόθεση σχετικά με τις ενέργειες μιας ομάδας ερευνητών από το Πανεπιστήμιο της Μινεσότα, δεδομένου ότι από την οπτική γωνία πολλών, τέτοιες ενέργειες σε σχέση με την εισαγωγή τρωτών σημείων στον Πυρήνα Linux δεν έχουν καμία δικαιολογία.

Και παρόλο που μια ομάδα Ερευνητές του Πανεπιστημίου του Μινεσότνα δημοσιεύσει μια ανοιχτή επιστολή συγνώμης, του οποίου η αποδοχή αλλαγών στον πυρήνα του Linux που αποκλείστηκε από Ο Greg Kroah-Hartman αποκάλυψε λεπτομέρειες επιδιορθώσεων που υποβάλλονται σε προγραμματιστές πυρήνα και αλληλογραφία με συντηρητές που σχετίζονται με αυτές τις ενημερώσεις κώδικα.

Αξίζει να σημειωθεί ότι απορρίφθηκαν όλα τα διορθωτικά προβλήματα Με πρωτοβουλία των συντηρητών, κανένα από τα μπαλώματα δεν εγκρίθηκε. Αυτό το γεγονός καθιστά σαφές γιατί ο Greg Kroah-Hartman ενήργησε τόσο σκληρά, καθώς δεν είναι σαφές τι θα έκαναν οι ερευνητές εάν τα μπαλώματα είχαν εγκριθεί από τον συντηρητή.

Εκ των υστέρων, υποστήριξε ότι σκόπευαν να αναφέρουν το σφάλμα και δεν θα επέτρεπαν τα μπαλώματα να πάνε στο Git, αλλά δεν είναι σαφές τι θα κάνουν πραγματικά ή πόσο μακριά θα μπορούσαν να πάνε.

Συνολικά, τον Αύγουστο του 2020, στάλθηκαν πέντε ενημερώσεις κώδικα από τις ανώνυμες διευθύνσεις acostag.ubuntu@gmail.com και jameslouisebond@gmail.com (μια επιστολή του James Bond): δύο σωστά και τρία συμπεριλαμβανομένων κρυφών σφαλμάτων, δημιουργώντας συνθήκες για την εμφάνιση του τρωτά σημεία.

Κάθε ενημερωμένη έκδοση κώδικα περιείχε μόνο 1 έως 4 γραμμές κώδικα. Η κύρια ιδέα πίσω από τα κακά μπαλώματα ήταν ότι η διόρθωση διαρροής μνήμης θα μπορούσε να δημιουργήσει μια προϋπόθεση για μια ευπάθεια διπλής ελεύθερης.

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

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

Με βάση αυτά τα μπαλώματα, συνοψίζουμε τα μοτίβα τους, μελετάμε τους συγκεκριμένους λόγους για τους οποίους είναι δύσκολο να εντοπιστούν τα μπαλώματα εισαγωγής σφαλμάτων (τόσο με ποιοτική όσο και ποσοτική ανάλυση) και το πιο σημαντικό παρέχουμε προτάσεις για την αντιμετώπιση του προβλήματος.

Η πρώτη προβληματική ενημέρωση κώδικα διόρθωσε τη διαρροή μνήμης προσθέτοντας μια κλήση στο kfree () πριν επιστρέψετε τον έλεγχο σε περίπτωση σφάλματος, αλλά δημιουργώντας συνθήκες πρόσβασης στην περιοχή μνήμης μετά την απελευθέρωσή της (χρήση μετά την ελεύθερη χρήση).

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

Το δεύτερο έμπλαστρο περιείχε επίσης όρους για το ζήτημα της φθοράς μετά την κυκλοφορία. Η καθορισμένη ενημέρωση κώδικα δεν έγινε αποδεκτή από τον συντηρητή, ο οποίος απέρριψε την ενημέρωση κώδικα λόγω άλλου προβλήματος με το list_add_tail, αλλά δεν παρατήρησε ότι ο δείκτης "chdev" μπορεί να απελευθερωθεί στη συνάρτηση put_device, η οποία χρησιμοποιείται στη συνέχεια στην κλήση προς dev_err (& chdev -> dev ..). Ωστόσο, η ενημέρωση κώδικα δεν έγινε αποδεκτή, αν και για λόγους που δεν σχετίζονται με την ευπάθεια.

Περιέργως, αρχικά θεωρήθηκε ότι 4 στα 5 μπαλώματα είχαν προβλήματα, Αλλά οι ίδιοι οι ερευνητές έκαναν ένα λάθος και, κατά τη γνώμη τους, ένα προβληματικό επίθεμα, προτάθηκε η σωστή λύση, χωρίς τις υποτιθέμενες συνθήκες για τη χρήση της μνήμης μετά την κυκλοφορία.

Σε αυτήν την εργασία, παρουσιάζουμε την έννοια της «ανώριμης ευπάθειας» όπου λείπει μια κατάσταση ευπάθειας, αλλά μπορεί να γίνει πραγματική όταν η κατάσταση είναι σιωπηρά.
εισήχθη από μια ενημέρωση κώδικα για άλλο σφάλμα.

Αναπτύσσουμε επίσης εργαλεία που μας βοηθούν να βρούμε μέρη κώδικα που μπορεί να υποφέρουν
από τις ενημερώσεις κώδικα εισαγωγής σφαλμάτων και προτείνουμε τι μπορεί να κάνει δύσκολο να εντοπιστούν αυτές οι ενημερώσεις κώδικα εισαγωγής σφαλμάτων.

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

Το τρίτο έμπλαστρο απορρίφθηκε επίσης από τον συντηρητή λόγω ενός άλλου σφάλματος χωρίς ευπάθεια (διπλή εφαρμογή σε pdev).


Το περιεχόμενο του άρθρου συμμορφώνεται με τις αρχές μας συντακτική ηθική. Για να αναφέρετε ένα σφάλμα κάντε κλικ Aquí.

Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

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

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.