Ανάλυση: Πώς ο χάκερ έκλεψε 80 χιλιάδες ETH από τη γέφυρα Solana Wormhole PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ανάλυση: Πώς ο χάκερ έκλεψε 80 χιλιάδες ETH από τη γέφυρα Solana Wormhole

Ένα από τα χειρότερα αμυχές εναντίον του blockchain Solana συνέβη την Τετάρτη όταν ένας χάκερ κατάφερε να μεταφέρει 80,000 αιθέρα (ETH), πάνω από 214 εκατομμύρια δολάρια τη στιγμή της γραφής, από το σύστημα Solana και στο blockchain Ethereum μέσω της γέφυρας Wormhole - μια υπηρεσία που παρέχει τη δυνατότητα μεταφοράς κεφάλαια μεταξύ των διαφορετικών blockchains.

Εξήγησε σε ένα tweet νήμα με το ψευδώνυμο προφίλ στο Twitter έξυπνες συμβάσεις, ο χάκερ οριστικοποίησε το exploit μεταφέροντας τα 80,000 ETH από το έξυπνο συμβόλαιο Wormhole στο Ethereum σε ένα μόνο συναλλαγή. Όπως αποδείχθηκε, αυτή ήταν μόνο η τελική κίνηση σε μια σειρά από hacks που επέτρεψαν στον χάκερ να κλέψει τα χρήματα. 

«Αν και είναι δραματική, αυτή η συναλλαγή είναι απλώς το τέλος μιας ενδιαφέρουσας σειράς γεγονότων. Έπρεπε να αρχίσω να πηγαίνω προς τα πίσω για να καταλάβω πώς αυτό ήταν ακόμη δυνατό», ανέφερε στο Twitter η smartcontracts.

Οι κηδεμόνες υπέγραψαν μια ψευδή μεταφορά

Η σκουληκότρυπα είναι μια λεγόμενη γέφυρα, α έξυπνη σύμβαση, στο Ethereum σε αυτήν την περίπτωση, που παρέχει έναν τρόπο μετακίνησης περιουσιακών στοιχείων κρυπτογράφησης μεταξύ διαφορετικών blockchains. Σύμφωνα με τα smartcontracts, από άποψη υψηλού επιπέδου, η Wormhole έχει συγκεκριμένα ένα σύνολο αποκαλούμενων κηδεμόνων που υπογράφουν τις μεταφορές μεταξύ των blockchains.

Οι φύλακες της Wormhole είχαν υπογράψει κατά κάποιο τρόπο αυτή τη μεταφορά 80,000 ETH σαν να ήταν 100% νόμιμη.

«Η συναλλαγή που έβγαλε 80,000 ETH ήταν στην πραγματικότητα ο εισβολέας που μετέφερε 80,000 ETH από το Solana στο Ethereum. Αρχικά πίστευα ότι το συμβόλαιο μπορεί να είχε εσφαλμένα επικυρώσει τις υπογραφές στη μεταγραφή, αλλά οι υπογραφές [είχαν] πλήρως ελεγχθεί.”

Σύμφωνα με τα smartcontracts, η πρώτη ανακάλυψη και μερική εξήγηση προήλθε από τον α συναλλαγή στη Σολάνα, η οποία έκοψε με κάποιο τρόπο 120,000 «Wormhole ETH», τύλιξε αιθέρα στη Σολάνα, από το πουθενά. Εφόσον ο χάκερ μπόρεσε να κόψει το Wormhole ETH στο Solana, μπόρεσε να το αποσύρει σωστά πίσω στο Ethereum.

“Η Σολάνα είναι κάπως περίεργη”

Εξετάζοντας το ιστορικό συναλλαγών του χάκερ, υπάρχει μια συναλλαγή που έγινε ακριβώς πριν από την κοπή των 120,000 Wormhole ETH. Σε αυτό συναλλαγή, ο χάκερ κόβει μόνο 0.1 Wormhole ETH, λες και ο χάκερ δοκίμαζε τη λειτουργία με μια μικρή ποσότητα.

Μια περαιτέρω εξέταση του ιστορικού συναλλαγών του χάκερ αποκαλύπτει ότι ο χάκερ έκανε ένα κατάθεση 0.1 ETH από το Ethereum σε σολάριουμ. Αν και ο εισβολέας δεν έκανε κατάθεση ETH 120,000 ETH στο έξυπνο συμβόλαιο Wormhole στο Ethereum, υπάρχει κάτι ενδιαφέρον σχετικά με αυτήν την κατάθεση.

Όπως εξηγεί το smartcontract στο tweet του, οι συναλλαγές που έκοψαν το Wormhole ETH στον Solana πυροδοτούσαν ένα έξυπνο συμβόλαιο Wormhole λειτουργία που ονομάζεται "πλήρες_τυλιγμένο". Μία από τις παραμέτρους που λαμβάνει αυτή η συνάρτηση είναι ένα «μηνύμα μεταφοράς», βασικά α μήνυμα υπογεγραμμένο από τους φύλακες της γέφυρας που λέει ποια μάρκα να κόψει και πόσο.

«Η Σολάνα είναι κάπως περίεργη, επομένως αυτές οι παράμετροι είναι στην πραγματικότητα έξυπνες συμβάσεις. Αλλά το σημαντικό είναι πώς δημιουργούνται αυτές οι συμβάσεις «μηνυμάτων μεταφοράς». Εδώ είναι το συναλλαγή που έκανε το μήνυμα μεταφοράς 0.1 ETH», ανέφερε στο Twitter η smartcontracts.

Ποιος ελέγχει τα πούλια;

Αυτή η σύμβαση «μηνύματος μεταφοράς» δημιουργείται με την ενεργοποίηση α λειτουργία που ονομάζεται "post_vaa". Το πιο σημαντικό είναι ότι η post_vaa ελέγχει αν το μήνυμα είναι έγκυρο ελέγχοντας τις υπογραφές από τους κηδεμόνες. Αυτό το μέρος φαίνεται αρκετά λογικό, λέει η smartcontracts, αλλά αυτό το βήμα ελέγχου υπογραφής είναι που έσπασε τα πάντα.

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

Μέσα στο "verify_signatures", το πρόγραμμα Wormhole προσπαθεί να ελέγξει ότι η εκτέλεση που συνέβη ακριβώς πριν από την ενεργοποίηση αυτής της συνάρτησης, ήταν ότι η Secp256k1 Η λειτουργία επαλήθευσης υπογραφής εκτελέστηκε.

"Αυτή η λειτουργία επαλήθευσης είναι ένα ενσωματωμένο εργαλείο που υποτίθεται ότι επαληθεύει ότι οι υπογραφές που δίνονται είναι σωστές. Έτσι, η επαλήθευση υπογραφής έχει ανατεθεί σε εξωτερικό συνεργάτη σε αυτό το πρόγραμμα. Αλλά εδώ είναι που εμφανίζεται το σφάλμα», ανέφερε στο Twitter η smartcontracts.

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

Παιχνίδι πάνω

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

Αυτή είναι η διεύθυνση συστήματος που χρησιμοποιείται ως είσοδος για το "verify_signatures" για τη νόμιμη κατάθεση 0.1 ETH:

Σωστή εισαγωγή διεύθυνσης συστήματος
Σωστή εισαγωγή διεύθυνσης συστήματος

Αλλά εδώ είναι η συναλλαγή "verify_signatures" για την ψεύτικη κατάθεση 120 χιλιάδων ETH:

Εισαγωγή διεύθυνσης συστήματος
Είσοδος ψευδούς διεύθυνσης συστήματος 

Δεν είναι αυτή η διεύθυνση του συστήματος!

«Χρησιμοποιώντας αυτό το «ψεύτικο» πρόγραμμα συστήματος, ο εισβολέας θα μπορούσε ουσιαστικά να πει ψέματα για το γεγονός ότι εκτελέστηκε το πρόγραμμα ελέγχου υπογραφής. Οι υπογραφές δεν ελέγχονταν καθόλου!», ανέφερε στο Twitter η smartcontracts.

«Μετά από εκείνο το σημείο, τελείωσε το παιχνίδι. Ο εισβολέας έκανε να φαίνεται ότι οι φύλακες είχαν υπογράψει μια κατάθεση 120 χιλιάδων στο Wormhole στο Solana, παρόλο που δεν το είχαν κάνει. Το μόνο που έπρεπε να κάνει τώρα ο εισβολέας ήταν να κάνει τα «παιχνιδάκια» του πραγματικά, αποσύροντάς τα πίσω στο Ethereum. Και μια απόσυρση 80k ETH + 10k ETH αργότερα (τα πάντα στη γέφυρα στο Ethereum), όλα είχαν φύγει.

everdome

Ενημερωτικό δελτίο CryptoSlate

Περιλαμβάνει μια περίληψη των πιο σημαντικών καθημερινών ιστοριών στον κόσμο της κρυπτογράφησης, του DeFi, των NFT και άλλων.

Πάρτε μια άκρη στην αγορά κρυπτογράφησης

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

Ανάλυση στην αλυσίδα

Στιγμιότυπα τιμών

Περισσότερο πλαίσιο

Εγγραφείτε τώρα για 19 $ / μήνα Εξερευνήστε όλα τα οφέλη

Πηγή: https://cryptoslate.com/breakdown-how-the-hacker-stole-80k-eth-from-the-solana-wormhole-bridge/

Σφραγίδα ώρας:

Περισσότερα από CryptoSlate