Σφάλμα υψηλής σοβαρότητας στο λογισμικό Bitcoin αποκάλυψε 2 χρόνια μετά τη διόρθωση

Το σφάλμα "υψηλής" σοβαρότητας στο λογισμικό Bitcoin αποκάλυψε 2 χρόνια μετά την επιδιόρθωση - Σφάλμα Bitcoin CoreΈνα σημαντικό σφάλμα στο λογισμικό Bitcoin Core, για να μην συγχέεται Σύστημα Bitcoin, θα μπορούσε να επιτρέψει στους εισβολείς να κλέψουν χρήματα, να καθυστερήσουν τις συμφωνίες ή να χωρίσουν το μεγαλύτερο δίκτυο blockchain σε συγκρουόμενες εκδόσεις αν δεν είχε μυστικά διορθωθεί πριν από δύο χρόνια.

Το σφάλμα στον κώδικα

Ένα άρθρο που δημοσιεύθηκε την Τετάρτη από τον Braydon Fuller, μηχανικό πρωτοκόλλου στον ιστότοπο αγορών κρυπτογράφησης Purse και τον Javed Khan, ανώτερο προγραμματιστή του πρωτοκόλλου Handshake, αναφέρουν ότι εντόπισαν την ευπάθεια τον Ιούνιο του 2018.

Το σφάλμα έλαβε ένα επίπεδο σοβαρότητας 7,8 σε κλίμακα από 1 έως 10, το οποίο θεωρείται "υψηλό" (9 και πάνω θεωρείται "κρίσιμο"). Το πρόβλημα προκλήθηκε από την αποτυχία των "απομακρυσμένων κόμβων" να εκκαθαρίσουν μη έγκυρες συναλλαγές από τη μνήμη τους, δήλωσε ο Χαν.

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

Οι λύσεις Layer 2 (L2), όπως το Lightning Network, το πειραματικό σύστημα πληρωμών που βασίστηκε στο blockchain του Bitcoin, κινδύνευαν από αυτό το σφάλμα. Οι πλήρεις κόμβοι του Bitcoin, από την άλλη πλευρά, δεν κινδύνευαν να χάσουν χρήματα.

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

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

Το πρόβλημα στον κώδικα εισήχθη στο Bitcoin Core τον Νοέμβριο του 2017. Περίπου το 50% των κόμβων Bitcoin ήταν τότε δυνητικά εκτεθειμένοι σε επίθεση, σύμφωνα με το έγγραφο. Οι προηγούμενες εκδόσεις του Bitcoin Core δεν αντιμετώπισαν τέτοιου είδους προβλήματα.

Όχι μόνο το Bitcoin Core

Ο Χαν είπε ότι η ευπάθεια θα μπορούσε να επιτρέψει σε έναν εισβολέα να κλέψει χρήματα από κόμβους που είχαν ανοιχτά κανάλια στο Lightning. Οι εκδόσεις Bitcoin Core 0.16.0 και 0.16.1 αναλύθηκαν και διορθώθηκαν από τον προγραμματιστή Matt Corallo μετά την αποκάλυψη του Fuller στην ομάδα Core τον Ιούλιο του 2018.

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

  • Bitcoin Knots v0.16.0
  • Όλες οι εκδόσεις beta του Bcoin έως v1.0.0-pre
  • Όλες οι εκδόσεις Btcd έως v0.20.1-beta
  • Litecoin Core έκδοση 0.16.0
  • Namecoin Core έκδοση 0.16.1
  • Όλες οι εκδόσεις του Dcrd έως v1.5.1.

Όλες αυτές οι υλοποιήσεις έχουν διορθωθεί.