Στις αρχές του 2018, ο Νταν Ράιχ και ένας φίλος του αποφάσισαν να επενδύσουν 50.000 δολάρια σε κρυπτονομίσματα Bitcoin σε μια παρτίδα Theta tokkens, ένα νέο κρυπτονόμισμα που τότε άξιζε μόλις 21 σεντς το ένα. Αρχικά, κρατούσαν τα token σε ένα ανταλλακτήριο με έδρα την Κίνα, αλλά μέσα σε λίγες εβδομάδες, μια ευρεία καταστολή των κρυπτονομισμάτων από την κινεζική κυβέρνηση σήμαινε ότι σύντομα θα έχαναν την πρόσβαση στο χρηματιστήριο, άρα και στην επένδυσή τους οπότε έπρεπε να μεταφέρουν τα πάντα σε ένα ψηφιακό πορτοφόλι. Ο Ράιχ και ο φίλος του διάλεξαν ένα πορτοφόλι Trezor One, έστησαν ένα PIN και συνέχισαν τη ζωή τους. Και ξέχασαν την ύπαρξή του.
Μέχρι το τέλος εκείνου του έτους, η αξία του κρυπτονομίσματος είχε βυθιστεί σε λιγότερο από το ένα τέταρτο, είχε επανέλθει και στη συνέχεια είχε κατακρημνιστεί ξανά. Ο Ράιχ αποφάσισε ότι ήθελε να εξαργυρώσει, αλλά ο φίλος του είχε χάσει το χαρτί όπου είχε γράψει το PIN και δεν μπορούσε να θυμηθεί τα ψηφία. Προσπάθησαν να μαντέψουν αυτό που νόμιζαν ότι ήταν ένα τετραψήφιο PIN (στην πραγματικότητα ήταν πέντε), αλλά μετά από κάθε αποτυχημένη προσπάθεια, το πορτοφόλι διπλασίαζε τον χρόνο αναμονής προτού μπορέσουν να μαντέψουν ξανά. Μετά από 16 εικασίες, τα δεδομένα στο πορτοφόλι θα διαγραφούν αυτόματα. Όταν έφτασαν σε μια ντουζίνα προσπάθειες, σταμάτησαν, φοβούμενοι να πάνε παρακάτω.
Ο Ράιχ τα παράτησε και διέγραψε τα χρήματα από το μυαλό του. Ήταν πρόθυμος να δεχτεί την απώλεια – μέχρι που η τιμή άρχισε να αυξάνεται ξανά.
Από ένα χαμηλό περίπου 12.000 δολαρίων, η αξία των tokken τους άρχισε να εκτοξεύεται στα ύψη. Μέχρι το τέλος του 2020, η αξία τους θα ξεπερνούσε τα 400.000 δολάρια, αυξάνοντας για λίγο σε πάνω από 3 εκατομμύρια δολάρια. Θα ήταν δύσκολο να μπουν στο πορτοφόλι χωρίς το PIN — αλλά δεν ήταν αδύνατο. Και όπως ανέφερε το The Verge, με εκατομμύρια πλέον να παίζονται ο Ράιχ και ο φίλος του ορκίστηκαν να βρουν έναν τρόπο να μπουν μέσα.
Όταν ξεχνάς το PIN που απευθύνεσαι; Σε έναν χάκερ
Ο μόνος τρόπος για να κατέχετε κρυπτονομίσματα στο blockchain είναι να έχετε την αποκλειστική κατοχή ενός ιδιωτικού κλειδιού που σχετίζεται με ένα μπλοκ νομίσματος – αλλά η διαχείριση αυτών των κλειδιών ήταν μια πρόκληση. Δεν μπορείτε να πουλήσετε ή να ξοδέψετε το νόμισμά σας χωρίς το κλειδί (ή τη σειρά των λέξεων που χρησιμοποιούνται για την εξαγωγή του κλειδιού, που ονομάζεται επίσης «σπόρος») – αλλά αν το καταλάβει κάποιος άλλος, μπορεί να αρπάξει τα νομίσματά σας σε μια ενιαία ανώνυμη συναλλαγή από οπουδήποτε στον κόσμο. Μπορείτε να αποθηκεύσετε το κλειδί σας σε ένα πορτοφόλι λογισμικού στον διακομιστή μιας υπηρεσίας ανταλλαγής ή σε ένα πορτοφόλι λογισμικού στον δικό σας υπολογιστή ή κινητό τηλέφωνο – αλλά αυτά είναι ευάλωτα σε απομακρυσμένες επιθέσεις εάν κάποιος στο Διαδίκτυο μπορεί να πάρει το κλειδί σας.
Τα ψηφιακά πορτοφόλια, μεγέθους USB stick, προορίζονται για να λύσουν αυτό το πρόβλημα, αποθηκεύοντας το κλειδί τοπικά, εκτός Διαδικτύου και υπογράφοντας συναλλαγές μέσα στο ασφαλές πορτοφόλι όταν εισάγετε τη συσκευή σε έναν υπολογιστή και εισάγετε το PIN. Αλλά αν ξεχάσετε το PIN και δεν έχετε γραμμένο το κλειδί, γενικά δεν έχετε τύχη και δεν μπορείτε πλέον να έχετε πρόσβαση στο νόμισμά σας στο blockchain.
Υπήρχε όμως λύση αλλά θα έπρεπε να απευθυνθούν σε χάκερ.
«Περισσότερα από 3,7 εκατομμύρια Bitcoin χάνονται από τους ιδιοκτήτες»
Αυτό συμβαίνει πιο συχνά από όσο νομίζετε. Η εταιρεία δεδομένων κρυπτονομισμάτων Chainalysis εκτιμά ότι περισσότερα από 3,7 εκατομμύρια Bitcoin αξίας 66,5 δισεκατομμυρίων δολαρίων είναι πιθανό να χαθούν από απροσεξία από τους ίδιους τους ιδιοκτήτες. Το νόμισμα μπορεί να χαθεί για πολλούς λόγους: ο υπολογιστής ή το τηλέφωνο που αποθηκεύει ένα πορτοφόλι λογισμικού κλαπεί ή κολλάει και το πορτοφόλι δεν μπορεί να ανακτηθεί. ο ιδιοκτήτης πετά κατά λάθος το πορτοφόλι του υλικού του. ή ο ιδιοκτήτης ξεχάσει το PIN του ή πεθάνει χωρίς να το δώσει στα μέλη της οικογένειας.
Καθώς η αξία των κλειδωμένων μάρκων τους αυξήθηκε γρήγορα το 2020, ο Ράιχ και ο φίλος του ήθελαν απεγνωσμένα να χακάρουν το πορτοφόλι τους. Έψαξαν στο internet μέχρι που βρήκαν μια ομιλία σε διάσκεψη το 2018 από τρεις ειδικούς που ανακάλυψαν έναν τρόπο πρόσβασης στο κλειδί σε ένα ψηφιακό πορτοφόλι Trezor χωρίς να γνωρίζουν το PIN. Οι μηχανικοί αρνήθηκαν να τους βοηθήσουν, αλλά αυτό έδωσε στον Ράιχ ελπίδα.
«Ξέραμε τουλάχιστον ότι ήταν δυνατό και είχαμε κάποια κατευθυντική ιδέα για το πώς θα μπορούσε να γίνει», λέει ο Ράιχ.
Ο κορονοϊός και τα lockdown επιβράδυναν τα σχέδιά τους το 2020, αλλά τον Φεβρουάριο του 2021, με την αξία των μάρκων τους τώρα στα 2,5 εκατομμύρια δολάρια, οι δύο απεγνωσμένοι επενδυτές βρήκαν την καλύτερη επιλογή: Έναν χάκερ στις ΗΠΑ με το όνομα Τζο Γκραντ.
Ο «Kingpin» του χακαρίσματος που είχε προειδοποιήσει κάποτε τη Γερουσία των ΗΠΑ
Ο Γκραντ είναι ένας ηλεκτρολόγος μηχανικός και εφευρέτης που χακάρει σχεδόν τα πάντα από την ηλικία των 10 ετών. Γνωστός από με το ψευδώνυμο «Kingpin», ήταν μέλος της διάσημης ομάδας χάκερ L0pht που, το 1998, κατέθεσε στη Γερουσία των ΗΠΑ για μια ευπάθεια που θα μπορούσε να χρησιμοποιηθεί για να ρίξει το Διαδίκτυο ή να επιτρέψει σε μια υπηρεσία πληροφοριών να κατασκοπεύει το traffic των δεδομένων.
Ο Ράιχ, ένας ηλεκτρολόγος μηχανικός ο ίδιος μετά από μια μόνο συνομιλία με τον Γκραντ ήξερε ότι είχαν βρει το κατάλληλο άτομο. «Θυμάμαι ότι σκέφτηκα: «Ουάου, αυτός είναι ίσως ένας από τους πιο έξυπνους ηλεκτρολόγους μηχανικούς που έχω γνωρίσει ποτέ», θυμάται.
Ο Γκραντ, ο οποίος έχει ένα προσαρμοσμένο εργαστήριο στην αυλή του Πόρτλαντ της οικογένειάς του, αγόρασε πολλά πανομοιότυπα πορτοφόλια με αυτά που κατείχαν ο Ράιχ και ο φίλος του και εγκατέστησε την ίδια έκδοση firmware σε αυτά. Έπειτα πέρασε τρεις μήνες κάνοντας έρευνα και επιτέθηκε στα πορτοφόλια του με διάφορες τεχνικές. Ράιχ και Γκραντ συμφώνησαν, ο πρώτος δεν θα πετάξει στο Πόρτλαντ με το πορτοφόλι του μέχρι ο Γκραντ να καταφέρει να σπάσει τρία πορτοφόλια χρησιμοποιώντας την ίδια τεχνική.
Ευτυχώς για τον Γκραντ, υπήρχε προηγούμενη έρευνα για να τον καθοδηγήσει. Το 2017, ένας 15χρονος χάκερ υλικού στο Ηνωμένο Βασίλειο ονόματι Σαλίμ Ρασίντ είχε αναπτύξει μια μέθοδο για να ξεκλειδώσει με επιτυχία ένα πορτοφόλι Trezor που ανήκε στον τεχνολογικό δημοσιογράφο Mark Frauenfelder και τον βοήθησε να ελευθερώσει 30.000 δολάρια σε Bitcoin. Χρησιμοποιώντας ένα παραθυράκι ο Ρασίντ έθεσε το πορτοφόλι σε λειτουργία ενημέρωσης firmware και εγκατέστησε τον δικό του μη εξουσιοδοτημένο κωδικό στη συσκευή, ο οποίος του επέτρεπε να διαβάσει το PIN και το κλειδί που βρισκόταν στη μνήμη RAM. Αλλά η εγκατάσταση του κωδικού του προκάλεσε τη διαγραφή του PIN και του κλειδιού που ήταν αποθηκευμένα στη μακροπρόθεσμη μνήμη flash, αφήνοντας μόνο το αντίγραφο στη μνήμη RAM. Αυτό την έκανε επικίνδυνη τεχνική για χρήση από τον ΓΚραντ. Εάν κατά λάθος έσβηνε τη μνήμη RAM πριν προλάβει να διαβάσει τα δεδομένα, το κλειδί θα ήταν μη ανακτήσιμο.
Έτσι επινόησαν μια τεχνική που ονομάστηκε «wallet.fail». Αυτή η επίθεση χρησιμοποίησε μια μέθοδο έγχυσης σφαλμάτων -επίσης γνωστή ως glitching- για να υπονομεύσει την ασφάλεια που προστατεύει τη μνήμη RAM και να τους επιτρέψει να διαβάσουν το PIN και το κλειδί όταν ήταν για λίγο στη μνήμη RAM.
Υπάρχουν τρία επίπεδα ασφάλειας διαθέσιμα για το microcontroller που χρησιμοποιείται στα πορτοφόλια Trezor – το RDP2, το πιο ασφαλές, που δεν σας επιτρέπει να διαβάσετε τη μνήμη RAM και το RDP1 και το RDP0, που το κάνουν. Τα πορτοφόλια Trezor έχουν ρυθμιστεί ώστε να χρησιμοποιούν το RDP2 για να εμποδίζουν κάποιον να διαβάζει τη μνήμη RAM, μεταξύ άλλων.
Αλλά κάνοντας μια επίθεση έγχυσης σφάλματος στο τσιπ -που επηρεάζει την τάση που πηγαίνει στο microcontroller- η ομάδα wallet.fail διαπίστωσε ότι θα μπορούσε να υποβαθμίσει την ασφάλεια από RDP2 σε RDP1. Στη συνέχεια, θα μπορούσαν να εξαναγκάσουν το πορτοφόλι σε λειτουργία ενημέρωσης υλικολογισμικού, στέλνοντας το PIN και το κλειδί στη μνήμη RAM και να τα διαβάσουν.
Ρίσκαραν και πέτυχαν
Η τεχνική ήταν εξαιρετική για ένα ερευνητικό έργο, αλλά επικίνδυνη για το πορτοφόλι του Ράιχ. Επειδή το PIN και το κλειδί μετακινήθηκαν στη μνήμη RAM κατά την ενημέρωση του firmware και δεν αντιγράφηκαν απλώς, υπήρχε μόνο μία έκδοση στο πορτοφόλι κατά τη διάρκεια αυτής της περιόδου.
Αλλά ενώ προσπαθούσε να αντιμετωπίσει το πρόβλημα, ο χάκερ βρήκε μια καλύτερη λύση. Διαπίστωσε ότι στην έκδοση του firmware που ήταν εγκατεστημένο στο πορτοφόλι του Ράιχ, το κλειδί και το PIN εξακολουθούσαν να αντιγράφονται στη μνήμη RAM όταν η συσκευή ενεργοποιήθηκε. Εάν ο Γκραντ προξενούσε έκανε σφάλμα στη συσκευή την κατάλληλη στιγμή, θα μπορούσε να υποβαθμίσει την ασφάλεια σε RDP1 και να διαβάσει τη μνήμη RAM. Και επειδή το κλειδί και το PIN απλώς αντιγράφηκαν στη μνήμη RAM σε αυτό το σημείο και δεν μετακινήθηκαν, σε αντίθεση με το σενάριο αποτυχίας πορτοφολιού, αυτό σήμαινε ότι εξακολουθούσαν να υπάρχουν στη μνήμη flash.
Το μόνο πρόβλημα ήταν ότι το σφάλμα απαιτούσε χιλιάδες προσπάθειες – επανειλημμένη ενεργοποίηση του πορτοφολιού και χρήση διαφορετικών παραμέτρων για να επηρεάσει την τάση στο microcontroller κάθε φορά, σε μια προσπάθεια να φτάσει τη στιγμή που θα τον άφηνε να υποβαθμίσει την ασφάλεια του microcontroller. Χρειάστηκαν τρεις έως τέσσερις ώρες χρησιμοποιώντας ένα αυτοματοποιημένο σενάριο και δεν υπήρχε καμία εγγύηση ότι θα λειτουργούσε στο πορτοφόλι του Ράιχ, ακόμα κι αν λειτουργούσε στα πορτοφόλια πρακτικής.
Ο Γκραντ σχεδίασε το πρόγραμμά του έτσι ώστε, αν και όταν λειτουργούσε το σφάλμα, ο υπολογιστής του να φωνάξει: «Χακάρετε τον πλανήτη!» Ο Ράιχ πέταξε στο Πόρτλαντ και μάλιστα τα γύρισαν όλα σε βίντεο.
Μετά περίμεναν. Και περίμεναν λίγο ακόμα. Μετά έφαγαν πίτσα και περίμεναν λίγο περισσότερο.
Μετά από σχεδόν τρεισήμισι ώρες, ο υπολογιστής τελικά φώναξε: «Χάκαρετε τον πλανήτη!». Στην οθόνη του Γκραντ, μπορούσε να δει κάποιος το κλειδί και το πενταψήφιο PIN. Ο Ράιχ και ο φίλος του ήταν πλέον κατά 2 εκατομμύρια δολάρια πλουσιότεροι. Αμέσως μετέφερε τις μάρκες Theta από τον λογαριασμό τους και έστειλε ένα ποσοστό της λείας στον Γκραντ για τις υπηρεσίες του.