Επίθεση στην υποδομή PyTorch, με κίνδυνο το αποθετήριο και τις εκδόσεις

Αποκαλύφθηκαν λεπτομέρειες της επίθεσης στην υποδομή που χρησιμοποιήθηκε για την ανάπτυξη του πλαισίου μηχανικής μάθησης PyTorch, η οποία κατέστησε δυνατή την εξαγωγή κλειδιών πρόσβασης επαρκών για την τοποθέτηση αυθαίρετων δεδομένων στο αποθετήριο με εκδόσεις έργων στο GitHub και το AWS, καθώς και την αντικατάσταση κώδικα στον κύριο κλάδο του αποθετηρίου και προσθέστε μια κερκόπορτα μέσω εξαρτήσεων. Η πλαστογράφηση έκδοσης PyTorch θα μπορούσε να χρησιμοποιηθεί για να επιτεθούν σε μεγάλες εταιρείες όπως η Google, η Meta, η Boeing και η Lockheed Martin που χρησιμοποιούν το PyTorch στα έργα τους. Ως μέρος του προγράμματος Bug Bounty, η Meta πλήρωσε τους ερευνητές 16250 $ για πληροφορίες σχετικά με το πρόβλημα.

Η ουσία της επίθεσης είναι η δυνατότητα εκτέλεσης του κώδικά σας σε διακομιστές συνεχούς ενοποίησης που εκτελούν ανακατασκευές και εκτελούν εργασίες για να δοκιμάσουν νέες αλλαγές που αποστέλλονται στο αποθετήριο. Το ζήτημα επηρεάζει έργα που χρησιμοποιούν τους δικούς τους εξωτερικούς χειριστές "Self-Hosted Runner" με GitHub Actions. Σε αντίθεση με τις παραδοσιακές ενέργειες GitHub, οι χειριστές Self-Hosted δεν εκτελούνται στην υποδομή GitHub, αλλά στους δικούς τους διακομιστές ή σε εικονικές μηχανές που διατηρούνται από προγραμματιστές.

Η εκτέλεση εργασιών συναρμολόγησης στους διακομιστές σας σάς επιτρέπει να οργανώσετε την εκκίνηση κώδικα που μπορεί να σαρώσει το εσωτερικό δίκτυο μιας επιχείρησης, να αναζητήσει στο τοπικό FS κλειδιά κρυπτογράφησης και διακριτικά πρόσβασης και να αναλύσει περιβαλλοντικές μεταβλητές με παραμέτρους για πρόσβαση σε εξωτερικό χώρο αποθήκευσης ή υπηρεσίες cloud. Ελλείψει κατάλληλης απομόνωσης του περιβάλλοντος συναρμολόγησης, τα εμπιστευτικά δεδομένα που βρέθηκαν μπορούν να σταλούν εξωτερικά σε εισβολείς, για παράδειγμα, μέσω πρόσβασης σε εξωτερικά API. Για να προσδιορίσετε τη χρήση του Self-Hosted Runner από έργα, η εργαλειοθήκη Gato μπορεί να χρησιμοποιηθεί για την ανάλυση αρχείων ροής εργασίας που είναι προσβάσιμα από το κοινό και τα αρχεία καταγραφής εκκίνησης εργασιών CI.

Στο PyTorch και σε πολλά άλλα έργα που χρησιμοποιούν το Self-Hosted Runner, μόνο οι προγραμματιστές των οποίων οι αλλαγές έχουν προηγουμένως αξιολογηθεί από ομοτίμους και έχουν συμπεριληφθεί στη βάση κώδικα του έργου επιτρέπεται να εκτελούν εργασίες κατασκευής. Η ύπαρξη της κατάστασης "συνεισφέρων" κατά τη χρήση των προεπιλεγμένων ρυθμίσεων στο αποθετήριο καθιστά δυνατή την εκκίνηση των χειριστών GitHub Actions κατά την αποστολή αιτημάτων έλξης και, κατά συνέπεια, την εκτέλεση του κώδικά σας σε οποιοδήποτε περιβάλλον GitHub Actions Runner που σχετίζεται με το αποθετήριο ή τον οργανισμό που επιβλέπει το έργο.

Η σύνδεση με την κατάσταση "συνεισφέρων" αποδείχθηκε ότι ήταν εύκολο να παρακαμφθεί - αρκεί να υποβάλετε πρώτα μια μικρή αλλαγή και να περιμένετε να γίνει αποδεκτή στη βάση κώδικα, μετά την οποία ο προγραμματιστής έλαβε αυτόματα την κατάσταση ενεργού συμμετέχοντα, των οποίων τα αιτήματα έλξης επιτρέπεται να δοκιμάζονται στην υποδομή CI χωρίς χωριστή επαλήθευση. Για να επιτευχθεί η κατάσταση ενεργού προγραμματιστή, το πείραμα περιλάμβανε μικρές αισθητικές αλλαγές για τη διόρθωση τυπογραφικών σφαλμάτων στην τεκμηρίωση. Για να αποκτήσει πρόσβαση στο αποθετήριο και την αποθήκευση των εκδόσεων PyTorch, η επίθεση κατά την εκτέλεση του κώδικα στον "Self-Hosted Runner" παρεμπόδισε το διακριτικό GitHub που χρησιμοποιήθηκε για πρόσβαση στο χώρο αποθήκευσης από τις διαδικασίες κατασκευής, καθώς και τα κλειδιά AWS που χρησιμοποιήθηκαν για την αποθήκευση των αποτελεσμάτων κατασκευής .

Το ζήτημα δεν είναι συγκεκριμένο για το PyTorch και επηρεάζει πολλά άλλα μεγάλα έργα που χρησιμοποιούν τις προεπιλεγμένες ρυθμίσεις για τον "Self-Hosted Runner" στο GitHub Actions. Για παράδειγμα, αναφέρθηκε η υλοποίηση παρόμοιων επιθέσεων για την εγκατάσταση ενός backdoor σε ορισμένα μεγάλα πορτοφόλια κρυπτονομισμάτων και έργα blockchain με κεφαλαιοποίηση δισεκατομμυρίων δολαρίων, την πραγματοποίηση αλλαγών στις εκδόσεις του Microsoft Deepspeed και του TensorFlow, την παραβίαση μιας από τις εφαρμογές CloudFlare και επίσης την εκτέλεση κώδικα σε έναν υπολογιστή στο δίκτυο της Microsoft. Λεπτομέρειες για αυτά τα περιστατικά δεν έχουν γίνει ακόμη γνωστές. Στο πλαίσιο των υφιστάμενων προγραμμάτων επιβράβευσης σφαλμάτων, οι ερευνητές έχουν υποβάλει περισσότερες από 20 αιτήσεις για ανταμοιβές αξίας πολλών εκατοντάδων χιλιάδων δολαρίων.

Πηγή: opennet.ru

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