Μια αναφερόμενη εκστρατεία που βασίζεται σε κλεμμένα tokens του GitHub και τον WFX stealer θέτει σε κίνδυνο περίπου 66.000 αποθετήρια, σύμφωνα με ρεπορτάζ του Cybernews. Οι επιτιθέμενοι φέρεται να χρησιμοποίησαν κλεμμένα tokens πρόσβασης για να φυτέψουν κακόβουλα αρχεία workflow, μετατρέποντας έναν αγωγό ανάπτυξης σε τρόπο συλλογής μυστικών. Η διαθέσιμη αναφορά είναι σύντομη, επομένως αυτό το άρθρο περιορίζεται σε όσα έχουν δηλωθεί και εστιάζει σε πρακτικά βήματα που μπορούν να κάνουν οι προγραμματιστές τώρα.

Πώς τα κλεμμένα tokens επέτρεψαν την επίθεση στα workflow του GitHub

Σύμφωνα με την αναφορά, η εκστρατεία χρησιμοποίησε κλεμμένα tokens για να προσθέσει workflows «WFX stealer» σε περίπου 66.000 αποθετήρια GitHub. Ένα token είναι ένα διαπιστευτήριο που επιτρέπει σε ένα άτομο ή μια εφαρμογή να ενεργεί σε έναν λογαριασμό χωρίς να πληκτρολογεί κωδικό πρόσβασης. Αν ένας επιτιθέμενος κατέχει ένα έγκυρο token με αρκετά δικαιώματα, το GitHub αντιμετωπίζει τις ενέργειές του ως νόμιμες.

Αυτό είναι που κάνει τα workflow ελκυστικό στόχο. Τα workflow του GitHub Actions είναι αρχεία που αποθηκεύονται σε ένα αποθετήριο και εκτελούνται αυτόματα, συχνά με πρόσβαση στα μυστικά που χρησιμοποιεί ένα έργο για τη δημιουργία, τη δοκιμή και την ανάπτυξη κώδικα. Ένα κακόβουλο workflow δεν χρειάζεται να εκμεταλλευτεί ένα σφάλμα λογισμικού. Χρειάζεται μόνο να γίνει commit από κάποιον που το GitHub πιστεύει ότι είναι εξουσιοδοτημένος, και στη συνέχεια εκτελείται μέσα στον αγωγό.

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

Τι μπορεί να εκθέσει ο WFX stealer από λογαριασμούς προγραμματιστών

Η αναφορά περιγράφει τα workflow ως κλέφτες μυστικών, και η προτεινόμενη οπτική σημειώνει ότι οι αγωγοί CI/CD μπορούν να γίνουν μονοπάτι προς τα μυστικά και τους προσωπικούς λογαριασμούς των προγραμματιστών. Σε πρακτικούς όρους, ένας stealer που εκτελείται σε έναν αγωγό μπορεί να βρίσκεται σε θέση να φτάσει ό,τι μπορεί να φτάσει αυτός ο αγωγός. Τυπικά παραδείγματα τέτοιου υλικού περιλαμβάνουν:

  • Κλειδιά API και διαπιστευτήρια cloud αποθηκευμένα ως μυστικά του αποθετηρίου
  • Tokens ανάπτυξης και διαπιστευτήρια μητρώου πακέτων
  • Άλλα tokens του GitHub διαθέσιμα στο workflow

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

Αυτό εντάσσεται σε ένα ευρύτερο θέμα που έχουμε καλύψει στο παρελθόν: συστήματα που οι άνθρωποι υποτίθεται ότι εμπιστεύονται στρέφονται εναντίον τους. Η ματιά μας στο πώς μια ευπάθεια zero-click του Pixel και επιθέσεις ScreenConnect σε MSP μοιράστηκε αυτό το ίδιο άβολο νήμα δείχνει πόσο συχνά το έμπιστο εργαλείο είναι το αδύναμο σημείο.

Πώς να ελέγξετε αν τα αποθετήριά σας επηρεάστηκαν

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

  1. Ελέγξτε τα αρχεία workflow. Ανοίξτε τον φάκελο .github/workflows σε κάθε αποθετήριο και αναζητήστε αρχεία που δεν αναγνωρίζετε ή αλλαγές που δεν κάνατε.
  2. Ελέγξτε το ιστορικό commits και pull requests. Αναζητήστε πρόσφατα commits ή branches που αγγίζουν workflow, ειδικά από άγνωστους λογαριασμούς ή σε περίεργες ώρες.
  3. Επιθεωρήστε τα logs εκτέλεσης του Actions. Μη αναμενόμενες εκτελέσεις, νέα triggers ή βήματα που κάνουν εξερχόμενα αιτήματα δικτύου αξίζουν πιο προσεκτική ματιά.
  4. Ελέγξτε το αρχείο καταγραφής ασφαλείας και τις εξουσιοδοτημένες εφαρμογές σας. Στις ρυθμίσεις του GitHub, ελέγξτε ποια personal access tokens, εφαρμογές OAuth και GitHub Apps έχουν πρόσβαση, και αφαιρέστε ό,τι δεν χρησιμοποιείτε.
  5. Θεωρήστε δεδομένη την έκθεση αν βρείτε οτιδήποτε. Αντιμετωπίστε κάθε μυστικό που μπορούσε να διαβάσει αυτό το workflow ως παραβιασμένο και αντικαταστήστε το.

Ενίσχυση του GitHub: tokens, MFA και Actions τρίτων

Κανένα από αυτά τα βήματα δεν είναι εξωτικό, αλλά μαζί μειώνουν το τι μπορεί να κάνει ένα κλεμμένο token.

Περιστρέψτε και περιορίστε τα tokens. Ανακαλέστε παλιά personal access tokens και εκδώστε νέα με το στενότερο scope και τη συντομότερη λήξη που λειτουργεί. Τα fine-grained tokens που περιορίζονται σε συγκεκριμένα αποθετήρια είναι ασφαλέστερα από τα ευρέα.

Ενεργοποιήστε τον έλεγχο ταυτότητας πολλαπλών παραγόντων. Το MFA προστατεύει τη σύνδεση στον λογαριασμό σας, αν και αξίζει να θυμάστε ότι ένα κλεμμένο token μπορεί να παρακάμψει εντελώς το βήμα σύνδεσης. Γι' αυτό η υγιεινή των tokens έχει εξίσου μεγάλη σημασία.

Περιορίστε τα δικαιώματα των workflow. Ορίστε το προεπιλεγμένο token του workflow σε read-only και παραχωρήστε πρόσβαση εγγραφής μόνο όπου μια εργασία το χρειάζεται πραγματικά. Απαιτήστε έλεγχο πριν γίνει merge σε αλλαγές αρχείων workflow, για παράδειγμα μέσω branch protection και code owners.

Ελέγξτε τις Actions τρίτων. Καρφιτσώστε τις Actions σε συγκεκριμένο commit αντί για κινούμενο tag, και προτιμήστε αυτές από maintainers που εμπιστεύεστε. Κρατήστε τα μυστικά μακριά από εργασίες που δεν τα χρειάζονται.

Τι σημαίνει αυτό για εσάς

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

Τα καλά νέα είναι ότι οι άμυνες βρίσκονται υπό τον έλεγχό σας και κοστίζουν λίγο χρόνο. Αυτό είναι επίσης μέρος ενός επαναλαμβανόμενου μοτίβου στο οποίο οι επιτιθέμενοι στοχεύουν τους λογαριασμούς και τα εργαλεία που οι άνθρωποι ήδη εμπιστεύονται. Η κάλυψή μας για την Incransom που διεκδικεί επίθεση στην TrRAC Inc. είναι διαφορετικού τύπου περιστατικό, αλλά υπογραμμίζει πόσο γρήγορα η κλεμμένη πρόσβαση μπορεί να μετατραπεί σε πραγματική ζημιά.

Πρακτικά συμπεράσματα

  • Περιστρέψτε τα tokens του GitHub σας σήμερα και διαγράψτε όσα δεν χρησιμοποιείτε πλέον.
  • Ενεργοποιήστε MFA σε κάθε λογαριασμό με πρόσβαση σε αποθετήρια.
  • Ελέγξτε τα αρχεία .github/workflows σας για αλλαγές που δεν κάνατε.
  • Ορίστε τα δικαιώματα των workflow σε read-only από προεπιλογή και καρφιτσώστε τις Actions τρίτων.
  • Αν βρείτε κάτι ύποπτο, αντικαταστήστε κάθε μυστικό στο οποίο μπορούσε να έχει πρόσβαση αυτό το workflow.

Οι αναφορές για κλεμμένα tokens του GitHub και τον WFX stealer εξελίσσονται ακόμη, και οι λεπτομέρειες μπορεί να αλλάξουν. Μην περιμένετε επιβεβαίωση για να τακτοποιήσετε τη δική σας ρύθμιση: περιστρέψτε tokens, ενεργοποιήστε MFA και ελέγξτε τα workflow σας σήμερα.