pexels-algorithm

Heartbleed: το λάθος σε μια γραμμή κώδικα που άφηνε τους διακομιστές να «ξεχειλίζουν» μνήμη για δύο χρόνια [BINTEO]

User avatar placeholder
Written by NewsOk Team

23 Οκτωβρίου 2026

Στις 7 Απριλίου 2014 έγινε δημόσιο ένα ελάττωμα στην OpenSSL, τη βιβλιοθήκη κρυπτογράφησης που χρησιμοποιούσαν εκατομμύρια ιστοσελίδες και συσκευές. Το ελάττωμα έλαβε τον κωδικό CVE-2014-0160 και το όνομα Heartbleed. Επέτρεπε σε έναν επιτιθέμενο να ζητά από έναν διακομιστή κομμάτια της μνήμης του και να τα λαμβάνει, χωρίς να αφήνει σαφή ίχνη.

Πώς λειτουργούσε

Στο πρωτόκολλο TLS υπάρχει μια επέκταση που λέγεται «heartbeat». Ο ένας υπολογιστής στέλνει ένα μικρό μήνυμα και ζητά από τον άλλον να του το επιστρέψει, για να βεβαιωθεί ότι η σύνδεση είναι ακόμη ζωντανή. Το μήνυμα δηλώνει και το μήκος του. Η OpenSSL δεν έλεγχε ότι το δηλωμένο μήκος ταίριαζε με το πραγματικό. Αν κάποιος έλεγε «το μήνυμά μου είναι μεγάλο» αλλά έστελνε ελάχιστα δεδομένα, ο διακομιστής συμπλήρωνε την απάντηση με ό,τι βρισκόταν δίπλα στη μνήμη του. Σε κάθε αίτημα διέρρεαν έως περίπου 64 KB, και ο επιτιθέμενος μπορούσε να το επαναλάβει όσες φορές ήθελε.

Ό,τι τύχαινε να βρίσκεται εκείνη τη στιγμή στη μνήμη της διεργασίας μπορούσε να διαρρεύσει: κωδικοί, κλειδιά συνεδρίας ή άλλα ευαίσθητα δεδομένα.

Ποιος το έγραψε και πότε διορθώθηκε

Η επέκταση heartbeat γράφτηκε το 2011 από τον Ρόμπιν Ζέγκελμαν, τότε υποψήφιο διδάκτορα στη Γερμανία. Την έλεγξε ένας από τους βασικούς προγραμματιστές της OpenSSL, ο Στίβεν Χένσον, ο οποίος δεν πρόσεξε το λάθος, και η αλλαγή καταχωρήθηκε στις 31 Δεκεμβρίου 2011. Έφτασε στους χρήστες με την OpenSSL 1.0.1, που κυκλοφόρησε στις 14 Μαρτίου 2012, με το heartbeat ενεργοποιημένο εξ ορισμού. Οι εκδόσεις 1.0.1 έως 1.0.1f ήταν ευάλωτες, όπως και η δοκιμαστική 1.0.2-beta. Οι κλάδοι 1.0.0 και 0.9.8 δεν επηρεάζονταν. Η διόρθωση ήρθε με την έκδοση 1.0.1g.

Το ελάττωμα το ανακάλυψαν ανεξάρτητα δύο ομάδες: ο μηχανικός Νιλ Μέχτα της Google, τον Μάρτιο του 2014, και λίγες εβδομάδες αργότερα η φινλανδική εταιρεία ασφάλειας Codenomicon.

Τι σημαίνει για τους απλούς χρήστες

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

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