Τα τρωτά σημεία της CPU ήταν σε όλη τη μανία πρόσφατα, με τα Zenbleed και Downfall να είναι δύο πρόσφατα. Πόσο όμως πρέπει να ανησυχείς;
Τα τρωτά σημεία της CPU είναι μέσα και έξω από τις ειδήσεις τα τελευταία χρόνια και συχνά συνοδεύονται από ένα αρκετά τρομακτικό μήνυμα όταν πρόκειται για την αποκάλυψή τους. Σε περίπτωση που Zenbleed και Ξεπεσμός, ήταν ότι οποιαδήποτε εφαρμογή στον υπολογιστή σας μπορούσε να έχει πρόσβαση στη μνήμη οποιουδήποτε άλλου προγράμματος που εκτελείται υπό τις κατάλληλες συνθήκες. Ακούγεται έντονο, σωστά;
Ωστόσο, δεν είναι τόσο κακό όσο φαίνεται. Είναι προφανώς αρκετά σημαντικό για να εγγυάται μια αποκάλυψη και μια ενημέρωση λογισμικού για την επιδιόρθωση των σφαλμάτων, ακόμη και με το κόστος της απόδοσης, αλλά τι ακριβώς συμβαίνει να προκαλέσει αυτά τα ζητήματα ασφαλείας; Πρέπει να ανησυχείτε;
Θα πρέπει να ανησυχείτε για τα τρωτά σημεία της CPU όπως το Zenbleed, το Downfall και το Inception;
Για να είμαι ειλικρινής, κανένα από αυτά τα κατορθώματα δεν επηρεάζει τη συντριπτική πλειοψηφία των ανθρώπων. Ενώ μπορούν να διαρρεύσουν δεδομένα από το ένα πρόγραμμα στο άλλο, οποιοδήποτε κακόβουλο λογισμικό στον υπολογιστή ενός καταναλωτή έχει ήδη ένα μεγάλο επίπεδο πρόσβασης που μπορεί να καταχραστεί. Αντίθετα, εκεί όπου αυτές οι επιθέσεις είναι ιδιαίτερα ανησυχητικές είναι σε περιβάλλοντα υπολογιστικού νέφους.
Για να κατανοήσετε το πρόβλημα, πρέπει να καταλάβετε ότι πολλοί διαφορετικοί διακομιστές cloud είναι απλά υπολογιστές με μεγάλη ιπποδύναμη, μεγάλο εύρος ζώνης δικτύου και κάποιο άλλο εξειδικευμένο υλικό αν απαιτείται. Πολλές εταιρείες νοικιάζουν αυτό που ονομάζεται VPS ή εικονικός ιδιωτικός διακομιστής, οι οποίοι είναι εικονικοποιημένες μηχανές με περιορισμένη ισχύ, προς τις οποίες ενδέχεται να τρέχουν δεκάδες άλλες εικονικές μηχανές.
Εκεί που αυτό μπορεί να είναι πρόβλημα είναι ότι ένα άτομο σε μια εικονική μηχανή θα μπορούσε να εκτελέσει ένα από αυτά ευπάθειες, απόκτηση εικόνας σχετικά με τα δεδομένα που ρέουν μέσω του επεξεργαστή, συμπεριλαμβανομένων των δεδομένων από άλλα εικονικές μηχανές. Αυτό δεν θα πρέπει να είναι δυνατό και αποτελεί σημαντική παραβίαση της ασφάλειας. Γι' αυτό, όταν αποκαλύφθηκε το Zenbleed, υπήρχαν ήδη ενημερώσεις κώδικα για τους επεξεργαστές Epyc της AMD, οι οποίοι στοχεύουν στη χρήση διακομιστή.
Οι πιο σοβαρές ευπάθειες της CPU αυτή τη στιγμή
Το βιομηχανικό πρότυπο της «κατάταξης» των τρωτών σημείων και η σοβαρότητά τους είναι μέσω του Common Vulnerability Scoring System (CVSS). Παρέχει ένα ποσοτικό μέτρο σοβαρότητας, καθώς οι διαφορετικές πτυχές της ευπάθειας θα επηρεάσουν τη βαθμολογία. Μετρά λαμβάνοντας υπόψη τα ακόλουθα:
- Διάνυσμα επίθεσης: Δίκτυο/Παρεικείμενο/Τοπικό/Φυσικό
- Πολυπλοκότητα επίθεσης: Χαμηλό/Υψηλό
- Απαιτούνται προνόμια: Κανένα/Χαμηλό/Υψηλό
- Αλληλεπίδραση χρήστη: Κανένα/Απαιτούμενο
- Πεδίο εφαρμογής: Αμετάβλητο/Αλλαγμένο
- Εμπιστευτικότητα: Κανένα/Χαμηλό/Υψηλό
- Ακεραιότητα: Κανένα/Χαμηλό/Υψηλό
- Διαθεσιμότητα: Κανένα/Χαμηλό/Υψηλό
Όλα αυτά ταξινομούν τη σοβαρότητα ενός σφάλματος. Για παράδειγμα, μια ευπάθεια που μπορεί να εκτελεστεί σε ένα δίκτυο με χαμηλή πολυπλοκότητα, δεν απαιτούνται προνόμια, χωρίς αλληλεπίδραση με τον χρήστη, με αλλαγμένο εύρος, Η υψηλή διαρροή εμπιστευτικότητας δεδομένων, η υψηλή παραβίαση ακεραιότητας δεδομένων και ο υψηλός αντίκτυπος στη διαθεσιμότητα θα βαθμολογήσουν το τέλειο 10 στο CVSS 3.1, την υψηλότερη βαθμολογία δυνατόν.
Με αυτή τη μέτρηση, μπορούμε να εκτιμήσουμε τη ζημιά που μπορούν να προκαλέσουν τα Zenbleed και Downfall. Spoiler: Είναι τα ίδια, αν και επηρεάζουν διαφορετικές CPU. Επομένως, ενώ σκοράρουν ένα ορισμένο ποσό μέσα στο πλαίσιο των τρωτών σημείων, μπορούν να επηρεάσουν διαφορετικές ποσότητες προϊόντων και αυτό δεν θα τους επηρεάσει σκορ. Οι βαθμολογίες CVSS είναι ουσιαστικά μόνο για διαλογή, αλλά δεν λένε την πλήρη ιστορία.
Zenbleed: 6,5 (Μεσαίο)
- Διάνυσμα επίθεσης: Τοπικό
- Πολυπλοκότητα επίθεσης: Χαμηλό
- Απαιτούνται προνόμια: Χαμηλό
- Αλληλεπίδραση χρήστη: Κανένα
- Πεδίο εφαρμογής: Άλλαξε
- Εμπιστευτικότητα: Υψηλός
- Ακεραιότητα: Κανένα
- Διαθεσιμότητα: Κανένα
Εξήγηση: Το διάνυσμα επίθεσης απαιτεί τοπική πρόσβαση στο μηχάνημα (όπως, εκτελείται στο μηχάνημα), ενώ επίσης δεν επηρεάζει την ακεραιότητα των δεδομένων στο μηχάνημα ή τη διαθεσιμότητά του. Ωστόσο, αλλάζει εύρος (που σημαίνει ότι επηρεάζει πόρους πέρα από τα προνόμιά του) και την πολυπλοκότητα της επίθεσης και τα προνόμια που απαιτούνται για την εκτέλεση είναι χαμηλά. Επίσης, παραβιάζει εντελώς το απόρρητο των πληροφοριών στο μηχάνημα.
Πτώση: 6,5 (Μεσαίο)
- Διάνυσμα επίθεσης: Τοπικό
- Πολυπλοκότητα επίθεσης: Χαμηλό
- Απαιτούνται προνόμια: Χαμηλό
- Αλληλεπίδραση χρήστη: Κανένα
- Πεδίο εφαρμογής: Άλλαξε
- Εμπιστευτικότητα: Υψηλός
- Ακεραιότητα: Κανένα
- Διαθεσιμότητα: Κανένα
Εξήγηση: Το διάνυσμα επίθεσης απαιτεί τοπική πρόσβαση στο μηχάνημα (όπως, εκτελείται στο μηχάνημα), ενώ επίσης δεν επηρεάζει την ακεραιότητα των δεδομένων στο μηχάνημα ή τη διαθεσιμότητά του. Ωστόσο, αλλάζει εύρος (που σημαίνει ότι επηρεάζει πόρους πέρα από τα προνόμιά του) και την πολυπλοκότητα της επίθεσης και τα προνόμια που απαιτούνται για την εκτέλεση είναι χαμηλά. Επίσης, παραβιάζει εντελώς το απόρρητο των πληροφοριών στο μηχάνημα.
Έναρξη: 5,6 (Μεσαίο)
- Διάνυσμα επίθεσης: Τοπικό
- Πολυπλοκότητα επίθεσης: Υψηλός
- Απαιτούνται προνόμια: Χαμηλό
- Αλληλεπίδραση χρήστη: Κανένα
- Πεδίο εφαρμογής: Άλλαξε
- Εμπιστευτικότητα: Υψηλός
- Ακεραιότητα: Κανένα
- Διαθεσιμότητα: Κανένα
Εξήγηση: Το διάνυσμα επίθεσης απαιτεί τοπική πρόσβαση στο μηχάνημα (όπως, εκτελείται στο μηχάνημα), ενώ επίσης δεν επηρεάζει την ακεραιότητα των δεδομένων στο μηχάνημα ή τη διαθεσιμότητά του. Ωστόσο, αλλάζει εύρος (που σημαίνει ότι επηρεάζει πόρους πέρα από τα προνόμιά του), η πολυπλοκότητα της επίθεσης είναι υψηλή και τα προνόμια που απαιτούνται για την εκτέλεση είναι χαμηλά. Επίσης, παραβιάζει εντελώς το απόρρητο των πληροφοριών στο μηχάνημα.
Spectre: 5.6 (Medium) (Patched)
Το Spectre, παρόλο που είναι πιο διαδεδομένο φαινόμενο, στην πραγματικότητα σκοράρει πιο λιγο παρά το Zenbleed και το Downfall. Αυτό οφείλεται στο γεγονός ότι η πολυπλοκότητα της επίθεσης ονομάστηκε "Υψηλή", γεγονός που έπεσε το σκορ της.
- Διάνυσμα επίθεσης: Τοπικό
- Πολυπλοκότητα επίθεσης: Υψηλός
- Απαιτούνται προνόμια: Χαμηλό
- Αλληλεπίδραση χρήστη: Κανένα
- Πεδίο εφαρμογής: Άλλαξε
- Εμπιστευτικότητα: Υψηλός
- Ακεραιότητα: Κανένα
- Διαθεσιμότητα: Κανένα
Εξήγηση: Το διάνυσμα επίθεσης απαιτεί τοπική πρόσβαση στο μηχάνημα (όπως, εκτελείται στο μηχάνημα), ενώ επίσης δεν επηρεάζει την ακεραιότητα των δεδομένων στο μηχάνημα ή τη διαθεσιμότητά του. Ωστόσο, αλλάζει εύρος (που σημαίνει ότι επηρεάζει πόρους πέρα από τα προνόμιά του), η πολυπλοκότητα της επίθεσης είναι υψηλή και τα προνόμια που απαιτούνται για την εκτέλεση είναι χαμηλά. Επίσης, παραβιάζει εντελώς το απόρρητο των πληροφοριών στο μηχάνημα.
Meltdown: 5.6 (Medium) (Patched)
Όπως το Spectre, έτσι και το Meltdown βαθμολογείται χαμηλότερα από το Zenbleed και το Downfall, λόγω της μεγαλύτερης πολυπλοκότητας επίθεσης που απαιτείται.
- Διάνυσμα επίθεσης: Τοπικό
- Πολυπλοκότητα επίθεσης: Υψηλός
- Απαιτούνται προνόμια: Χαμηλό
- Αλληλεπίδραση χρήστη: Κανένα
- Πεδίο εφαρμογής: Άλλαξε
- Εμπιστευτικότητα: Υψηλός
- Ακεραιότητα: Κανένα
- Διαθεσιμότητα: Κανένα
Εξήγηση: Το διάνυσμα επίθεσης απαιτεί τοπική πρόσβαση στο μηχάνημα (όπως, εκτελείται στο μηχάνημα), ενώ επίσης δεν επηρεάζει την ακεραιότητα των δεδομένων στο μηχάνημα ή τη διαθεσιμότητά του. Ωστόσο, αλλάζει εύρος (που σημαίνει ότι επηρεάζει πόρους πέρα από τα προνόμιά του), η πολυπλοκότητα της επίθεσης είναι υψηλή και τα προνόμια που απαιτούνται για την εκτέλεση είναι χαμηλά. Επίσης, παραβιάζει εντελώς το απόρρητο των πληροφοριών στο μηχάνημα.
Η μεγαλύτερη αιτία: Πρόβλεψη κλάδου
Πηγή: AMD
Η πρόβλεψη κλάδου και η κερδοσκοπική εκτέλεση αναφέρονται σε γενικές γραμμές όταν ο υπολογιστής σας εκτελεί λειτουργίες που δεν είναι απαραίτητες αυτήν τη στιγμή, αλλά θα είναι σε επόμενους κύκλους. Γίνεται συχνά σε περιόδους που το σύστημά σας έχει δωρεάν πόρους, καθώς επιταχύνει τη συνολική επεξεργασία όταν διαφορετικά οι οδηγίες ή τα δεδομένα δεν θα ήταν ακόμη έτοιμα για την CPU. Εάν η εργασία που έχει γίνει δεν χρειάζεται, συνήθως απορρίπτεται και ο επεξεργαστής μπορεί να μεταβεί στο σημείο που χρειάζεται για να εκτελέσει την επόμενη σωστή εντολή. Όταν το κάνει αυτό, αυτό ονομάζεται εσφαλμένη πρόβλεψη κλάδου.
Για μια πιο εις βάθος κατανόηση των προγνωστικών κλάδων, φανταστείτε ένα σενάριο όπου ένα πρόγραμμα προσθέτει με συνέπεια τους ίδιους δύο αριθμούς στην εκτέλεσή του. Σε κάποιο στάδιο, ο επεξεργαστής μπορεί να αναγνωρίσει αυτό το μοτίβο και να προετοιμάσει τα επόμενα βήματα εάν κληθεί ξανά η μέθοδος όπου προστίθενται αυτοί οι δύο αριθμοί. Εάν αυτό το αποτέλεσμα αλλάξει κάποια στιγμή, ακόμα κι αν ο επεξεργαστής σχεδίαζε οι ίδιοι δύο αριθμοί να είναι ίδιοι, τότε η εικασία θα απορριφθεί και θα αντικατασταθεί από την πραγματική ροή εκτέλεσης. Ωστόσο, για τη στιγμή που αυτοί οι αριθμοί είναι το ίδιο, τότε ο επεξεργαστής μπορεί να παρακάμψει αυτές τις οδηγίες γρήγορα.
Ωστόσο, υπάρχουν πολλά προβλήματα όσον αφορά την κερδοσκοπική εκτέλεση και ευπάθειες όπως το Spectre, το Zenbleed, το Downfall και άλλα είναι αποτέλεσμα. Είναι ένα ισχυρό χαρακτηριστικό που οφείλουμε πολλές σύγχρονες επιδόσεις της CPU, αλλά είναι ένας σημαντικός στόχος όταν οι ερευνητές αναζητούν τρωτά σημεία στις CPU.
Μετριασμός: Ένας αναστολέας απόδοσης
Ο μετριασμός αυτών των τρωτών σημείων είναι υψίστης σημασίας, αλλά το πρόβλημα είναι ότι αυτοί οι μετριασμούς συχνά φορολογούν την απόδοση. Στην περίπτωση του πιο πρόσφατου Zenbleed της AMD, ο μετριασμός θα μπορούσε να έχει τεράστια έξοδα απόδοσης.
Ο λόγος για αυτό είναι ότι ο μόνος πραγματικός τρόπος αντιμετώπισης είναι να απενεργοποιήσετε ή να αλλάξετε τη συμπεριφορά του δείκτη πρόβλεψης κλάδου στον επηρεαζόμενο επεξεργαστή. Το ίδιο χτύπημα απόδοσης μπορεί να βρεθεί στους μετριασμούς για την πτώση της Intel, με πρώιμες αναφορές που υποδηλώνουν επιπτώσεις στην απόδοση έως και 39%. Επικά παιχνίδια κάποτε κοινοποιήθηκε περίφημα Γραφήματα χρήσης CPU μόλις αποκαλύφθηκε η ευπάθεια Meltdown και πόσο μεγάλο αντίκτυπο είχαν αυτοί οι μετριασμούς στη χρήση της CPU της εταιρείας. Υπήρξε μια σημαντική άνοδος στη χρήση της CPU, όπως θα περίμενε κανείς. Εκεί που τα πράγματα γίνονται τρομακτικά είναι με την επιδιόρθωση για το Inception της AMD, Η απόδοση βρέθηκε να πέφτει έως και 54%.
Επειδή τέτοια τρωτά σημεία επηρεάζουν βασικά χαρακτηριστικά του επεξεργαστή, είναι δύσκολο να τα διορθώσετε πραγματικά εκτός από την απενεργοποίηση ή τον σοβαρό ακρωτηριασμό των βασικών λειτουργιών. Η κερδοσκοπική εκτέλεση είναι απίστευτα σημαντική και αυτοί οι μετριασμούς θα γίνουν αισθητές από πολλούς ανθρώπους. Η απόδοση του παιχνιδιού είναι λιγότερο προβλέψιμη, οπότε αν η κύρια χρήση του υπολογιστή σας είναι τα παιχνίδια, ίσως να είστε εντάξει, καθώς ο υπολογιστής σας δεν μπορεί να κάνει τόσες πολλές προβλέψεις, αλλά αυτά τα προβλήματα αυξάνονται πολύ περισσότερο συστήματα.
Επηρεάζονται οι μελλοντικοί επεξεργαστές;
Ευτυχώς, στην περίπτωση τόσο του Intel Downfall όσο και του Zenbleed, αυτά τα exploit επηρεάζουν τους παλαιότερους επεξεργαστές. Νεότεροι επεξεργαστές και από τις δύο εταιρείες είναι ασφαλείς και δεν υπάρχει τίποτα να ανησυχείτε προς το παρόν. Ένας σημαντικός επανασχεδιασμός είναι συνήθως αυτό που καταλήγει να διορθώνει αυτά τα προβλήματα. Για παράδειγμα, το Specter επηρέασε τις CPU της όγδοης και ένατης γενιάς της Intel, αλλά η ένατη γενιά ενσωμάτωσε μια έκδοση υλικού των επιδιορθώσεων λογισμικού που εφαρμόστηκαν, ολοκληρωθεί με το χτύπημα της απόδοσης. Η 10η γενιά της Intel εξακολουθούσε να είναι ασφαλής, αλλά δεν είχε πλέον αντίκτυπο στην απόδοση από αυτά τα μέτρα μετριασμού.
Ως αποτέλεσμα, δεδομένου ότι τόσο το Downfall όσο και το Zenbleed είχαν ήδη διορθωθεί στις πιο πρόσφατες εκδόσεις των αντίστοιχων επεξεργαστών τους, οι χρήστες δεν έχουν πολλά να ανησυχούν. Φυσικά, μπορεί πάντα να ανακαλυφθούν περισσότερα τρωτά σημεία, αλλά αυτή τη στιγμή, είστε ασφαλείς.