Τι είναι το SHAttered; SHA-1 σύγκρουση επιθέσεις, εξηγείται

Mar 1, 2025
Απόρρητο και ασφάλεια

Την πρώτη ημέρα του 2016, η Mozilla τερμάτισε την υποστήριξη για μια εξασθενημένη τεχνολογία ασφαλείας που ονομάζεται SHA-1 στο πρόγραμμα περιήγησης ιστού Firefox. Σχεδόν αμέσως, αντέστρεψαν την απόφασή τους, καθώς θα μείωνε την πρόσβαση σε ορισμένους παλαιότερους ιστότοπους. Αλλά τον Φεβρουάριο του 2017, οι φόβοι τους τελικά έγιναν πραγματικότητα: οι ερευνητές έσπασαν το SHA-1 δημιουργώντας η πρώτη επίθεση σύγκρουσης στον πραγματικό κόσμο . Αυτό σημαίνει όλα αυτά.

Τι είναι το SHA-1;

Το SHA στο SHA-1 σημαίνει Ασφαλής αλγόριθμος κατακερματισμού και, απλά, μπορείτε να το θεωρήσετε ως ένα είδος μαθηματικού προβλήματος ή μεθόδου που ανακατεύει τα δεδομένα που τοποθετούνται σε αυτό . Αναπτύχθηκε από την NSA των Ηνωμένων Πολιτειών, αποτελεί βασικό συστατικό πολλών τεχνολογιών που χρησιμοποιούνται για την κρυπτογράφηση σημαντικών μεταδόσεων στο Διαδίκτυο. Οι κοινές μέθοδοι κρυπτογράφησης SSL και TLS, τις οποίες ίσως έχετε ακούσει, μπορούν να χρησιμοποιήσουν μια συνάρτηση κατακερματισμού όπως το SHA-1 για να δημιουργήσουν τα υπογεγραμμένα πιστοποιητικά που βλέπετε στη γραμμή εργαλείων του προγράμματος περιήγησής σας.

Δεν θα πάμε βαθιά στα μαθηματικά και την επιστήμη των υπολογιστών για καμία από τις λειτουργίες SHA, αλλά εδώ είναι η βασική ιδέα. Το "hash" είναι έναν μοναδικό κωδικό βασισμένο στην εισαγωγή οποιωνδήποτε δεδομένων . Ακόμη και μικρή, τυχαία σειρά γραμμάτων που εισάγονται σε μια συνάρτηση κατακερματισμού όπως το SHA-1 θα επιστρέψει έναν μεγάλο, καθορισμένο αριθμό χαρακτήρων, καθιστώντας (δυνητικά) αδύνατο να επαναφέρετε τη σειρά χαρακτήρων στα αρχικά δεδομένα. Έτσι λειτουργεί συνήθως η αποθήκευση κωδικού πρόσβασης. Όταν δημιουργείτε έναν κωδικό πρόσβασης, η εισαγωγή κωδικού πρόσβασης κατακερματίζεται και αποθηκεύεται από το διακομιστή. Κατά την επιστροφή σας, όταν πληκτρολογείτε τον κωδικό πρόσβασής σας, κατακερματιστεί ξανά. Εάν ταιριάζει με το αρχικό κατακερματισμό, η εισαγωγή μπορεί να θεωρηθεί ότι είναι η ίδια και θα σας δοθεί πρόσβαση στα δεδομένα σας.

Οι λειτουργίες κατακερματισμού είναι χρήσιμες κυρίως επειδή καθιστούν εύκολο να διαπιστωθεί εάν η είσοδος, για παράδειγμα, ένα αρχείο ή ένας κωδικός πρόσβασης, έχει αλλάξει. Όταν τα δεδομένα εισαγωγής είναι μυστικά, όπως ένας κωδικός πρόσβασης, ο κατακερματισμός είναι σχεδόν αδύνατο να αντιστραφεί και να ανακτηθεί τα αρχικά δεδομένα (επίσης γνωστά ως "κλειδί"). Αυτό είναι λίγο διαφορετικό από την «κρυπτογράφηση», ο σκοπός του οποίου είναι η ανακατάταξη δεδομένων με σκοπό την αποκρυπτογράφηση αργότερα , χρησιμοποιώντας κρυπτογράφηση και μυστικά κλειδιά. Οι παύλες προορίζονται απλώς για να διασφαλίσουν την ακεραιότητα των δεδομένων - για να διασφαλίσουν ότι όλα είναι τα ίδια. Git, το λογισμικό ελέγχου έκδοσης και διανομής για κώδικα ανοιχτού κώδικα, χρησιμοποιεί SHA-1 κατακερματισμούς για αυτόν ακριβώς τον λόγο .

Αυτές είναι πολλές τεχνικές πληροφορίες, αλλά με απλά λόγια: ένα hash δεν είναι το ίδιο με την κρυπτογράφηση, από τότε χρησιμοποιείται για να προσδιορίσει εάν ένα αρχείο έχει αλλάξει .

Πώς με επηρεάζει αυτή η τεχνολογία;

Ας υποθέσουμε ότι πρέπει να επισκεφτείτε έναν ιστότοπο ιδιωτικά. Η τράπεζά σας, το email σας, ακόμη και ο λογαριασμός σας στο Facebook - όλα χρησιμοποιούν κρυπτογράφηση για να διατηρήσουν τα δεδομένα που τα στέλνετε απόρρητα. Ένας επαγγελματικός ιστότοπος θα παρέχει κρυπτογράφηση λαμβάνοντας ένα πιστοποιητικό από μια αξιόπιστη αρχή - ένα τρίτο μέρος, αξιόπιστο για να διασφαλίσει ότι η κρυπτογράφηση είναι στο επίπεδο, ιδιωτική μεταξύ του ιστότοπου και του χρήστη και ότι δεν γίνεται κατασκοπεία από οποιοδήποτε άλλο μέρος. Αυτή η σχέση με τον τρίτο, ονομάζεται Πιστοποιητικές Αρχές , ή ΟΤΙ , είναι ζωτικής σημασίας, καθώς οποιοσδήποτε χρήστης μπορεί να δημιουργήσει ένα "αυτο-υπογεγραμμένο" πιστοποιητικό - μπορείτε ακόμη και κάντε το μόνοι σας σε ένα μηχάνημα που τρέχει Linux με Openssl . Η Symantec και η Digicert είναι δύο ευρέως γνωστές εταιρείες CA, για παράδειγμα.

Ας περάσουμε από ένα θεωρητικό σενάριο: Το How-To Geek θέλει να διατηρήσει ιδιωτικές τις συνεδρίες των χρηστών με κρυπτογράφηση, οπότε υποβάλλει αναφορές για ΑΠ όπως η Symantec με Αίτημα υπογραφής πιστοποιητικού , ή CSR . Δημιουργούν ένα δημόσιο κλειδί και ιδιωτικό κλειδί για κρυπτογράφηση και αποκρυπτογράφηση δεδομένων που αποστέλλονται μέσω του Διαδικτύου. Το αίτημα CSR στέλνει το δημόσιο κλειδί στη Symantec μαζί με πληροφορίες σχετικά με τον ιστότοπο. Η Symantec ελέγχει το κλειδί έναντι της εγγραφής της για να επαληθεύσει ότι τα δεδομένα είναι αμετάβλητα από όλα τα μέρη, επειδή οποιαδήποτε μικρή αλλαγή στα δεδομένα κάνει το κατακερματισμό ριζικά διαφορετικό.

Αυτά τα δημόσια κλειδιά και τα ψηφιακά πιστοποιητικά υπογράφονται από λειτουργίες κατακερματισμού, επειδή η έξοδος αυτών των λειτουργιών είναι ευδιάκριτη. Ένα δημόσιο κλειδί και πιστοποιητικό με επαληθευμένο κατακερματισμό από τη Symantec (στο παράδειγμά μας), μια αρχή, διαβεβαιώνει έναν χρήστη του How-To Geek ότι το κλειδί είναι αμετάβλητο και δεν αποστέλλεται από κάποιον κακόβουλο.

Επειδή ο κατακερματισμός είναι εύκολος στην παρακολούθηση και αδύνατος (ορισμένοι λένε «δύσκολο») να αντιστραφεί, η σωστή, επαληθευμένη υπογραφή κατακερματισμού σημαίνει ότι το πιστοποιητικό και η σύνδεση μπορούν να είναι αξιόπιστα και τα δεδομένα μπορούν να συμφωνηθούν να αποστέλλονται κρυπτογραφημένα από άκρο σε άκρο . Αλλά τι γίνεται αν το κατακερματισμό δεν ήταν πραγματικά μοναδικό ?

Τι είναι μια επίθεση σύγκρουσης και είναι δυνατόν στον πραγματικό κόσμο;

Ίσως έχετε ακούσει για το «Πρόβλημα γενεθλίων» στα μαθηματικά , παρόλο που ίσως δεν γνωρίζετε τι ονομάστηκε. Η βασική ιδέα είναι ότι εάν συγκεντρώσετε μια αρκετά μεγάλη ομάδα ανθρώπων, οι πιθανότητες είναι πολύ υψηλές ότι δύο ή περισσότερα άτομα θα έχουν τα ίδια γενέθλια. Υψηλότερη από ό, τι θα περίμενε κανείς, στην πραγματικότητα, αρκετά ώστε να μοιάζει με περίεργη σύμπτωση. Σε μια ομάδα μικρότερη από 23 άτομα, υπάρχει πιθανότητα 50% να μοιραστούν δύο γενέθλια.

Αυτή είναι η εγγενής αδυναμία σε όλους τους κατακερματισμούς, συμπεριλαμβανομένου του SHA-1. Θεωρητικά, η συνάρτηση SHA θα πρέπει να δημιουργήσει ένα μοναδικό κατακερματισμό για οποιαδήποτε δεδομένα τοποθετούνται σε αυτήν, αλλά καθώς αυξάνεται ο αριθμός των κατακερματισμών, γίνεται πιο πιθανό ότι διαφορετικά ζεύγη δεδομένων μπορούν να δημιουργήσουν τον ίδιο κατακερματισμό. Έτσι θα μπορούσε κανείς να δημιουργήσει ένα μη αξιόπιστο πιστοποιητικό με το ίδιο κατακερματισμό με ένα αξιόπιστο πιστοποιητικό. Εάν σας έκαναν να εγκαταστήσετε αυτό το μη αξιόπιστο πιστοποιητικό, θα μπορούσε να μεταμφιέζεται ως αξιόπιστο και να διανείμει κακόβουλα δεδομένα.

Η εύρεση αντίστοιχων κατακερματισμών σε δύο αρχεία ονομάζεται α επίθεση σύγκρουσης . Τουλάχιστον μία επίθεση σύγκρουσης μεγάλης κλίμακας είναι γνωστό ότι έχει ήδη συμβεί για κατακερματισμούς MD5. Αλλά στις 27 Φεβρουαρίου 2017, η Google ανακοίνωσε Ντυμένος , η πρώτη κατασκευασμένη σύγκρουση για το SHA-1. Η Google μπόρεσε να δημιουργήσει ένα αρχείο PDF που είχε τον ίδιο κατακερματισμό SHA-1 με ένα άλλο αρχείο PDF, παρά το ότι είχε διαφορετικό περιεχόμενο.

Το SHAttered εκτελέστηκε σε αρχείο PDF. Τα PDF είναι μια σχετικά χαλαρή μορφή αρχείου. Πολλές μικροσκοπικές αλλαγές σε επίπεδο bit μπορούν να γίνουν χωρίς να εμποδίζεται το άνοιγμα των αναγνωστών ή να προκαλούνται ορατές διαφορές. Τα PDF χρησιμοποιούνται επίσης συχνά για την παράδοση κακόβουλου λογισμικού. Ενώ το SHAttered θα μπορούσε να λειτουργήσει σε άλλους τύπους αρχείων, όπως τα ISO, τα πιστοποιητικά καθορίζονται αυστηρά, καθιστώντας μια τέτοια επίθεση απίθανη.

Πόσο εύκολη είναι λοιπόν αυτή η επίθεση; Το SHAttered βασίστηκε σε ένα μέθοδος ανακαλύφθηκε από τον Marc Stevens το 2012, το οποίο απαιτούσε πάνω από 2 ^ 60,3 (9,223 quintillion) SHA-1 πράξεις - έναν εντυπωσιακό αριθμό. Ωστόσο, αυτή η μέθοδος είναι ακόμη 100.000 φορές λιγότερες λειτουργίες από ό, τι θα απαιτούσε για την επίτευξη του ίδιου αποτελέσματος με ωμή δύναμη. Η Google διαπίστωσε ότι με 110 κάρτες γραφικών υψηλών προδιαγραφών που λειτουργούν παράλληλα, θα χρειαζόταν περίπου ένας χρόνος για να δημιουργηθεί σύγκρουση. Η ενοικίαση αυτού του χρόνου υπολογισμού από το Amazon AWS θα κόστιζε περίπου 110.000 $. Λάβετε υπόψη ότι καθώς οι τιμές μειώνονται για εξαρτήματα υπολογιστών και μπορείτε να αποκτήσετε περισσότερη ισχύ για λιγότερα, επιθέσεις όπως το SHAttered γίνονται πιο εύκολα.

110.000 $ μπορεί να μοιάζουν πολύ, αλλά είναι μέσα στη σφαίρα της οικονομικής προσιτότητας για ορισμένους οργανισμούς - πράγμα που σημαίνει ότι οι πραγματικοί κυβερνοχώροι θα μπορούσαν να σφυρηλατήσουν ψηφιακές υπογραφές εγγράφων, να παρεμβαίνουν σε συστήματα δημιουργίας αντιγράφων ασφαλείας και ελέγχου εκδόσεων όπως το Git και το SVN ή να κάνουν ένα κακόβουλο ISO ISO να φαίνεται νόμιμο.

Ευτυχώς, υπάρχουν ελαφρυντικοί παράγοντες που αποτρέπουν τέτοιες επιθέσεις. Το SHA-1 χρησιμοποιείται σπάνια για ψηφιακές υπογραφές. Οι Αρχές έκδοσης πιστοποιητικών δεν παρέχουν πλέον πιστοποιητικά που έχουν υπογραφεί με το SHA-1 και τόσο το Chrome όσο και ο Firefox έχουν απορρίψει την υποστήριξή τους. Οι διανομές Linux συνήθως κυκλοφορούν συχνότερα από μία φορά το χρόνο, καθιστώντας ανέφικτο έναν εισβολέα να δημιουργήσει μια κακόβουλη έκδοση και, στη συνέχεια, να δημιουργήσει ένα padded για να έχει το ίδιο κατακερματισμό SHA-1.

Από την άλλη πλευρά, ορισμένες επιθέσεις που βασίζονται στο SHAttered συμβαίνουν ήδη στον πραγματικό κόσμο. Το σύστημα ελέγχου έκδοσης SVN χρησιμοποιεί SHA-1 για τη διαφοροποίηση αρχείων. Η μεταφόρτωση των δύο PDF με πανομοιότυπους κατακερματισμούς SHA-1 σε ένα αποθετήριο SVN θα το προκαλέσει να διαφθορά .

Πώς μπορώ να προστατευθώ από τις επιθέσεις SHA-1;

Δεν υπάρχουν πολλά για τον τυπικό χρήστη. Εάν χρησιμοποιείτε αθροίσματα ελέγχου για τη σύγκριση αρχείων, θα πρέπει να χρησιμοποιείτε SHA-2 (SHA-256) ή SHA-3 αντί SHA-1 ή MD5. Ομοίως, εάν είστε προγραμματιστής, φροντίστε να χρησιμοποιήσετε πιο σύγχρονους αλγόριθμους κατακερματισμού όπως SHA-2, SHA-3 ή bcrypt. Εάν ανησυχείτε ότι το SHAttered έχει χρησιμοποιηθεί για να δώσει δύο διαφορετικά αρχεία το ίδιο κατακερματισμό, η Google κυκλοφόρησε ένα εργαλείο στο SHAttered site που μπορεί να σας ελέγξει.

Συντελεστές εικόνας: Lego Firefox , Πολλά Hash , Παρακαλώ μην βλάψετε τον συγγραφέα του Διαδικτύου άγνωστο, Google .

περιεχόμενο .entry-υποσέλιδο

What Is SHAttered? SHA-1 Collision Attacks, Explained

Shattered SHA-1 Exploit Explained

SHA-1 Shattered: Overview Of SHA-1, How And Why It Broke

Looking At SHA-1 Collision

USENIX Security '17 - Speeding Up Detection Of SHA-1 Collision Attacks...

SHA1 Collision - What's It All About?

SHAttered - SHA-1 - CS50 Live - S3E1

How We Created The First SHA-1 Collision And What It Means For Hash Security

Security Snippets: MD5, SHA-1 And SHA-2

SHAttered - SHA1 Busted: Demo Of The Files Used For The Collision Attack

How We Created The First SHA-1 Collision And What It Means For Hash Security - Defcon 25

USENIX Security '20 - SHA-1 Is A Shambles: First Chosen-Prefix Collision On SHA-1 And Application


Απόρρητο και ασφάλεια - Τα πιο δημοφιλή άρθρα

Οι καλύτερες συντομεύσεις Android που πιθανώς δεν χρησιμοποιείτε

Απόρρητο και ασφάλεια May 20, 2025

Η ομορφιά της τεχνολογίας δεν κάνει μόνο περισσότερα πράγματα - κάνει πράγματα γρήγορα. Είτε θέλετ�..


Επεξήγηση του SafetyNet: Γιατί το Android Pay και άλλες εφαρμογές δεν λειτουργούν σε ριζωμένες συσκευές

Απόρρητο και ασφάλεια Jul 11, 2025

Η εκκίνηση της συσκευής Android σας παρέχει πρόσβαση σε μια ευρύτερη ποικιλία εφαρμογών και βαθύτερη �..


Πώς να ενεργοποιήσετε τις επιλογές οικογένειας (γνωστός και ως γονικός έλεγχος) στον πελάτη Steam

Απόρρητο και ασφάλεια Jan 12, 2025

ΑΠΕΛΕΥΘΕΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ Νωρίτερα αυτήν την εβδομάδα, το Steam κυκλοφόρησε το Family Options, την έκδοση �..


Κρατήστε το απλό: Εδώ είναι τα μόνα 4 εργαλεία συστήματος και ασφάλειας που χρειάζεστε στα Windows

Απόρρητο και ασφάλεια Sep 28, 2025

ΑΠΕΛΕΥΘΕΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ Τα Windows είναι περίπλοκα και χρειάζονται πολλά διαφορετικά βοηθητικά π�..


Geek School: Εκμάθηση των Windows 7 - Πρόσβαση σε πόρους

Απόρρητο και ασφάλεια Mar 21, 2025

ΑΠΕΛΕΥΘΕΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ Σε αυτήν την εγκατάσταση του Geek School, ρίχνουμε μια ματιά στο Folization Virtualiza..


Πόσο ασφαλείς είναι οι αποθηκευμένοι κωδικοί πρόσβασης του Internet Explorer;

Απόρρητο και ασφάλεια Jul 19, 2025

ΑΠΕΛΕΥΘΕΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ Ένα από τα πιο βολικά εργαλεία που προσφέρει τα προγράμματα περιήγηση�..


Ρωτήστε How-To Geek: Unmountable Boot Volume, Open Word Word in Works, and Remove Bootloaders

Απόρρητο και ασφάλεια Jun 20, 2025

Κάθε εβδομάδα βυθίζουμε την αλληλογραφία μας και απαντάμε στις πιεστικές σας τεχνικές ερωτήσεις. Αυτ�..


Δημιουργήστε βελτιωμένους σελιδοδείκτες με το Diigo

Απόρρητο και ασφάλεια Jun 21, 2025

ΑΠΕΛΕΥΘΕΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ Θέλετε περισσότερα από απλά ετικέτες και μερικές σημειώσεις να συνοδεύουν �..


Κατηγορίες