Πώς θα επηρεάσει το σφάλμα Meltdown και Specter τον υπολογιστή μου;
Οι επεξεργαστές υπολογιστών έχουν ένα τεράστιο σχεδιαστικό ελάττωμα και όλοι προσπαθούν να το διορθώσουν. Μόνο μία από τις δύο τρύπες ασφαλείας μπορεί να επιδιορθωθεί και τα μπαλώματα θα κάνουν τους υπολογιστές (και τους Mac) με τα μάρκες Intel πιο αργά.
Εκσυγχρονίζω: Μια παλαιότερη έκδοση αυτού του άρθρου ανέφερε ότι αυτό το ελάττωμα ήταν συγκεκριμένο για τα μάρκες Intel, αλλά αυτό δεν είναι ολόκληρη η ιστορία. Υπάρχουν στην πραγματικότητα δύο μείζονες αδυναμίες εδώ, τώρα αποκαλούμενοι "Meltdown" και "Specter". Η κατάρευση είναι σε μεγάλο βαθμό συγκεκριμένη για τους επεξεργαστές της Intel και επηρεάζει όλα τα μοντέλα της CPU από τις τελευταίες δεκαετίες. Έχουμε προσθέσει περισσότερες πληροφορίες σχετικά με αυτά τα δύο σφάλματα, καθώς και τη διαφορά μεταξύ τους, στο παρακάτω άρθρο.
Τι είναι το Meltdown και το Specter?
Το Specter είναι ένα "βασικό σχεδιαστικό ελάττωμα" που υπάρχει σε κάθε CPU της αγοράς, συμπεριλαμβανομένων εκείνων από την AMD και την ARM, καθώς και από την Intel. Επί του παρόντος, δεν υπάρχει καμία λύση λογισμικού και πιθανόν να απαιτηθεί πλήρης επανασχεδιασμός του υλικού για τις CPU σε όλο το πλάτος-αν και είναι ευτυχώς αρκετά δύσκολο να αξιοποιηθεί, σύμφωνα με τους ερευνητές της ασφάλειας. Είναι δυνατή η προστασία από συγκεκριμένες επιθέσεις Specter και οι προγραμματιστές εργάζονται σε αυτό, αλλά η καλύτερη λύση θα είναι ο επανασχεδιασμός του CPU για όλα τα μελλοντικά μάρκες.
Η κατάρευση βασικά καθιστά το Specter χειρότερο, κάνοντας τον πυρήνα του υποκείμενου ελαττώματος πολύ πιο εύκολο να εκμεταλλευτεί. Είναι ουσιαστικά ένα πρόσθετο ελάττωμα που επηρεάζει όλους τους επεξεργαστές της Intel που έχουν γίνει τις τελευταίες δεκαετίες. Επίσης, επηρεάζει ορισμένους επεξεργαστές high-end ARM Cortex-A, αλλά δεν επηρεάζει τα τσιπ AMD. Η διόγκωση έχει επιδιορθωθεί στα λειτουργικά συστήματα σήμερα.
Αλλά πώς λειτουργούν αυτά τα ελαττώματα?
Τα προγράμματα που εκτελούνται στον υπολογιστή σας εκτελούνται με διαφορετικά επίπεδα δικαιωμάτων ασφαλείας. Ο πυρήνας του λειτουργικού συστήματος - ο πυρήνας των Windows ή ο πυρήνας του Linux, για παράδειγμα - έχει το υψηλότερο επίπεδο δικαιωμάτων επειδή εκτελεί την εκπομπή. Τα επιτραπέζια προγράμματα έχουν λιγότερα δικαιώματα και ο πυρήνας περιορίζει αυτό που μπορούν να κάνουν. Ο πυρήνας χρησιμοποιεί τις λειτουργίες υλικού του επεξεργαστή για να βοηθήσει στην επιβολή κάποιων από αυτούς τους περιορισμούς, επειδή είναι πιο γρήγορο να το κάνουμε με το υλικό από το λογισμικό.
Το πρόβλημα εδώ είναι με την "κερδοσκοπική εκτέλεση". Για λόγους απόδοσης, οι σύγχρονες επεξεργαστές εκτελούν αυτόματα οδηγίες που πιστεύουν ότι μπορεί να χρειαστεί να εκτελέσουν και αν δεν το κάνουν, μπορούν απλά να επιστρέψουν και να επαναφέρουν το σύστημα στην προηγούμενη κατάσταση. Ωστόσο, ένα ελάττωμα στον επεξεργαστή Intel και σε ορισμένους επεξεργαστές ARM επιτρέπει στις διεργασίες να εκτελούν λειτουργίες που κανονικά δεν θα ήταν σε θέση να εκτελέσουν, καθώς η λειτουργία εκτελείται πριν ο επεξεργαστής ενοχλήσει για να ελέγξει αν πρέπει να έχει άδεια για να το εκτελέσει ή όχι. Αυτό είναι το bug Meltdown.
Το βασικό πρόβλημα με το Meltdown και το Spectre βρίσκεται στην κρυφή μνήμη της CPU. Μια εφαρμογή μπορεί να προσπαθήσει να διαβάσει τη μνήμη και, εάν διαβάσει κάτι στην κρυφή μνήμη, η λειτουργία θα ολοκληρωθεί γρηγορότερα. Αν προσπαθεί να διαβάσει κάτι που δεν βρίσκεται στην προσωρινή μνήμη, θα ολοκληρωθεί πιο αργά. Η εφαρμογή μπορεί να δει αν κάτι ολοκληρώνεται γρήγορα ή αργά και ενώ όλα τα υπόλοιπα κατά τη διάρκεια της κερδοσκοπικής εκτέλεσης καθαρίζονται και σβήνουν, ο χρόνος που απαιτείται για την εκτέλεση της λειτουργίας δεν μπορεί να κρυφτεί. Μπορεί στη συνέχεια να χρησιμοποιήσει αυτές τις πληροφορίες για να χτίσει ένα χάρτη οτιδήποτε στη μνήμη του υπολογιστή, ένα bit κάθε φορά. Η προσωρινή αποθήκευση ταχύτητας κάνει τα πράγματα επάνω, αλλά οι επιθέσεις αυτές εκμεταλλεύονται τη βελτιστοποίηση και την μετατρέπουν σε ελάττωμα ασφαλείας.
Έτσι, σε ένα χειρότερο σενάριο, ο κώδικας JavaScript που εκτελείται στο πρόγραμμα περιήγησης ιστού θα μπορούσε να διαβάσει αποτελεσματικά τη μνήμη που δεν θα έπρεπε να έχει πρόσβαση, όπως οι ιδιωτικές πληροφορίες που υπάρχουν σε άλλες εφαρμογές. Οι πάροχοι υπηρεσιών Cloud όπως το Microsoft Azure ή το Amazon Web Services, που φιλοξενούν πολλαπλά λογισμικά διαφορετικών εταιρειών σε διαφορετικές εικονικές μηχανές στο ίδιο υλικό, είναι ιδιαίτερα εκτεθειμένες. Το λογισμικό ενός ατόμου θα μπορούσε, θεωρητικά, να κατασκοπεύει τα πράγματα στην εικονική μηχανή μιας άλλης εταιρείας. Είναι μια κατανομή στον διαχωρισμό μεταξύ εφαρμογών. Τα μπαλώματα για το Meltdown σημαίνουν ότι αυτή η επίθεση δεν θα είναι τόσο εύκολη. Δυστυχώς, η τοποθέτηση αυτών των επιπρόσθετων ελέγχων σημαίνει ότι ορισμένες λειτουργίες θα είναι πιο αργές για το επηρεαζόμενο υλικό.
Οι προγραμματιστές εργάζονται σε επιδιορθώσεις λογισμικού που καθιστούν τις επιθέσεις Specter πιο δύσκολο να εκτελεστούν. Για παράδειγμα, η νέα λειτουργία του Google Chrome για την απομόνωση ιστότοπων βοηθάει στην προστασία από αυτό και το Mozilla έχει ήδη κάνει κάποιες γρήγορες αλλαγές στον Firefox. Η Microsoft έκανε επίσης κάποιες αλλαγές για να βοηθήσει στην προστασία του Edge και του Internet Explorer στο Windows Update που είναι τώρα διαθέσιμο.
Αν ενδιαφέρεστε για τις λεπτομέρειες βαθιάς χαμηλού επιπέδου σχετικά με το Meltdown και το Specter, διαβάστε την τεχνική εξήγηση από την ομάδα Project Zero της Google, η οποία ανακάλυψε τα σφάλματα πέρυσι. Περισσότερες πληροφορίες διατίθενται επίσης στην ιστοσελίδα MeltdownAttack.com.
Πόσο αργός θα είναι ο υπολογιστής μου?
Εκσυγχρονίζω: Στις 9 Ιανουαρίου, η Microsoft δημοσίευσε ορισμένες πληροφορίες σχετικά με την απόδοση της ενημερωμένης έκδοσης κώδικα. Σύμφωνα με τη Microsoft, τα Windows 10 σε υπολογιστές της εποχής 2016 με τους επεξεργαστές Skylake, Kabylake ή νεότερους επεξεργαστές Intel παρουσιάζουν "μονοψήφιες επιβράδυνση" που οι περισσότεροι χρήστες δεν θα πρέπει να παρατηρήσουν. Τα Windows 10 σε υπολογιστές της εποχής 2015 με Haswell ή παλαιότερη CPU ενδέχεται να παρουσιάσουν μεγαλύτερες επιβράδυνση και η Microsoft "αναμένει ότι ορισμένοι χρήστες θα παρατηρήσουν μείωση της απόδοσης του συστήματος".
Οι χρήστες των Windows 7 και 8 δεν είναι τόσο τυχεροί. Η Microsoft λέει ότι "περιμένουν από τους περισσότερους χρήστες να παρατηρήσουν μείωση της απόδοσης του συστήματος" κατά τη χρήση των Windows 7 ή 8 σε έναν υπολογιστή της εποχής 2015 με Haswell ή έναν παλαιότερο επεξεργαστή. Όχι μόνο τα Windows 7 και 8 χρησιμοποιούν παλαιότερες CPU που δεν μπορούν να εκτελέσουν την ενημερωμένη έκδοση κώδικα αποτελεσματικά, αλλά τα Windows 7 και τα Windows 8 έχουν περισσότερες μεταβάσεις του πυρήνα των χρηστών λόγω των αποφάσεων σχεδίασης παλαιού τύπου, όπως η απόδοση όλων των γραμματοσειρών στον πυρήνα " , και αυτό επίσης επιβραδύνει τα πράγματα.
Η Microsoft σχεδιάζει να πραγματοποιήσει τα δικά της σημεία αναφοράς και να απελευθερώσει περισσότερες λεπτομέρειες στο μέλλον, αλλά δεν γνωρίζουμε ακριβώς πόσο το έμπλαστρο του Meltdown θα επηρεάσει ακόμα την καθημερινή χρήση του υπολογιστή. Ο Dave Hansen, ένας προγραμματιστής του πυρήνα του Linux που εργάζεται στην Intel, αρχικά έγραψε ότι οι αλλαγές που γίνονται στον πυρήνα του Linux θα επηρεάσουν τα πάντα. Σύμφωνα με τον ίδιο, οι περισσότεροι φόρτοι εργασίας βλέπουν μια μονοψήφια επιβράδυνση, με τυπική επιβράδυνση περίπου κατά 5%. Το χειρότερο σενάριο ήταν η επιβράδυνση κατά 30% σε μια δοκιμή δικτύωσης, όμως, γι 'αυτό ποικίλλει από task σε task. Αυτοί είναι αριθμοί για το Linux, ωστόσο, έτσι δεν ισχύουν κατ 'ανάγκη στα Windows. Η επιδιόρθωση επιβραδύνει τις κλήσεις συστήματος, επομένως οι εργασίες με πολλές κλήσεις συστήματος, όπως η σύνταξη λογισμικού και η εκτέλεση εικονικών μηχανών, πιθανότατα θα επιβραδύνουν το μέγιστο. Αλλά κάθε λογισμικό χρησιμοποιεί κάποιες κλήσεις συστήματος.
Εκσυγχρονίζω: Από τις 5 Ιανουαρίου, οι TechSpot και Guru3D πραγματοποίησαν ορισμένα σημεία αναφοράς για τα Windows. Και οι δύο ιστότοποι κατέληξαν στο συμπέρασμα ότι οι χρήστες επιφάνειας εργασίας δεν έχουν να ανησυχούν πολύ. Ορισμένα παιχνίδια για υπολογιστές βλέπουν μια μικρή επιβράδυνση 2% με το έμπλαστρο, το οποίο βρίσκεται εντός του περιθωρίου σφάλματος, ενώ άλλα φαίνεται να εκτελούν ταυτόσημα. Η απόδοση 3D, το λογισμικό παραγωγικότητας, τα εργαλεία συμπίεσης αρχείων και τα βοηθητικά προγράμματα κρυπτογράφησης δεν επηρεάζονται. Ωστόσο, τα αρχεία αναφοράς ανάγνωσης αρχείων και εγγραφής δείχνουν αξιοσημείωτες διαφορές. Η ταχύτητα της γρήγορης ανάγνωσης μεγάλου αριθμού μικρών αρχείων υποχώρησε περίπου 23% στα σημεία αναφοράς της Techspot και ο Guru3D βρήκε κάτι παρόμοιο. Από την άλλη πλευρά, η Tom's Hardware βρήκε μόνο μια μέση μείωση της απόδοσης κατά 3,21% με μια δοκιμή αποθήκευσης εφαρμογών για τους καταναλωτές και υποστήριξε ότι τα "συνθετικά σημεία αναφοράς" που δείχνουν πιο σημαντικές μειώσεις στην ταχύτητα δεν αντιπροσωπεύουν την πραγματική χρήση.
Οι υπολογιστές με επεξεργαστή Intel Haswell ή νεότερους έχουν ένα χαρακτηριστικό PCID (Αναγνωριστικά διεργασίας) που θα βοηθήσουν την επιδιόρθωση της επιδιόρθωσης. Οι υπολογιστές με παλαιότερες CPU της Intel ενδέχεται να παρουσιάσουν μεγαλύτερη μείωση της ταχύτητας. Τα παραπάνω σημεία αναφοράς έγιναν σε σύγχρονες επεξεργαστές Intel με PCID, οπότε δεν είναι σαφές πώς θα εκτελούν οι παλαιότερες CPU της Intel.
Η Intel αναφέρει ότι η επιβράδυνση "δεν πρέπει να είναι σημαντική" για τον μέσο χρήστη του υπολογιστή, και μέχρι στιγμής αυτό φαίνεται αληθές, αλλά ορισμένες επιχειρήσεις βλέπουν μια επιβράδυνση. Για το σύννεφο, το Google, το Amazon και η Microsoft βασικά είπαν το ίδιο πράγμα: Για τους περισσότερους φόρους εργασίας, δεν έλαβαν σημαντική απόδοση απόδοσης μετά την κυκλοφορία των μπαλών. Η Microsoft δήλωνε ότι "ένα μικρό σύνολο πελατών [Microsoft Azure] μπορεί να έχει κάποιες επιπτώσεις στην απόδοση των δικτύων." Οι δηλώσεις αυτές αφήνουν περιθώρια για ορισμένους φόρτους εργασίας για να παρατηρηθούν σημαντικές επιβράδυνση. Τα Epic Games κατηγόρησαν την ενημερωμένη έκδοση κώδικα Meltdown για την πρόκληση προβλημάτων διακομιστή με το παιχνίδι της Fortnite και δημοσίευσε ένα γράφημα που δείχνει μια τεράστια αύξηση στη χρήση της CPU στους διακομιστές του cloud μετά την εγκατάσταση της ενημερωμένης έκδοσης κώδικα.
Αλλά ένα πράγμα είναι σαφής: Ο υπολογιστής σας δεν παίρνει σίγουρα πιο γρήγορα με αυτήν την ενημερωμένη έκδοση κώδικα. Εάν έχετε CPU της Intel, μπορεί να γίνει πιο αργός - ακόμα και αν είναι μικρό.
Τι πρέπει να κάνω?
Ορισμένες ενημερώσεις για την επίλυση του προβλήματος της κατάρρευσης είναι ήδη διαθέσιμες. Η Microsoft έχει εκδώσει μια επείγουσα ενημερωμένη έκδοση για τις υποστηριζόμενες εκδόσεις των Windows μέσω του Windows Update στις 3 Ιανουαρίου 2018, αλλά δεν έχει ακόμη φτάσει σε όλους τους υπολογιστές. Το Windows Update που λύνει το Meltdown και προσθέτει προστασία έναντι του Specter ονομάζεται KB4056892.
Η Apple έχει ήδη διορθώσει το ζήτημα με το macOS 10.13.2, που κυκλοφόρησε στις 6 Δεκεμβρίου 2017. Τα Chromebook με το Chrome OS 63, το οποίο κυκλοφόρησε στα μέσα Δεκεμβρίου, προστατεύονται ήδη. Πακέτα είναι επίσης διαθέσιμα για τον πυρήνα του Linux.
Επιπλέον, ελέγξτε εάν ο υπολογιστής σας διαθέτει ενημερώσεις BIOS / UEFI διαθέσιμες. Ενώ η ενημέρωση των Windows επιόρθωσε το πρόβλημα Meltdown, οι ενημερώσεις μικροκωδικού CPU από την Intel που παραδόθηκαν μέσω μιας ενημέρωσης UEFI ή BIOS είναι απαραίτητες για την πλήρη ενεργοποίηση της προστασίας από μία από τις επιθέσεις του Specter. Θα πρέπει επίσης να ενημερώσετε το πρόγραμμα περιήγησης ιστού -όπως συνήθως- καθώς οι περιηγητές προσθέτουν και κάποιες προστασίες κατά του Spectre.
Εκσυγχρονίζω: Στις 22 Ιανουαρίου, η Intel ανακοίνωσε ότι οι χρήστες θα πρέπει να σταματήσουν να αναπτύσσουν τις αρχικές ενημερώσεις υλικολογισμικού UEFI λόγω "υψηλότερων από αναμενόμενων επανεκκινήσεων και άλλων απρόβλεπτων συμπεριφορών συστήματος". Η Intel δήλωσε ότι πρέπει να περιμένετε μια τελική ενημερωμένη έκδοση κώδικα UEFI που έχει δοκιμαστεί σωστά και δεν θα προκαλέσει προβλήματα στο σύστημα. Από τις 20 Φεβρουαρίου, η Intel κυκλοφόρησε σταθερές ενημερώσεις μικροκωδίκων για Skylake, Kaby Lake και Coffee Lake - οι πλατφόρμες Intel Core 6ης, 7ης και 8ης Γενιάς. Οι κατασκευαστές υπολογιστών θα πρέπει να αρχίσουν σύντομα τις νέες ενημερώσεις υλικολογισμικού UEFI.
Ενώ ένα χτύπημα απόδοσης ακούγεται άσχημα, συνιστούμε ανεπιφύλακτα την εγκατάσταση αυτών των επιδιορθώσεων ούτως ή άλλως. Οι προγραμματιστές του λειτουργικού συστήματος δεν θα προέβαιναν σε τέτοιες τεράστιες αλλαγές εκτός αν αυτό ήταν ένα πολύ κακό bug με σοβαρές συνέπειες.
Η επίμαχη ενημερωμένη έκδοση κώδικα λογισμικού θα διορθώσει το ελάττωμα Meltdown και ορισμένες ενημερώσεις κώδικα λογισμικού μπορούν να συμβάλουν στην άμβλυνση του ελαττώματος Spectre. Ωστόσο, το Spectre θα συνεχίσει να επηρεάζει όλες τις σύγχρονες CPU-τουλάχιστον με κάποια μορφή-μέχρι να κυκλοφορήσει νέο υλικό για να το διορθώσει. Δεν είναι σαφές πώς θα το χειριστούν οι κατασκευαστές, αλλά στο μεταξύ μόνο το μόνο που μπορείς να κάνεις είναι να συνεχίσεις να χρησιμοποιείς τον υπολογιστή σου και να παρηγορήσεις στο γεγονός ότι το Specter είναι πιο δύσκολο να εκμεταλλευτείς και κάπως περισσότερο ανησυχητικό για το cloud computing από τους τελικούς χρήστες με επιτραπέζιων υπολογιστών.
Image Credit: Intel, VLADGRIN / Shutterstock.com.