Ποια είναι τα τρωτά σημεία Spectre και Meltdown;

click fraud protection

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

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

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

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

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

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

Υπάρχοντα

Στα μέσα του 2017 πολλές ομάδες ανακάλυψαν ανεξάρτητα και ανέφεραν ιδιωτικά τόσο το Meltdown όσο και το Spectre σε κατασκευαστές CPU που ανέπτυξαν ενημερώσεις κώδικα. Λόγω των ενημερώσεων κώδικα που στοχεύουν βελτιστοποιήσεις απόδοσης, κατέληξαν να μειώσουν την απόδοση των CPU έως και 30% στα χειρότερα σενάρια, με μια μείωση απόδοσης 2-14% να είναι πιο αντιπροσωπευτική των ανθρώπων εμπειρίες.

Τα τρωτά σημεία επηρέασαν πολλές επεξεργαστές x86, επεξεργαστές IBM POWER και ορισμένες CPU που βασίζονται σε ARM. Το Meltdown επηρεάζει το υλικό που βρίσκεται συνήθως σε προσωπικούς υπολογιστές καθώς και σε διακομιστές cloud. Το Spectre επηρεάζει προσωπικούς υπολογιστές, διακομιστές cloud και κινητές συσκευές. Όλες οι CPU της Intel από το 1995 έως τα μέσα του 2018 ήταν ευάλωτες στα προβλήματα (με τον αποκλεισμό των γραμμών Itanium και Atom πριν από το 2013). Οι CPU της AMD δεν επηρεάστηκαν από το Meltdown αλλά ήταν ευάλωτοι στο Spectre.

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

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