Όπως ίσως θα πήρε το μάτι σας με τον πανικό που έχει δημιουργηθεί τις τελευταίες μέρες, πρόσφατα ανακαλύφθηκαν δύο σοβαρά κενά ασφαλείας (Meltdown και Spectre), που επηρεάζουν όλους τους επεξεργαστές που κυκλοφορούν αυτή τη στιγμή. Μιλάμε για κάθε επεξεργαστή που φτιάχτηκε τα τελευταία 20 χρόνια τουλάχιστον, από οποιαδήποτε εταιρεία, ανεξαρτήτου έτους κατασκευής ή επεξεργαστικής δύναμης.
Προτάσεις συνεργασίας
Τα νέα άρθρα του PCsteps
Γίνε VIP μέλος στο PCSteps
Η είδηση
Ας πάρουμε όμως τα πράγματα από την αρχή, κι ας πάμε πίσω μερικούς μήνες, στον Ιούνιο του 2017.
Η ερευνητική ομάδα Project Zero της Google, ανακάλυψε τα κενά ασφαλείας το καλοκαίρι που μας πέρασε, όπου και ενημέρωσε άμεσα τις κατασκευάστριες εταιρείες (Intel, AMD, ARM) στις 1/6/2017.
Πριν η είδηση γίνει γνωστή, το πρόβλημα εντόπισαν επίσης κι άλλοι ερευνητές. Στις 3 Ιανουαρίου 2018, ο Jann Horn της ομάδας Project Zero, δημοσίευσε τα ευρήματα της ομάδας, εξηγώντας τις ευπάθειες και το πώς μπορεί κάποιος να τις εκμεταλλευτεί. Εδώ θα βρείτε την ανακοίνωση.
Πρόκειται με λίγα λόγια για δύο ξεχωριστά bugs, που έχουν να κάνουν με την αρχιτεκτονική των επεξεργαστών, τα οποία μπορεί κάποιος να εκμεταλλευτεί για να υποκλέψει προσωπικά μας δεδομένα.
Το ένα από τα δύο – που είναι και το πιο επικίνδυνο – επηρεάζει μόνο τους επεξεργαστές της Intel. Το άλλο επηρεάζει όλους τους επεξεργαστές, είτε Intel, είτε AMD, είτε ARM.
Και τα δύο bugs έχουν τη δυνατότητα να διαβάσουν δεδομένα που μεταφέρονται μεταξύ της μνήμης και του επεξεργαστή. Αυτά τα δεδομένα μπορεί να είναι οτιδήποτε, από κωδικοί πρόσβασης, μέχρι αρχεία.
Το γεγονός αυτό είναι ιδιαίτερα ανησυχητικό για server υπολογιστές και συστήματα εικονικών μηχανών, εφόσον κάποιος θα μπορούσε μέσα από μια εικονική μηχανή (guest) να διαβάσει τη μνήμη του αρχικού συστήματος (host).
Virtual Machine – Τι Είναι η “Εικονική Μηχανή”Ο πειραματισμός είναι μέρος της ανθρώπινης φύσης. Αν όμως πειραματιστούμε με το λειτουργικό σύστημα στον υπολογιστή, μπορεί να μας κοστίσει σε χρήματα και σε χρόνο….
Για να το κάνουμε πιο απλό, θα αναφέρουμε ότι η πιο σοβαρή από τις “τρύπες” ασφαλείας, μπορεί να δώσει στον επιτιθέμενο πρόσβαση στην πραγματική μνήμη του συστήματος, “σπάζοντας” το φράγμα μιας εικονικής μηχανής.
Ποιοι επεξεργαστές επηρεάζονται από τα κενά ασφαλείας
Η απάντηση σε αυτήν την ερώτηση είναι μονολεκτική: Όλοι.
Οι ερευνητές έτρεξαν διαγνωστικά σε επεξεργαστές του 2011 – μιλάμε για επεξεργαστές επταετίας – και τους βρήκαν ευάλωτους στα κενά ασφαλείας. Οι επεξεργαστές της Intel, όπως θα δούμε και παρακάτω αναλυτικά, είναι ευάλωτοι και στα δύο κενά.
Θεωρητικά, το πρόβλημα επεκτείνεται σε όλους τους επεξεργαστές που δημιουργήθηκαν από το 1995 και μετά, φτάνοντας έως και σήμερα. Σαφώς, είναι πρακτικά αδύνατον να γίνουν οι απαραίτητοι έλεγχοι σε όλους αυτούς τους επεξεργαστές.
Δεδομένου ότι τα κενά ασφαλείας είναι κατασκευαστικά σφάλματα σε επίπεδο αρχιτεκτονικής των επεξεργαστών, δεν έχει καμία σημασία αν ο υπολογιστής μας τρέχει Windows, Linux, macOS, Android, Chrome OS – συμπληρώστε ελεύθερα όποιο λειτουργικό επιθυμείτε.
Κανένα λειτουργικό δεν είναι άτρωτο στην προκειμένη. Κατά συνέπεια, όλες οι συσκευές μας, από laptop, smartphone, σταθερούς υπολογιστές, έως και servers, είναι ευάλωτοι στα κενά ασφαλείας.
Για να επεκτείνουμε τον συλλογισμό μας ακόμα παραπέρα, δεδομένου ότι σήμερα ακόμα και ένα τηγάνι μπορεί να είναι “έξυπνη συσκευή”, οτιδήποτε έχει επεξεργαστή, είναι ενδεχομένως ευάλωτο. Βέβαια το τι δεδομένα μπορεί να υποκλέψει κανείς από το τηγάνι μας, είναι πρακτικά αδιάφορο, αλλά οφείλουμε να το αναφέρουμε.
Ήρθε το τέλος του κόσμου ή ακόμα;
Όπως γίνεται συνήθως σε τέτοιες περιπτώσεις, οι απανταχού καταστροφολόγοι δεν έχασαν χρόνο, έβαλαν τη φαντασία τους να δουλέψει, και ξεκίνησαν τα σενάρια επιστημονικής φαντασίας.
Με το που βγήκε στη δημοσιότητα η είδηση, κάποιοι άρχισαν να μιλούν για μείωση 30% στις επιδόσεις, σε όλους τους επεξεργαστές. Άλλοι κατηγόρησαν την Intel ότι το γνώριζε, και παρόλ’ αυτά συνέχιζε να κυκλοφορεί επεξεργαστές με κατασκευαστικό σφάλμα.
Σ’ αυτό συντέλεσε και το γεγονός ότι ο CEO της Intel, Brian Krzanich, πούλησε τον περασμένο Νοέμβρη μετοχές της εταιρείας, αξίας 24 εκατομμυρίων δολαρίων.
Μπορεί όντως να το έκανε λόγω της επικείμενης αποκάλυψης των κενών ασφαλείας, υπό τον φόβο ότι η μετοχή της Intel θα κάνει βουτιά. Σαφώς, δεν είμαστε σε θέση να γνωρίζουμε τις προθέσεις του. Παρακάτω θα συζητήσουμε όμως, μεταξύ άλλων, και την πολιτική της Intel, τώρα και παλαιότερα.
Δεν μας έκανε εντύπωση ότι ειπώθηκε και το κλασικό σενάριο του ότι οι εταιρείες άφησαν επίτηδες την “πίσω πόρτα” ανοιχτή, ώστε να μπορούν να μπαινοβγαίνουν ελεύθερα και να διαβάζουν τα δεδομένα μας οι μυστικές υπηρεσίες – NSA, CIA, ξέρετε πώς πάνε αυτά.
Είμαστε σίγουροι ότι θα έπαιξε αρκετά και το σενάριο εξωγήινης εισβολής
Ανάμεσα σε όλα αυτά τα σενάρια, είναι δύσκολο να ξεχωρίσει κανείς την αλήθεια από την υπερβολή και το ψέμα. Όπως επίσης είναι δύσκολο να βρούμε τα σωστά μέτρα προστασίας, όταν η μία εταιρεία λέει άσπρο και η άλλη μαύρο.
Το σίγουρο είναι ότι όλες οι μεγάλες εταιρείες λογισμικού, όπως η Apple, η Google, και η Microsoft, πασχίζουν να βγάλουν ενημερώσεις για τα συστήματά τους. Δεν πρόκειται απλώς για την προστασία του μέσου χρήστη, αλλά περισσότερο για την προστασία των επιχειρήσεων και των cloud server.
Εμείς θα προσπαθήσουμε παρακάτω να εξηγήσουμε όλες τις πληροφορίες που ήρθαν στο προσκήνιο μέχρι τη στιγμή που γράφονται αυτές οι γραμμές, και θα δούμε όλους τους τρόπους αντιμετώπισης των απειλών.
Τι είναι στην πραγματικότητα αυτά τα κενά ασφαλείας;
Τη σύντομη απάντηση την αναφέραμε και παραπάνω. Πρόκειται για bugs που επιτρέπουν σε εισβολείς να έχουν πρόσβαση σε σημαντικές πληροφορίες, οι οποίες είναι αποθηκευμένες βαθιά στα “έγκατα” ενός υπολογιστικού συστήματος.
Πάμε όμως να δούμε και αναλυτικά τι κάνει το καθένα.
Καταρχάς, οι ερευνητές που ασχολούνται με το θέμα μέχρι στιγμής, έχουν δώσει στα δύο bugs κυριολεκτικά την προσωπική τους ταυτότητα. Άλλωστε τι είδους σοβαρά bugs θα ήταν, αν δεν είχαν από ένα “cool” όνομα και λογότυπο.
Ιδού, λοιπόν, τα Meltdown και Spectre, που κατάφεραν να ταράξουν και να σπείρουν τον πανικό στους χρήστες υπολογιστών, κινητών, και λοιπών συσκευών όλου του πλανήτη.
Τα bugs έχουν μάλιστα και δική τους σελίδα, την οποία δημιούργησαν ερευνητές του Graz University of Technology της Αυστρίας. Εκεί θα βρούμε αναλυτικές πληροφορίες για τη χρήση των bugs, τις δηλώσεις των εταιρειών, και άλλα.
Το πρόβλημα
Γενικά, το πρόβλημα δεν οφείλεται ούτε σε ελαττωματικό hardware, ούτε όμως πρόκειται για πρόβλημα στο software.
Πιο συγκεκριμένα, το ελάττωμα είναι στην αρχιτεκτονική των επεξεργαστών, και στον τρόπο που τα εκατομμύρια transistors και οι λογικές μονάδες συνεργάζονται, ώστε να φέρουν εις πέρας τις εκάστοτε διεργασίες.
Δεν μιλάμε δηλαδή για ένα απλό κατασκευαστικό σφάλμα σε μια παρτίδα επεξεργαστών, που θα μπορούσε να λυθεί με κάποια μικρή αλλαγή κατά την κατασκευή. Αντίθετα, πρόκειται για τη βασική δομή της αρχιτεκτονικής πάνω στην οποία βασίζονται οι επεξεργαστές και τα λειτουργικά συστήματα.
Σε όλα τα σύγχρονα συστήματα, υπάρχουν συγκεκριμένοι απαραβίαστοι χώροι, μέσα στους οποίους τα δεδομένα εισέρχονται χωρίς κρυπτογράφηση, στην πιο “ωμή” τους μορφή.
Κρυπτογράφηση Δεδομένων – Τι είναι και Πώς ΛειτουργείΣε έναν κόσμο χωρίς κρυπτογράφηση δεδομένων, θα ήταν αδύνατον να έχουμε ένα προσωπικό email, έναν προσωπικό λογαριασμό στο facebook, ή να χρησιμοποιήσουμε μια πιστωτική κάρτα για…
Ένας βασικός τέτοιος “χώρος” είναι ο πυρήνας (kernel) του λειτουργικού, που είναι η πιο κεντρική μονάδα λογισμικού. Άλλο παράδειγμα αποτελεί η μνήμη του συστήματος.
Αυτοί οι χώροι, λοιπόν, έχουν ισχυρές προστασίες, ώστε να αποφευχθεί η οποιαδήποτε παρεμβολή τρίτων εφαρμογών, είτε για απλή ανάγνωση, είτε για επεξεργασία των δεδομένων.
Κάπου εδώ έρχονται οι “τρύπες” που βγήκαν στο φως, οι οποίες παρακάμπτουν αυτές τις ισχυρές δικλείδες ασφαλείας, εκθέτοντας και καθιστώντας ευάλωτα κυριολεκτικά όλα τα δεδομένα που επεξεργάζεται ένας υπολογιστής.
Έτσι, για παράδειγμα, ένας hacker θα μπορούσε να νοικιάσει απλώς έναν χώρο σε κάποια cloud υπηρεσία, και μέσω αυτών των κενών ασφαλείας, να έχει πρόσβαση στα δεδομένα άλλων πελατών.
Λειτουργικό σύστημα
Αν θέλουμε να επιχειρήσουμε να εξηγήσουμε έστω και στο ελάχιστον το τι ακριβώς κάνουν τα Meltdown και Spectre, και γιατί είναι τόσο σημαντικά και επικίνδυνα, θα πρέπει να δούμε πρώτα τη δομή ενός λειτουργικού συστήματος και ενός VPS.
Θα χρησιμοποιήσουμε όσο το δυνατόν λιγότερη ορολογία γίνεται, και όσο περισσότερες εικόνες μπορούμε.
Το λειτουργικό σύστημα ενός υπολογιστή είναι στην πραγματικότητα ένα είδος προγράμματος, που επιτρέπει την εκτέλεση άλλων προγραμμάτων. Με πολύ απλά λόγια, το λειτουργικό σύστημα αποτελείται από τον πυρήνα (kernel), το κέλυφος (shell), και το λογισμικό του χρήστη (userland ή user part).
Ο πυρήνας είναι ένα πρόγραμμα που επικοινωνεί άμεσα με το υλικό του υπολογιστή. Οι drivers για τον επεξεργαστή, την κάρτα γραφικών, το πληκτρολόγιο, κτλ, “ζουν” μέσα στον πυρήνα.
Επισημαίνουμε ότι δεν μιλάμε για τον πυρήνα ενός επεξεργαστή. Για να αποφευχθεί η σύγχυση, θα κρατήσουμε την αγγλική ορολογία “kernel”.
Στην ουσία, η ύπαρξη του kernel παρέχει ένα στρώμα προστασίας στο υπόλοιπο σύστημα. Για παράδειγμα, ένα τυχαίο πρόγραμμα του υπολογιστή – ας πούμε η Ζωγραφική – δεν χρειάζεται να γνωρίζει πώς να επικοινωνήσει με το ποντίκι ή με την οθόνη.
Το κέλυφος (ή φλοιός) με τη σειρά του, είναι υπεύθυνο για την εκτέλεση των προγραμμάτων του χρήστη, και “επιβλέπει” την πρόσβαση του χρήστη στις διάφορες μονάδες αποθήκευσης.
Για να το κάνουμε πιο κατανοητό, μπορούμε να πούμε ότι στα Windows, το κέλυφος είναι η επιφάνεια εργασίας.
Τέλος, το κομμάτι του user part αναφέρεται σε ό,τι άλλο λογισμικό τρέχουμε στον υπολογιστή μας. Πχ, τον browser, τα παιχνίδια, τα προγράμματα πολυμέσων, και πάει λέγοντας.
Virtual Private Server (VPS)
Ας φύγουμε τώρα από τα όρια του προσωπικού υπολογιστή, και ας πάμε στους servers. Οι servers είναι ισχυροί υπολογιστές, με πολλαπλάσια επεξεργαστική ισχύ από έναν προσωπικό υπολογιστή, πολλαπλάσια μνήμη, πολλαπλάσιο αποθηκευτικό χώρο, και ούτω καθεξής.
Προφανώς λοιπόν, είναι ασύμφορο π.χ. για κάποια εταιρεία να χρησιμοποιεί εξ ολοκλήρου έναν τέτοιον υπολογιστή. Οι περισσότεροι πόροι του θα πήγαιναν χαμένοι.
Γι’ αυτόν τον λόγο, υπάρχουν εταιρείες που νοικιάζουν ένα κομμάτι ενός τέτοιου υπολογιστή σε πελάτες, χρησιμοποιώντας διάφορες μεθόδους εικονικοποίησης (virtualization).
Κάθε τέτοιος εικονικός υπολογιστής ονομάζεται Virtual Private Server ή VPS (Εικονικός Ιδιωτικός Server).
Κάθε VPS έχει πρόσβαση στο λογισμικό που υπάρχει στο user part. Εφόσον ένας υπολογιστής μπορεί να φιλοξενεί πολλαπλούς VPS, όλοι θα μοιράζονται τους ίδιους πόρους και σαφώς τον ίδιο kernel.
Speculative Execution
Κάθε πρόγραμμα σε ένα σύγχρονο λειτουργικό σύστημα απασχολεί ένα κομμάτι της μνήμης RAM όταν εκτελείται.
Η βασική αρχή ασφάλειας, πάνω στην οποία βασίζονται οι υπολογιστές σήμερα, υποθέτει ότι ένα πρόγραμμα δεν μπορεί να διαβάσει τα περιεχόμενα της μνήμης ενός άλλου προγράμματος. Επιπλέον, κανένα από αυτά τα προγράμματα δεν μπορεί να διαβάσει τη μνήμη που χρησιμοποιεί ο kernel.
Τα Meltdown και Spectre καταρρίπτουν αυτή τη βασική αρχή, χρησιμοποιώντας ένα σχεδιαστικό πρότυπο στους επεξεργαστές, που ονομάζεται “speculative execution” – ή “υποθετική εκτέλεση εντολών” στα Ελληνικά.
Αυτό το πρότυπο επιτρέπει στον επεξεργαστή να πραγματοποιεί διεργασίες πριν ζητηθούν από τον χρήστη, με το σκεπτικό ότι μπορεί να χρειαστούν στη συνέχεια.
Η βασική ιδέα πίσω από το speculative execution έχει να κάνει με το ότι μειώνεται συνολικά η ταχύτητα επεξεργασίας των δεδομένων, με το να γίνει η “δουλειά” πριν ακόμα παραστεί η ανάγκη. Κάτι σαν τη γνωστή παροιμία, όπου των φρονίμων τα παιδιά, πριν πεινάσουν μαγειρεύουν.
Το speculative execution βελτιώνει κατά πολύ τις επιδόσεις ενός συστήματος, και είναι τεχνολογία που ενσωματώνεται σε όλους τους σύγχρονους επεξεργαστές, είτε αυτοί είναι Intel, είτε AMD, είτε ARM.
Η διαφορά έγκειται στον βαθμό του speculative execution που έχουν ενσωματώσει οι εκάστοτε εταιρείες στους επεξεργαστές τους.
Θεωρούμε ότι τα παραπάνω είναι αρκετά για να καταλάβει κανείς περί τίνος πρόκειται, οπότε δεν θα μπούμε σε επιπλέον τεχνικές λεπτομέρειες. Πάμε να δούμε αναλυτικά τι κάνει το καθένα από τα bugs.
Meltdown
Το κενό ασφαλείας Meltdown εκμεταλλεύεται το speculative execution των επεξεργαστών της Intel. Μέσω αυτού, ένα οποιοδήποτε πρόγραμμα καταφέρνει να διαβάσει κομμάτια της μνήμης άλλων προγραμμάτων, αλλά και του kernel.
Ας υποθέσουμε ότι ένα οποιοδήποτε πρόγραμμα ζητάει πρόσβαση στο κομμάτι της μνήμης που του ανήκει, για να διαβάσει και ενδεχομένως να γράψει δεδομένα.
Το κέλυφος επιβεβαιώνει ότι το κομμάτι της μνήμης είναι όντως του προγράμματος που μόλις ζήτησε την πρόσβαση.
Πριν όμως δώσει την πρόσβαση στο πρόγραμμα, υποθέτει (speculative execution) ότι ίσως το πρόγραμμα εντέλει χρειαστεί πρόσβαση και σε άλλα κομμάτια της μνήμης που του ανήκουν.
Ρωτάει, λοιπόν, το κέλυφος στο πρόγραμμα: “Θέλεις μήπως να δεις και κάποιο άλλο κομμάτι της μνήμης που σου ανήκει;”. Και απαντάει το πρόγραμμα: “Ναι, δείξε μου και το Χ κομμάτι.”
Όλα καλά μέχρι εδώ.
Έλα όμως που το κέλυφος, για να γλιτώσει χρόνο, δεν ελέγχει ξανά αν όντως ανήκει στο εν λόγω πρόγραμμα το δεύτερο κομμάτι που ζητήθηκε. Πρώτα αφήνει το πρόγραμμα να ρίξει μια κλεφτή ματιά στο κομμάτι που ζήτησε, και εκ των υστέρων αντιλαμβάνεται ότι δεν θα έπρεπε.
Στη συνέχεια του κλείνει την πόρτα, αλλά το πρόγραμμα ήδη έχει προλάβει να δει τι υπάρχει σ’ αυτό το κομμάτι της μνήμης.
Επιπλέον, μπορεί στον πραγματικό κόσμο να μην εμπιστευόσασταν ξανά κάποιον που ήδη σας είπε ψέματα, αλλά στην περίπτωση του speculative execution των επεξεργαστών της Intel, το κακόβουλο πρόγραμμα μπορεί να ζητήσει ξανά και ξανά πρόσβαση σε κομμάτια της μνήμης που δεν του ανήκουν, χωρίς να το εμποδίσει τίποτα και κανένας.
Σημειώνουμε ότι αυτά τα κομμάτια ενδέχεται να είναι ακόμη και από τη μνήμη του ίδιου του kernel.
Ποιους επεξεργαστές επηρεάζει το Meltdown
Εν ολίγοις, όλους τους σύγχρονους επεξεργαστές της Intel. Και όταν λέμε σύγχρονους, δεν αναφερόμαστε στους επεξεργαστές της τελευταίας διετίας. Μιλάμε για όλους όσους διαθέτουν speculative execution, που σημαίνει τουλάχιστον από το 1995 και μετά.
Το Meltdown, λοιπόν, επηρεάζει κατά κόρον την Intel, επειδή χρησιμοποιεί στους επεξεργαστές της αρκετά επιθετικές μεθόδους για speculative execution, με γνώμονα τις μέγιστες δυνατές επιδόσεις.
Οι επεξεργαστές της AMD και της ARM, λόγω πιο ήπιων τεχνικών speculative execution στην αρχιτεκτονική τους, δεν επηρεάζονται από το Meltdown. Ωστόσο, οι επερχόμενοι Cortex-A75 της ARM, όπως δήλωσε και η ίδια η εταιρεία, είναι ευάλωτοι σε αυτό το κενό ασφαλείας.
Spectre
Το κενό ασφαλείας Spectre λειτουργεί με παρόμοιο τρόπο.
Και σε αυτήν την περίπτωση, το πρόγραμμα ζητάει από το κέλυφος να του δείξει, ας πούμε 20 κομμάτια της μνήμης. Το κέλυφος ξεκινάει να δείχνει ένα-ένα τα κομμάτια, αφού πρώτα ζητήσει τα διαπιστευτήρια του προγράμματος.
Η διαδικασία επαναλαμβάνεται, μέχρι που φτάνουμε και στο 20ο κομμάτι, με το πρόγραμμα να δείχνει τα διαπιστευτήρια, και το κέλυφος να δίνει πρόσβαση στη μνήμη.
Από εκεί και μετά, το κέλυφος μέσα στη βιασύνη του να τελειώσει πιο γρήγορα, υποθέτει (speculation execution) ότι και για το επόμενο κομμάτι πρέπει να γίνει η ίδια διαδικασία. Δείχνει, λοιπόν, εκ των προτέρων και το 21o κομμάτι μνήμης στο πρόγραμμα, χωρίς να ελέγξει αν είναι δικό του ή όχι.
Άμεσα αντιλαμβάνεται το λάθος του και κλείνει την πόρτα στο πρόγραμμα, όμως και σε αυτήν την περίπτωση, είναι πολύ αργά. Το πρόγραμμα έχει προλάβει να δει το απαγορευμένο κομμάτι μνήμης.
Ποιους επεξεργαστές επηρεάζει το Spectre
Το Spectre απαιτεί πολύ περισσότερους πόρους για να εκτελεστεί, είναι αρκετά πιο αργό, και δεν δίνει πρόσβαση στη μνήμη του kernel. Με άλλα λόγια, είναι πολύ πιο δύσκολο για κάποιον να το εκμεταλλευτεί, και χρειάζεται αρκετά εξειδικευμένες γνώσεις πάνω στον εκάστοτε επεξεργαστή.
Ωστόσο, το Spectre επηρεάζει όλους τους επεξεργαστές της αγοράς, είτε είναι Intel, AMD, ή ARM.
Λόγω της δυσκολίας του, είναι επίσης σχεδόν αδύνατον να κυκλοφορήσουν patch στο software για την ασφάλιση αυτής της ευπάθειας. Μόνο κάποιες συγκεκριμένες διεργασίες του Spectre μπορούν να εμποδιστούν μέσω software.
Για τις υπόλοιπες θα πρέπει να γίνουν ριζικές αλλαγές στην αρχιτεκτονική των επεξεργαστών, κάτι που δεν πρόκειται να συμβεί εν μία νυκτί. Ως εκ τούτου, το Spectre θα μας “στοιχειώνει” για αρκετό καιρό ακόμα.
Τι πρέπει να κάνει ο απλός χρήστης
Στη θεωρία όλα καλά, αλλά στην πράξη τι μπορούμε να κάνουμε για να προφυλαχτούμε από κακόβουλες επιθέσεις;
Λόγω της φύσης του Meltdown, είναι πολύ εύκολο να το εκμεταλλευτεί ο οποιοσδήποτε, χωρίς ιδιαίτερες γνώσεις προγραμματισμού, ώστε να αποκτήσει πρόσβαση στα αρχεία μας.
Μα θα μας πείτε, εφόσον το Meltdown απαιτεί κάποιο κακόβουλο πρόγραμμα να ζητήσει την πρόσβαση στη μνήμη μας, δεν αρκεί να προσέξουμε να μην εγκαθιστούμε προγράμματα που δεν γνωρίζουμε;
Ηλεκτρονική ασφάλεια, Έξω απ' τα ΔόντιαΗ ηλεκτρονική ασφάλεια είναι ένα θέμα που μας αφορά όλους. Στο Internet κυκλοφορεί εξαιρετικά επικίνδυνο και καταστροφικό κακόβουλο λογισμικό. Και, δυστυχώς, υπάρχει εκτεταμένη άγνοια, ημιμάθεια,…
Δυστυχώς, όχι. Τα πράγματα δεν είναι τόσο απλά. Θυμάστε τα VPS που αναφέραμε παραπάνω; Οι περισσότερες επεξεργαστικές διαδικασίες σήμερα γίνονται μέσω cloud. Στο cloud δεν έχουμε κανέναν απολύτως έλεγχο για το ποιος άλλος εκτός από εμάς χρησιμοποιεί τις εκάστοτε υπηρεσίες ενός server.
Έτσι, ένα απλό πρόγραμμα JavaScript που τρέχει στον browser μας μπορεί πολύ εύκολα να διαβάσει τη μνήμη του υπολογιστή μας. Κάθε σελίδα χρησιμοποιεί δεκάδες τέτοια script για να φορτώσει.
Με το Meltdown, αρκεί μία ενοχλητική και όχι τόσο αθώα διαφήμιση στον browser, για να εκτεθούν όλα τα προσωπικά δεδομένα της μνήμης του υπολογιστή μας.
Το θετικό με το Meltdown, όμως, είναι ότι ήδη έχουν κυκλοφορήσει ενημερώσεις και patch που προσφέρουν ένα ικανοποιητικό επίπεδο προστασίας από το κενό ασφαλείας. Και λέμε ικανοποιητικό, γιατί δυστυχώς είναι αδύνατον να λυθεί το πρόβλημα 100% μέσω software.
Όπως ήδη είπαμε, το Spectre δεν μπορεί να διορθωθεί χωρίς αλλαγές στην αρχιτεκτονική, που θα πάρουν σίγουρα χρόνια για να πραγματοποιηθούν. Θεωρητικά όμως, είναι δύσκολο να το εκμεταλλευτεί ο οποιοσδήποτε για να μας βλάψει.
Ενημερώσεις συσκευών
Πρωτίστως, οφείλουμε να εγκαταστήσουμε οποιαδήποτε ενημέρωση έχουν βγάλει οι κατασκευαστές του υλικού μας.
Θα πρέπει άμεσα να δούμε τυχόν ενημερώσεις στις σελίδες των κατασκευαστών, είτε για updates στο BIOS, είτε για οποιουδήποτε άλλου είδους firmware.
Αντίστοιχα, θα πρέπει να εγκαταστήσουμε όλες τις ενημερώσεις και από την πλευρά του λειτουργικού μας. Συνοπτικά αναφέρουμε τις ενημερώσεις για τα βασικότερα λειτουργικά συστήματα και browsers.
Windows
Στα Windows θα πρέπει να εγκαταστήσουμε άμεσα την ενημέρωση ασφαλείας Ιανουαρίου 2018, που βγήκε για Windows 10, 8, και 7. Ακόμα κι αν έχουμε ρυθμίσει την αυτόματη εγκατάσταση των ενημερώσεων, καλό είναι να κάνουμε έναν χειροκίνητο έλεγχο στις συσκευές μας.
Στα Windows 10 αυτό γίνεται στις Ρυθμίσεις > Ενημερώσεις και ασφάλεια.
Πατάμε άμεσα να γίνει έλεγχος για νέες ενημερώσεις, και παράλληλα ελέγχουμε αν εγκαταστάθηκε ήδη η ενημέρωση ασφαλείας Ιανουαρίου 2018.
Αν ο υπολογιστής μας δεν βρει την ενημέρωση, αλλά ούτε την έχει εγκαταστήσει ήδη, τότε πιθανόν το antivirus μας να χρειάζεται κι αυτό ενημέρωση.
Εφαρμόζουμε τα τελευταία updates στο antivirus και επιχειρούμε ξανά να ψάξουμε για νέες ενημερώσεις στα Windows.
Android
Σύμφωνα με τη Google, οι συσκευές που έχουν αναβαθμίσει στο νέο patch ασφαλείας που βγήκε στις 5 Ιανουαρίου, είναι ασφαλείς.
Ωστόσο, αυτό ισχύει για τις συσκευές που παίρνουν άμεσα τις ενημερώσεις της Google, όπως τα Nexus και Pixel smartphone, ή τα κινητά του project Android One.
Οι υπόλοιποι χρήστες θα πρέπει να περιμένουν τις ενημερώσεις από τους εκάστοτε κατασκευαστές των συσκευών τους.
Linux
Όσον αφορά τους χρήστες Linux, ήδη οι developers δημιούργησαν patch για τον kernel του λειτουργικού, τις εκδόσεις των οποίων θα βρείτε εδώ.
macOS και iOS
Όλες οι συσκευές της Apple, είτε είναι Mac, Macbook, iPad, iPhone, ακόμα και Apple TV, επηρεάζονται απ’ το Meltdown. Ωστόσο, η Apple ήδη είχε ετοιμάσει ενημερώσεις για τις συσκευές της, πριν ακόμα γίνουν γνωστές οι ευπάθειες.
Για το macOS, πρέπει να βεβαιωθούμε ότι τρέχουμε την έκδοση 10.13.2 ή μεταγενέστερη. Στα iPhone, χρειαζόμαστε την έκδοση iOS 11.2 ή νεότερη.
Αντίστοιχα, στις Apple TV το patch ισχύει από την έκδοση tvOS 11.2 και μετά.
Η άμεση αναβάθμιση σε αυτές τις εκδόσεις είναι απαραίτητη, αν θέλουμε να προφυλαχτούμε από το Meltdown.
Browsers
Όλοι οι δημοφιλείς browsers έχουν αναβαθμιστεί σε νεότερες εκδόσεις, σε μια προσπάθεια να μπλοκάρουν τυχόν απόπειρες εκμετάλλευσης του Meltdown.
Στον Chrome η τρέχουσα έκδοση είναι η 63. Η Google ανακοίνωσε ότι ενεργοποιώντας τη σημαία “Strick site isolation” στον browser μας, είμαστε πιο ασφαλής κατά του Spectre.
Θα βρούμε τη σημαία εισάγωντας την παρακάτω διεύθυνση στον browser μας.
chrome://flags/#enable-site-per-process
Οι επιπτώσεις στην απόδοση με την ενεργοποίηση της σημαίας είναι μηδαμινές.
Περισσότερες λεπτομέρειες για τις σημαίες του Chrome, θα βρείτε στον οδηγό μας.
Chrome Flags: Οι Καλύτερες Κρυφές Λειτουργίες Του ChromeΕίναι γεγονός ότι ο Chrome είναι γρήγορος και αξιόπιστος browser. Ορισμένοι από εμάς, όμως, ίσως θέλουμε να του προσθέσουμε και άλλες χρήσιμες δυνατότητες. Στον οδηγό…
Στην έκδοση 64, που θα βγει στις 23 Ιανουαρίου 2018, η εταιρεία θα συμπεριλάβει επιπλέον patch για τα κενά ασφαλείας.
Ομοίως, η νεότερη έκδοση του Firefox (57.0.4) περιλαμβάνει μέτρα για την προστασία απ’ το Meltdown.
Για τον Safari αναμένεται σύντομα ενημέρωση από την Apple.
Τι επιπτώσεις θα έχουν τα updates στην απόδοση των επεξεργαστών
Αρκετοί χρήστες έχουν πανικοβληθεί με όλα τα παραπάνω. Οι περισσότεροι δεν ανησυχούν για τα προσωπικά τους δεδομένα, αλλά για τη μείωση των επιδόσεων μετά την εφαρμογή των ενημερώσεων.
Είναι λογικό, όταν προστίθενται επιπλέον επίπεδα ασφαλείας, να έχουμε και κάποια μείωση στις επιδόσεις.
Οι αρχικές δηλώσεις των υπεύθυνων έκαναν λόγο για 5% έως 30% μείωση στις επιδόσεις των επεξεργαστών με την εφαρμογή των patch για το Meltdown. Το ποσοστό διαφοροποιείται ανάλογα με τις διεργασίες και τα προγράμματα που τρέχει ο εκάστοτε χρήστης.
Ωστόσο, αυτό δεν σημαίνει ότι κάθε επεξεργαστής εκεί έξω θα γίνει αυτόματα 30% πιο αργός σε όλες τις εργασίες.
Οι μετρήσεις μέχρι στιγμής σε συστήματα που έχουν δεχθεί τις ενημερώσεις, δείχνουν ότι αυτοί που επηρεάζονται περισσότερο είναι οι servers και οι επιδόσεις σε προγράμματα επιπέδου μεγάλων επιχειρήσεων.
Οι gamers θα χαρούν να ακούσουν ότι οι επιδόσεις στα παιχνίδια επηρεάζονται ελάχιστα.
Διάφορες πηγές δείχνουν μέχρι στιγμής ότι στις μετρήσεις διάφορων παιχνιδιών, η μείωση είναι μηδαμινή έως ανύπαρκτη. Στη χειρότερη, μιλάμε για ένα ποσοστό 3%.
Γενικότερα, οι χρήστες προσωπικών υπολογιστών δεν υπάρχει λόγος να ανησυχούν για τις επιδόσεις. Αυτοί που επηρεάζονται περισσότερο είναι οι cloud servers, και τα περιβάλλοντα εικονικών μηχανών, και μόνο από τα συστήματα που έχουν επεξεργαστές Intel.
Δυστυχώς, ακόμη δεν γνωρίζουμε αν θα υπάρχει στο μέλλον περαιτέρω βελτίωση, που να μην επηρεάζει τις επιδόσεις, ούτε αν τα παραπάνω patch ήταν μια πρόχειρη λύση μέχρι να βρεθεί κάτι καλύτερο.
Αυτό που μπορούμε να πούμε με βεβαιότητα, είναι ότι δεν χρειάζεται σε καμία περίπτωση να σπέρνουμε τον πανικό, ούτε να κάνουμε βεβιασμένες κινήσεις.
Η καλύτερη λύση για την ώρα είναι να εφαρμόσουμε άμεσα όλες τις ενημερώσεις για την εκάστοτε συσκευή μας. Η ελάχιστη μείωση στις επιδόσεις για έναν καθημερινό χρήστη δεν αξίζει το ρίσκο.
Συνήθεις ερωτήσεις
Παρακάτω συγκεντρώσαμε συνηθισμένες απορίες των χρηστών, οι οποίες μπορούν να φανούν χρήσιμες σε όποιον θέλει να γνωρίζει συνοπτικά για τα δύο bugs.
- Με επηρεάζουν τα bugs;
Ναι.
- Μπορώ να δω αν κάποιος τα χρησιμοποίησε για να αποκτήσει πρόσβαση στα προσωπικά μου δεδομένα;
Όχι.
- Είμαι προστατευμένος αν έχω εγκατεστημένο antivirus;
Όχι.
- Τι μπορεί να μου υποκλέψει κάποιος μέσω αυτών των κενών ασφαλείας;
Θεωρητικά, οτιδήποτε αποθηκεύεται στη μνήμη του υπολογιστή. Αναφορικά, θα μπορούσε να είναι φωτογραφίες, βίντεο, αρχεία, κωδικοί, και πάει λέγοντας.
- Έχουν χρησιμοποιηθεί αυτά τα κενά ασφαλείας από κακόβουλες εφαρμογές μέχρι στιγμής;
Δεν γνωρίζουμε. Όπως είπαμε και πιο πάνω, είναι αδύνατον να δούμε αν κάποιος χρησιμοποίησε τα bugs για να υποκλέψει αρχεία μας.
- Υπάρχει τρόπος επίλυσης του προβλήματος;
Για το Meltdown, έχουν δημιουργηθεί patch για Windows, Linux, και macOS, που ασφαλίζουν κατά κάποιον τρόπο το λειτουργικό. Για το Spectre ακόμα όχι.
- Ποια συστήματα επηρεάζει το Meltdown;
Κάθε επεξεργαστής Intel που κατασκευάστηκε από το 1995 και μετά (πέραν ελαχίστων εξαιρέσεων), είναι ευάλωτος στο Meltdown. Φαίνεται ότι δεν επηρεάζονται οι επεξεργαστές AMD και ARM.
- Ποια συστήματα επηρεάζει το Spectre;
Όλα. Σταθερούς υπολογιστές, laptop, cloud συστήματα, κινητά τηλέφωνα, κτλ. Ό,τι “φοράει” επεξεργαστή, είναι ευάλωτο στο Spectre. Έχει επιβεβαιωθεί η χρήση του Spectre σε επεξεργαστές Intel, AMD, και ARM.
Η ιστορία επαναλαμβάνεται για την Intel
Κάτι παραπάνω από 20 χρόνια πριν, η Intel αντιμετώπισε ένα πρόβλημα στους επεξεγαστές της. Το πρόβλημα δεν ήταν τόσο μεγάλο όσο τα σημερινά, αλλά αυτό που έχει ενδιαφέρον να εξετάσουμε, είναι η τακτική της Intel.
Το σφάλμα του 1997, που έγινε γνωστό ως F00F bug, επέτρεπε σε κακόβουλες εφαρμογές να παγώσουν τα συστήματα με επεξεργαστές Pentium.
Πιο συγκεκριμένα, το σφάλμα μπορούσε να παγώσει οποιονδήποτε υπολογιστή με Intel Pentium ή Pentium MMX επεξεργαστή, απλά και ανώνυμα, στέλνωντάς του την ακολουθία byte “F0 0F C7 C8”.
Εξού και το όνομα του bug.
Εκείνη την εποχή, η Intel δήλωσε ότι έμαθε για το σφάλμα στις 7 Νοεμβρίου 1997. Ωστόσο, μια έκθεση επιβεβαίωνε ότι τουλάχιστον δύο άτομα είχαν δηλώσει πως η εταιρεία το γνώριζε πολύ πιο πριν. Η Intel επιβεβαίωσε την ύπαρξη του bug στις 10 Νοεμβρίου.
Σύμφωνα με τον βετεράνο Linux sysadmin, Rick Moen, η αντίδραση της εταιρείας σε αυτό το bug ήταν αρκετά παρόμοια με τον τρόπο που αντέδρασε στις αποκαλύψεις αυτής της εβδομάδας.
Όπως αναφέρει, η εταιρεία τότε δήλωσε ότι αντιμετώπισε επιτυχώς το bug, δίνοντας ένα link προς τις σελίδες τρίτων developer, οι οποίοι όφειλαν να φτιάξουν patch για να διορθώσουν το πρόβλημα.
Με άλλα λόγια, πετάει απλά το μπαλάκι στους software developers, για να βρουν λύση για το δικό της πρόβλημα.
Κατά κάποιον τρόπο, το ίδιο συμβαίνει και τώρα. Στη σελίδα της Intel βλέπουμε την ανακοίνωση που δηλώνει ότι η εταιρεία δουλεύει με άλλες τεχνολογικές εταιρείες, ψάχνοντας για λύση στα προβλήματα.
Παρακάτω όμως, μας παραπέμπει να πάμε στις σελίδες των κατασκευαστών των επιμέρους συσκευών μας και λειτουργικών, για να βρούμε τη λύση.
Δηλώνει, μάλιστα, ευθαρσώς, ότι τα προϊόντα της Intel είναι τα πιο ασφαλή στον κόσμο, και ότι οι λύσεις που υπάρχουν μέχρι στιγμής, παρέχουν την καλύτερη δυνατή προστασία.
Κάτι που γνωρίζουμε ότι δεν ισχύει, δεδομένου ότι από τη μία τα προϊόντα της είναι τα μόνα που επηρεάζονται από το Meltdown, ενώ το Spectre δεν μπορεί να λυθεί έτσι απλά.
Γενικότερα, δεν βλέπουμε να αναλαμβάνει καμία ευθύνη για τις ευπάθειες. Ωστόσο, είναι σίγουρο ότι το θέμα δεν θα μείνει έτσι. Μεγάλες εταιρείες και επιχειρήσεις πιθανόν να ζητήσουν αποζημιώσεις, και ποιος ξέρει πόσο θα αλλάξει το τοπίο στον αιώνιο ανταγωνισμό μεταξύ Intel και AMD.
Και φυσικά δεν μιλάμε σε επίπεδο απλού χρήστη. Οι desktop υπολογιστές αποτελούν μόνο ένα μικρό κομμάτι της αγοράς επεξεργαστών. Το “μεγάλο παιχνίδι” παίζεται στις υπηρεσίες cloud και στους server.
Μέχρι στιγμής, το μεγαλύτερο μερίδιο της αγοράς στους επεξεργαστές για server ανήκει στην Intel. Θα αλλάξει άραγε αυτό; Οι εταιρείες θα στραφούν στην AMD;
Τι ρόλο θα παίξουν τα Meltdown και Spectre στο μέλλον;
Αναμφίβολα, τα Meltdown και Spectre είναι από τα σημαντικότερα bugs που ήρθαν στο φως τα τελευταία χρόνια. Είδαμε τι είναι το καθένα, τι ακριβώς μπορεί να κάνει κάποιος στο σύστημά μας αν τα εκμεταλλευτεί, και τι μπορούμε να κάνουμε εμείς από την πλευρά μας, ως απλοί χρήστες.
Εμείς πιστεύουμε ότι μέσα στους επόμενους μήνες, το σκηνικό στις πωλήσεις επεξεργαστών θα αλλάξει αρκετά. Εσάς ποια είναι η άποψή σας;
Πιστεύετε ότι τα δύο bugs θα επηρεάσουν τα τεχνολογικά δρώμενα ή θεωρείτε ότι είναι απλά μια μπόρα που θα περάσει; Εγκαταστήσατε τις νέες ενημερώσεις στις συσκευές σας; Ποια είναι η γνώμη σας για τις εταιρείες επεξεργαστών;
Έχετε απορίες ή θέλετε να προσθέσετε οτιδήποτε πάνω στην ανάλυσή μας; Γράψτε μας τις εντυπώσεις σας στα σχόλια.