Το άτομο που βρίσκεται πίσω από το hack, το οποίο αφαίρεσε τουλάχιστον 484.000 δολάρια από διάφορες εφαρμογές Web3 στις 14 Δεκεμβρίου, το πέτυχε αυτό χρησιμοποιώντας μια πονηρή στρατηγική για να εξαπατήσει τους χρήστες ώστε να δώσουν έγκριση για κακόβουλες συναλλαγές με token, όπως περιγράφει λεπτομερώς η ομάδα πίσω από την πλατφόρμα ασφάλειας blockchain Cyvers.
Το hack εκτυλίχθηκε το πρωί της 14ης Δεκεμβρίου, με τον επιτιθέμενο να εκμεταλλεύεται μια ευπάθεια phishing για να παραβιάσει τον υπολογιστή ενός πρώην υπαλλήλου του Ledger. Η παραβίαση αυτή έδωσε στον εισβολέα πρόσβαση στον λογαριασμό Node Package Manager JavaScript (NPMJS) του υπαλλήλου. Μόλις μπήκε μέσα, ανέβασε μια κακόβουλη ενημέρωση στο repository GitHub της Ledger Connect, ένα πακέτο που χρησιμοποιείται ευρέως στο χώρο των εφαρμογών Web3.
Κατά συνέπεια, ορισμένες εφαρμογές Web3 υιοθέτησαν αυτή τη μολυσμένη έκδοση, παραδίδοντας κατά λάθος τον κακόβουλο κώδικα στα προγράμματα περιήγησης των χρηστών. Μεταξύ των επηρεαζόμενων εφαρμογών ήταν οι Zapper, SushiSwap, Phantom, Balancer και Revoke.cash. Η παραβίαση αυτή επέτρεψε στον επιτιθέμενο να αποσπάσει ένα σημαντικό ποσό τουλάχιστον 484.000 δολαρίων από τους χρήστες αυτών των εφαρμογών, εγείροντας ανησυχίες ότι μπορεί να επηρεαστούν και άλλες εφαρμογές. Οι ειδικοί προειδοποίησαν μάλιστα ότι η ευπάθεια θα μπορούσε δυνητικά να επηρεάσει ολόκληρο το οικοσύστημα Ethereum Virtual Machine (EVM).
Πώς εξελίχθηκε η επίθεση
Ο CEO της Cyvers, Deddy Lavid, ο CTO Meir Dolev και ο αναλυτής blockchain Hakal Unal παρείχαν πρόσθετες πληροφορίες σχετικά με τον τρόπο λειτουργίας της επίθεσης. Σύμφωνα με αυτούς, ο επιτιθέμενος πιθανότατα ενσωμάτωσε κακόβουλο κώδικα για να παρουσιάσει συγκεχυμένα δεδομένα συναλλαγών εντός του πορτοφολιού του χρήστη, αναγκάζοντας έτσι τον χρήστη να εξουσιοδοτήσει ανεπιθύμητες συναλλαγές.
Κατά την ανάπτυξη εφαρμογών Web3, οι προγραμματιστές συχνά βασίζονται σε “connect kits” ανοιχτού κώδικα για να διευκολύνουν τη σύνδεση μεταξύ των εφαρμογών τους και των πορτοφολιών των χρηστών. Αυτά τα κιτ είναι προκατασκευασμένα στοιχεία κώδικα που μπορούν να ενσωματωθούν απρόσκοπτα σε πολλαπλές εφαρμογές, απλοποιώντας τη διαδικασία σύνδεσης χωρίς να απαιτείται εκτεταμένη κωδικοποίηση. Το connect kit της Ledger είναι μια τέτοια επιλογή για τον σκοπό αυτό.
Κατά τη διάρκεια της διαδικασίας ανάπτυξης, οι προγραμματιστές εγκαθιστούν συνήθως ένα κιτ σύνδεσης μέσω του Node Package Manager (NPM). Στη συνέχεια, όταν αναπτύσσουν την εφαρμογή τους και κάποιος χρήστης έχει πρόσβαση σε αυτήν, το connect kit γίνεται μέρος του κώδικα της εφαρμογής και μεταφορτώνεται στο πρόγραμμα περιήγησης του χρήστη.
Σύμφωνα με την ομάδα Cyvers, ο κακόβουλος κώδικας που εισήχθη στο Ledger Connect Kit πιθανώς επέτρεψε στον επιτιθέμενο να χειραγωγήσει τις συναλλαγές που αποστέλλονται στο πορτοφόλι του χρήστη. Για παράδειγμα, στο πλαίσιο της λειτουργίας της εφαρμογής, οι χρήστες πρέπει συχνά να παρέχουν εγκρίσεις για συμβόλαια token, εξουσιοδοτώντας την εφαρμογή να χρησιμοποιεί token από το πορτοφόλι τους.
Ο κακόβουλος κώδικας θα μπορούσε να προκαλέσει στο πορτοφόλι του χρήστη να εμφανίσει ένα αίτημα έγκρισης για token, αλλά με τη διεύθυνση του επιτιθέμενου αντί για τη διεύθυνση της εφαρμογής. Εναλλακτικά, θα μπορούσε να έχει δημιουργήσει ένα μήνυμα επιβεβαίωσης που αποτελούνταν από σύνθετο και αινιγματικό κώδικα, οδηγώντας τον χρήστη να πατήσει κατά λάθος το κουμπί “επιβεβαίωση” χωρίς να κατανοήσει τις συνέπειες.
Τα δεδομένα του blockchain επιβεβαιώνουν αυτό το σενάριο, αποκαλύπτοντας ότι τα θύματα της επίθεσης χορήγησαν σημαντικές εγκρίσεις συμβολαίων στο κακόβουλο συμβόλαιο. Για παράδειγμα, σε μία μόνο συναλλαγή, ο επιτιθέμενος άντλησε πάνω από 10.000 δολάρια από τη διεύθυνση Ethereum 0xAE49C1ad3cf1654C1B22a6Ee38dD5Bc4ae08fEF7, με το αρχείο καταγραφής συναλλαγών να υποδεικνύει την έγκριση του χρήστη για ένα σημαντικό ποσό USDC που θα χρησιμοποιηθεί από το κακόβουλο συμβόλαιο.
Η ομάδα Cyvers σημείωσε ότι η πρόληψη τέτοιων επιθέσεων είναι εξαιρετικά δύσκολη, κυρίως επειδή τα πορτοφόλια δεν παρέχουν πάντα στους χρήστες σαφείς και κατανοητές πληροφορίες σχετικά με τις εγκρίσεις τους. Μια πρακτική ασφαλείας που μπορεί να προσφέρει κάποια προστασία είναι να εξετάζετε σχολαστικά κάθε μήνυμα επιβεβαίωσης συναλλαγής που εμφανίζεται κατά τη χρήση μιας εφαρμογής. Ωστόσο, αυτή η προσέγγιση μπορεί να μην είναι αποτελεσματική εάν η συναλλαγή εμφανίζεται με κώδικα που είναι δύσκολο να αποκρυπτογραφηθεί ή προκαλεί σκόπιμα σύγχυση.
Η Cyvers διαβεβαίωσε ότι η πλατφόρμα της δίνει τη δυνατότητα στις επιχειρήσεις να επαληθεύουν τις διευθύνσεις των συμβάσεων και να εντοπίζουν οποιαδήποτε εμπλοκή σε περιστατικά ασφαλείας. Για παράδειγμα, η Cyvers εντόπισε ότι ο λογαριασμός που ήταν υπεύθυνος για τη δημιουργία των smart contracts που χρησιμοποιήθηκαν σε αυτή την επίθεση είχε συνδεθεί με 180 περιστατικά ασφαλείας.
Ενώ οι μελλοντικές εξελίξεις στα εργαλεία Web3 μπορούν ενδεχομένως να διευκολύνουν τον έγκαιρο εντοπισμό και την πρόληψη τέτοιων επιθέσεων, ο κλάδος εξακολουθεί να αντιμετωπίζει σημαντικές προκλήσεις για την ολοκληρωμένη αντιμετώπιση του ζητήματος αυτού.
Για περισσότερα ενημερωμένα νέα, βρείτε μας στο Twitter και στις Ειδήσεις ή εγγραφείτε στο κανάλι μας στο YouTube .
Ποια είναι η γνώμη σας για το συγκεκριμένο θέμα; Αφήστε μας το σχόλιο σας από κάτω! Πάντα μας ενδιαφέρει η γνώμη σας!
Αρθρογράφος: Dimitrios Alexandridis