Τι είναι μια side-channel επίθεση;


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

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

Όπως φαίνεται στο Σχήμα 1 παρακάτω, χρησιμοποιήθηκαν σήματα από δημοφιλείς συσκευές όπως smartphone, ενσωματωμένες συσκευές ΙΟΤ για την εύρεση ευπαθειών, την εξαγωγή ευαίσθητων πληροφοριών ή συμπεριφορών αναλύοντας τη συχνότητα του σήματος σε μια συγκεκριμένη χρονική περίοδο (από εισόδους και εξόδους)

Εικόνα 1: Λήψη πλευρικών σημάτων από δημοφιλείς συσκευές ( πηγή )

Ένα άλλο δημοφιλές παράδειγμα side-channel επίθεσης που απεικονίζει το σενάριο από το Σχήμα 1 είναι η χρήση των ήχων ενός κλειδιού (πληκτρολογίου) για την αναγνώρισή του.

Η εικόνα των side-channel επιθέσεων

“Συνήθως, όταν σχεδιάζουμε έναν αλγόριθμο σκεφτόμαστε τις εισόδους και τις εξόδους. Δεν σκεφτόμαστε τίποτα άλλο που συμβαίνει όταν εκτελείται το πρόγραμμα”, λέει ο Daniel Genkin, επιστήμονας υπολογιστών στο Πανεπιστήμιο του Μίσιγκαν.

Οι υπολογιστές λειτουργούν με τη φυσική και υπάρχουν πολλές πλευρικές φυσικές επιδράσεις που μπορούν να αναλυθούν, συμπεριλαμβανομένου του χρόνου, της ισχύος και του ήχου. Αυτά είναι τρία σημαντικά συστατικά που θα μπορούσαν να εξερευνηθούν από απατεώνες. Για παράδειγμα, μια επίθεση χρονισμού είναι μια επίθεση side-channel στην οποία ο εισβολέας προσπαθεί να θέσει σε κίνδυνο ένα κρυπτοσύστημα αναλύοντας τον χρόνο που απαιτείται για την εκτέλεση κρυπτογραφικών αλγορίθμων.

Ένα άλλο γνωστό σενάριο είναι η τυφλή επίθεση SQL. Εδώ, οι λειτουργίες WAIT FOR DELAY μπορούν να χρησιμοποιηθούν για την αναστολή της εκτέλεσης για ένα καθορισμένο χρονικό διάστημα ή το WAIT FOR TIME μπορεί να χρησιμοποιηθεί για την αναστολή της εκτέλεσης του ερωτήματος και τη συνέχισή του όταν ο χρόνος του συστήματος είναι ίσος με την παράμετρο. Χρησιμοποιώντας αυτήν τη μέθοδο, ένας εισβολέας απαριθμεί κάθε γράμμα των επιθυμητών δεδομένων χρησιμοποιώντας την ακόλουθη λογική:

  1. Εάν το πρώτο γράμμα του ονόματος της πρώτης βάσης δεδομένων είναι “A”, περιμένετε 10 δευτερόλεπτα.
  2. Εάν το πρώτο γράμμα του ονόματος της πρώτης βάσης δεδομένων είναι “B”, περιμένετε 10 δευτερόλεπτα.
  3. [και τα λοιπά.]

Αναλυτικά, αυτές οι επιθέσεις εκμεταλλεύονται ένα από αυτά τα εφέ για να λάβουν περισσότερες πληροφορίες σχετικά με τα μυστικά του αλγορίθμου που χρησιμοποιείται.

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

Το σχήμα 2 παρακάτω παρουσιάζει πώς μπορεί να χρησιμοποιηθεί μια επίθεση side-channel για να αποκτήσει ένας εισβολέας τα μυστικά μιας κανονικής ροής εργασίας της εφαρμογής και να εκμεταλλευτεί πλευρικές πληροφορίες όπως τον ήχο, την συχνότητα, την κατανάλωση ενέργειας και ούτω καθεξής για να πάρει την τελική έξοδο (π.χ., το απλό κείμενο από ένα ciphertext).

Σχήμα 2 : Κανονική ροή εργασίας σε σχέση με ένα σενάριο επίθεσης side-channel

Τα υπολογιστικά συστήματα είναι πλέον πολύ πιο εξελιγμένα έτσι οι συγκεκριμένες επιθέσεις γίνονται όλο και περισσότερες και είναι δύσκολο να εντοπιστούν και να προληφθούν.

Για παράδειγμα, εντοπίστηκαν αρκετά σφάλματα τα τελευταία χρόνια σε δημοφιλή εξοπλισμό, με ευπάθειες που γνωρίζετε ήδη:  Meltdown, Specter, Fallout, RIDL και Zombieload. Όλες εκμεταλλεύονται επιθέσεις side-channel .

Ας δούμε κάθε μια από αυτές λεπτομερώς.

Meltdown: Πρόκειται για ευπάθεια hardware που επηρεάζει τους μικροεπεξεργαστές Intel x86, τους επεξεργαστές IBM POWER και ορισμένους μικροεπεξεργαστές ARM. Αναλυτικά, επιτρέπει σε μια κακόβουλη διεργασία να πάρει όλη τη μνήμη, ακόμη και όταν δεν είναι εξουσιοδοτημένη να το κάνει.

Specter: Πρόκειται για μια ευπάθεια που επηρεάζει τους σύγχρονους μικροεπεξεργαστές.

Fallout: Η επίθεση Fallout επιτρέπει τη λήψη δεδομένων που έγραψε πρόσφατα το λειτουργικό σύστημα.

RIDL: Η επίθεση RIDL μπορεί να χρησιμοποιηθεί για τη διαρροή πληροφοριών σε διάφορους τομείς ασφαλείας από διαφορετικά buffer, όπως το buffer πλήρωσης γραμμής και τις θύρες φόρτωσης, μέσα σε επεξεργαστές Intel.

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

Επίλογος

Οι επιθέσεις μέσω side-channel υπήρξαν ένα καυτό θέμα τα τελευταία χρόνια και έδωσαν πιο εξελιγμένους ορίζοντες εξερεύνησης σε ομάδες που κυνηγούν ευπάθειες. Το Meltdown και το Specter είναι η πραγματική απόδειξη αυτής της επικίνδυνης επίθεσης.

Η πρόληψη τέτοιων σεναρίων είναι δύσκολο έργο, αλλά υπάρχουν καταγεγραμμένες βέλτιστες πρακτικές που μπορούν να χησιμοποιηθούν OWASP (PDF) . Για παράδειγμα, ο καθορισμός των χρόνων απόκρισης στον χειρότερο χρόνο εκτέλεσης θα μπορούσε να είναι μια καλή λύση για την αποτροπή επιθέσεων side-channel από πλευράς χρόνου αλλά με σοβαρό αντίκτυπο στην απόδοση.

Από την άλλη πλευρά, οι side-channel επιθέσεις σε web εφαρμογές είναι  επίσης ένα πολύ μεγάλο πρόβλημα. Μπορείτε για παράδειγμα να μάθετε την ύπαρξη του ονόματος ενός χρήστη από τους χρόνους απόκρισης ή τα μηνύματα για ένα σφάλμα.

Τα side-channels εμφανίζονται με διάφορους τρόπους. Η ανίχνευση και η πρόληψη είναι μια σοβαρή πρόκληση και συχνά μπορεί να έχει αρνητικό αντίκτυπο στην απόδοση του συστήματος.

Παραπομπές


Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news