Το Wintermute hack επαναλήφθηκε σε απλό φορητό υπολογιστή σε λιγότερο από 48 ώρες εκμεταλλευόμενο το ελάττωμα της βωμολοχίας

Ο Όμιλος Amber, ένας πάροχος τεχνολογίας blockchain, επανέλαβε το hack Wintermute σε λιγότερο από 48 ώρες χρησιμοποιώντας έναν βασικό φορητό υπολογιστή. Μια έκθεση του Amber Group ανέφερε,

«Χρησιμοποιήσαμε ένα Macbook M1 με 16 GB RAM για να προϋπολογίσουμε ένα σύνολο δεδομένων σε λιγότερο από 10 ώρες… Ολοκληρώσαμε την υλοποίηση και μπορέσαμε να σπάσουμε το ιδιωτικό κλειδί του 0x0000000fe6a514a32abdcdfcc076c85243de899b σε λιγότερο από 48 ώρες."

Η σιδηροπρίονο αποδόθηκε σε διευθύνσεις ματαιοδοξίας που δημιουργήθηκαν με το εργαλείο Profanity, επιτρέποντας στους χρήστες να δημιουργούν συγκεκριμένες διευθύνσεις ethereum με συγκεκριμένους χαρακτήρες. Στην περίπτωση του Wintermute, η διεύθυνση περιείχε επτά μηδενικά. Οι διευθύνσεις ματαιοδοξίας επιτρέπουν στους λογαριασμούς να έχουν παρόμοιους χαρακτήρες, διευκολύνοντας τον εντοπισμό των δημόσιων διευθύνσεων στο blockchain.

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

Η αρχική ανάλυση πρότεινε ότι θα χρειάζονταν 1,000 GPU μόλις 50 ημέρες για να δημιουργηθεί κάθε πιθανό ιδιωτικό κλειδί για διευθύνσεις που ξεκινούν με επτά μηδενικά. Ωστόσο, η Amber Group ισχυρίζεται τώρα ότι μπορεί να επιτευχθεί χρησιμοποιώντας μόνο έναν φορητό υπολογιστή σε λιγότερο από 48 ώρες.

Η κρυπτογραφία εξήγησε

Βλασφημία είναι ένα εργαλείο δημιουργίας διευθύνσεων για το οικοσύστημα Ethereum. Η βάση κώδικα μπορεί να ληφθεί εύκολα από το GitHub και είναι διαθέσιμη από το 2017. Ωστόσο, η τρέχουσα έκδοση της βάσης κωδικών περιλαμβάνει μια προειδοποίηση που συμβουλεύει κατά της χρήσης του εργαλείου. Ο δημιουργός του εργαλείου, Johguse, πρόσθεσε το ακόλουθο μήνυμα στο αρχείο readme.md στις 15 Σεπτεμβρίου 2022.

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

Επιπλέον, τα βασικά δυαδικά αρχεία αφαιρέθηκαν για να σταματήσουν οι χρήστες να μπορούν να μεταγλωττίσουν τη βάση κώδικα «για να αποτρέψουν περαιτέρω μη ασφαλή χρήση αυτού του εργαλείου».

Το Profanity χρησιμοποιεί τοπική «ισχύ GPU με OpenCL μέσω ενός απλού αλγόριθμου» για τη δημιουργία ιδιωτικών και δημόσιων κλειδιών Ethereum μέχρι να βρει μια διεύθυνση που να ταιριάζει με τους κανόνες που έχει θέσει ο χρήστης. Για παράδειγμα, εάν ένας χρήστης επιθυμεί να δημιουργήσει μια διεύθυνση Ethereum που τελειώνει σε «AAA», θα συνεχίσει να λειτουργεί μέχρι να δημιουργήσει μια διεύθυνση με αυτούς τους χαρακτήρες ως επίθημα.

Όταν δημιουργείται μια διεύθυνση που δεν ταιριάζει με τις συνθήκες που περιγράφονται στο σύνολο κανόνων, το Profanity «προσθέτει 1 στο ιδιωτικό κλειδί και εξάγει μια νέα διεύθυνση Ethereum μέχρι να βρει αυτή που ταιριάζει με τους κανόνες».

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

Αυτό το βίντεο εξηγεί το πραγματικό μέγεθος του Κρυπτογράφηση 256 bit χρησιμοποιείται στην κρυπτογραφία του Ethereum. Μια απλή σύγκριση μπορεί επίσης να γίνει στο ότι υπάρχουν περίπου 2^76 κόκκοι άμμου στον κόσμο αλλά 2^160 πιθανές διευθύνσεις Ethereum.

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

Η εκμετάλλευση

Η Amber Grouped εξήγησε ότι το ελάττωμα της μεθόδου Profanity προέρχεται από τη χρήση ενός σπόρου 32-bit για τη δημιουργία διευθύνσεων.

«Για να δημιουργήσει ένα τυχαίο ιδιωτικό κλειδί, το Profanity χρησιμοποιεί πρώτα την τυχαία συσκευή για να δημιουργήσει έναν σπόρο. Αλλά δυστυχώς το seed είναι 32-bit, το οποίο δεν μπορεί να χρησιμοποιηθεί απευθείας ως ιδιωτικό κλειδί."

Ο σπόρος των 32 bit τροφοδοτείται μέσω μιας γεννήτριας ψευδοτυχαίων αριθμών (PRNG) που χρησιμοποιεί μια ντετερμινιστική συνάρτηση. Αυτή η μέθοδος PRNG έχει ως αποτέλεσμα με έναν απλό τρόπο τον προσδιορισμό όλων των βιώσιμων δημόσιων κλειδιών που χρησιμοποιούνται στο Profanity.

«Δεδομένου ότι υπάρχουν μόνο 2^32 πιθανά αρχικά ζεύγη κλειδιών (d_0,0, Q_0,0) και η επανάληψη σε κάθε γύρο είναι αναστρέψιμη, είναι δυνατή η διάσπαση του ιδιωτικού κλειδιού από οποιοδήποτε δημόσιο κλειδί που δημιουργείται από το Profanity."

Η μέθοδος που χρησιμοποιήθηκε από την Amber Group ήταν να αποκτήσει το δημόσιο κλειδί της διεύθυνσης, να υπολογίσει εκ των προτέρων τα πιθανά δημόσια κλειδιά βωμολοχίας, να υπολογίσει τα δημόσια κλειδιά χρησιμοποιώντας το OpenCL, να συγκρίνει τα υπολογισμένα δημόσια κλειδιά και στη συνέχεια να ανακατασκευάσει το ιδιωτικό κλειδί μόλις βρεθεί μια αντιστοίχιση.

Λόγω της απλότητας της μεθόδου, η Amber Group συνιστά ότι «τα χρήματά σας δεν είναι ασφαλή εάν η διεύθυνσή σας δημιουργήθηκε από το Profanity».

είπε η Amber Group CryptoSlate ότι, σε σχέση με το αν χρειάζεται καλύτερος κρυπτογραφικός αλγόριθμος, «η απάντηση είναι προφανώς ναι… η βιομηχανία μπορεί να δει πόσο ευάλωτος είναι αυτός ο τύπος σχεδιασμού».

Πηγή: https://cryptoslate.com/wintermute-hack-replicated-on-simple-laptop-in-under-48-hours-by-exploiting-profanity-flaw/