Πώς ένας εθελοντής εμπόδισε μια κερκόπορτα από το να αποκαλύψει συστήματα Linux σε όλο τον κόσμο

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

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

Και πως Τεχνική Ars Όπως σημειώνεται στην εξαντλητική περίληψή του, ο ένοχος εργαζόταν στο υπαίθριο έργο.

Η ευπάθεια, που εισήχθη στην απομακρυσμένη σύνδεση Linux, εξέθεσε μόνο ένα κλειδί, επομένως θα μπορούσε να κρυφτεί από την ανάλυση των δημόσιων υπολογιστών. Όπως γράφει ο Ben Thompson στρατηγική. «Οι περισσότεροι από τους υπολογιστές του κόσμου θα ήταν ευάλωτοι και κανείς δεν θα το γνώριζε».

Η ιστορία της ανακάλυψης της κερκόπορτας XZ ξεκινά νωρίς το πρωί της 29ης Μαρτίου, όταν ο προγραμματιστής της Microsoft με έδρα το Σαν Φρανσίσκο, Andres Freund, δημοσίευσε στο Mastodon και έστειλε ένα email στη λίστα αλληλογραφίας ασφαλείας του OpenWall με τίτλο: “backdoor in upstream xz/liblzma lead σε συμβιβασμό διακομιστή ssh”.

Ο Freund, ο οποίος είναι εθελοντής ως «συντηρητής» της PostgreSQL, μιας βάσης δεδομένων που βασίζεται στο Linux, παρατήρησε κάποια περίεργα πράγματα τις τελευταίες εβδομάδες κατά τη διάρκεια της δοκιμής. Οι κρυπτογραφημένες συνδέσεις στο liblzma, μέρος της βιβλιοθήκης συμπίεσης XZ, κατανάλωναν πολύ CPU. Κανένα από τα ερμηνευτικά εργαλεία που χρησιμοποίησε δεν αποκάλυψε τίποτα, έγραψε ο Freund στο Mastodon. Αυτό τον έκανε αμέσως ύποπτο και θυμήθηκε ένα «περίεργο παράπονο» από έναν χρήστη του Postgres μερικές εβδομάδες νωρίτερα σχετικά με το Valgrind, το πρόγραμμα Linux που ελέγχει για σφάλματα μνήμης.

Μετά από κάποια έρευνα, ο Freund ανακάλυψε τελικά τι ήταν λάθος. “Το upstream αποθετήριο xz και τα αρχεία xz tar έχουν μια κερκόπορτα”, σημείωσε ο Freund στο email του. Ο κακόβουλος κώδικας ήταν στις εκδόσεις 5.6.0 και 5.6.1 των εργαλείων και βιβλιοθηκών xz.

Λίγο αργότερα, η εταιρεία επιχειρηματικού λογισμικού ανοιχτού κώδικα Red Hat έστειλε μια ειδοποίηση ασφαλείας έκτακτης ανάγκης στους χρήστες του Fedora Rawhide και του Fedora Linux 40. Τελικά, η εταιρεία κατέληξε στο συμπέρασμα ότι η έκδοση beta του Fedora Linux 40 περιείχε δύο επηρεαζόμενες εκδόσεις των βιβλιοθηκών xz. Οι εκδόσεις Fedora Rawhide πιθανότατα έλαβαν επίσης τις εκδόσεις 5.6.0 ή 5.6.1.

ΠΑΡΑΚΑΛΩ ΣΤΑΜΑΤΗΣΤΕ ΑΜΕΣΩΣ ΝΑ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ ΟΠΟΙΑΔΗΠΟΤΕ ΠΕΡΙΠΤΩΣΗ ΤΟΥ FEDORA RAWHIDE για εργασία ή προσωπική δραστηριότητα. Το Fedora Rawhide θα επιστρέψει στο xz-5.4.x σύντομα και μόλις γίνει αυτό, οι παρουσίες του Fedora Rawhide μπορούν να ανακατανεμηθούν με ασφάλεια.

Αν και μια beta έκδοση του Debian, της δωρεάν διανομής Linux, περιείχε πακέτα σε κίνδυνο, η ομάδα ασφαλείας του ενήργησε γρήγορα για να τα επαναφέρει. “Προς το παρόν δεν είναι γνωστό ότι έχει επηρεαστεί καμία σταθερή έκδοση του Debian”, έγραψε ο Salvatore Bonaccorso του Debian σε μια ειδοποίηση ασφαλείας προς τους χρήστες το απόγευμα της Παρασκευής.

Ο Freund αργότερα αναγνώρισε το άτομο που υπέβαλε τον κακόβουλο κώδικα ως έναν από τους δύο βασικούς προγραμματιστές του xz Utils, γνωστό ως JiaT75 ή Jia Tan. σοβαρός συμβιβασμός στο σύστημά σας. Δυστυχώς, η τελευταία φαίνεται η λιγότερο πιθανή εξήγηση, δεδομένου ότι επικοινώνησαν σε αρκετές λίστες σχετικά με τις «διορθώσεις» που αναφέρθηκαν παραπάνω», έγραψε ο Freund στην ανάλυσή του, αφού συνέδεσε διάφορες λύσεις που έγιναν από το JiaT75.

Το JiaT75 ήταν ένα γνωστό όνομα: είχαν συνεργαστεί στενά με τον αρχικό προγραμματιστή της μορφής αρχείου .xz, Lasse Collin, για λίγο. Όπως σημειώθηκε από τον προγραμματιστή Russ Cox στο χρονοδιάγραμμά του, το JiaT75 άρχισε να στέλνει φαινομενικά νόμιμες ενημερώσεις κώδικα στη λίστα αλληλογραφίας XZ τον Οκτώβριο του 2021.

Άλλα σκέλη του σχεδίου αναπτύχθηκαν λίγους μήνες αργότερα, όταν δύο άλλες ταυτότητες, ο Jigar Kumar και ο Dennis Ens, άρχισαν να στέλνουν email με παράπονα στον Collin για λάθη και την αργή ανάπτυξη του έργου. Ωστόσο, όπως σημειώνεται σε αναφορές του Evan Boehs και άλλων, το “Kumar” και το “Ens” δεν εμφανίστηκαν ποτέ εκτός της κοινότητας XZ, με αποτέλεσμα οι ερευνητές να πιστεύουν ότι και τα δύο είναι ψεύτικα που υπήρχαν μόνο για να βοηθήσουν τον Jia So να βάλει τον εαυτό σου σε θέση παραδώστε τον κωδικό της κερκόπορτας.

«Λυπάμαι για τα προβλήματα ψυχικής σας υγείας, αλλά είναι σημαντικό να γνωρίζετε τα δικά σας όρια. Καταλαβαίνω ότι αυτό είναι ένα έργο χόμπι για όλους τους συντελεστές, αλλά η κοινότητα θέλει περισσότερα», έγραψε ο Ens σε ένα μήνυμα, ενώ ο Kumar είπε σε ένα άλλο ότι «δεν θα υπάρξει πρόοδος μέχρι να υπάρξει ένας νέος συντηρητής».

Μέσα σε αυτό το πέρασμα, ο Collins έγραψε ότι «δεν έχω χάσει το ενδιαφέρον μου, αλλά η ικανότητά μου να φροντίζω τον εαυτό μου ήταν αρκετά περιορισμένη λόγω κυρίως μακροχρόνιων προβλημάτων ψυχικής υγείας, αλλά και άλλων πραγμάτων» και πρότεινε στην Jia Tan θα έπαιρνε σημαντικότερο ρόλο. «Είναι επίσης καλό να έχουμε κατά νου ότι πρόκειται για ένα απλήρωτο έργο χόμπι», κατέληξε. Τα μηνύματα ηλεκτρονικού ταχυδρομείου από το “Kumar” και το “Ens” συνεχίστηκαν έως ότου ο Tan προστέθηκε ως συντηρητής αργότερα εκείνο το έτος, ικανός να κάνει τροποποιήσεις και να προσπαθήσει να παραθέσει το πακέτο σε πιο έγκυρες διανομές Linux.

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

Ένας προγραμματιστής πίσω από το FFmpeg, ένα δημοφιλές πακέτο πολυμέσων ανοιχτού κώδικα, τόνισε το ζήτημα σε ένα tweet, λέγοντας: «Το φιάσκο του xz έδειξε πώς η εξάρτηση από απλήρωτους εθελοντές μπορεί να προκαλέσει μεγάλα προβλήματα. «Εταιρείες τρισεκατομμυρίων δολαρίων αναμένουν δωρεάν και επείγουσα υποστήριξη από εθελοντές». Και έφεραν αποδείξεις, σημειώνοντας πώς αντιμετώπισαν ένα σφάλμα «υψηλής προτεραιότητας» που επηρεάζει τις Ομάδες της Microsoft.

Παρά την εξάρτηση της Microsoft από το λογισμικό της, ο προγραμματιστής γράφει: «Αφού ζήτησαν ευγενικά ένα συμβόλαιο υποστήριξης της Microsoft για μακροχρόνια συντήρηση, αντίθετα πρόσφεραν μια εφάπαξ πληρωμή μερικών χιλιάδων δολαρίων… Οι επενδύσεις στη συντήρηση και τη βιωσιμότητα δεν είναι ελκυστικές και πιθανότατα δεν θα λάβετε προαγωγή στη μεσαία διοίκηση, αλλά θα ωφεληθείτε χιλιάδες φορές σε πολλά χρόνια».

Ένας στρατός προγραμματιστών και επαγγελματιών της κυβερνοασφάλειας ανακαλύπτει λεπτομέρειες σχετικά με το ποιος βρίσκεται πίσω από το “JiaT75”, πώς εκτέλεσαν το σχέδιό τους και την έκταση της ζημιάς, τόσο στα μέσα κοινωνικής δικτύωσης όσο και στα διαδικτυακά φόρουμ. Αλλά αυτό συμβαίνει χωρίς άμεση οικονομική υποστήριξη από πολλές από τις εταιρείες και οργανισμούς που επωφελούνται από τη δυνατότητα χρήσης ασφαλούς λογισμικού.

Leave a Reply

Your email address will not be published. Required fields are marked *