Ο μηχανικός της Google πρότεινε την προστασία λογισμικού των επεξεργαστών από επιθέσεις LVI

Πριν από λίγο καιρό έγινε γνωστό για μια νέα ευπάθεια στην κερδοσκοπική αρχιτεκτονική των επεξεργαστών Intel, η οποία ονομάστηκε Έγχυση τιμής φορτίου (LVI). Η Intel έχει τη δική της άποψη για τους κινδύνους του LVI και συστάσεις για τον μετριασμό του. Η δική σας έκδοση προστασίας από τέτοιες επιθέσεις πρότεινε μηχανικός στην Google. Αλλά θα πρέπει να πληρώσετε για την ασφάλεια μειώνοντας την απόδοση του επεξεργαστή κατά μέσο όρο κατά 7%.

Ο μηχανικός της Google πρότεινε την προστασία λογισμικού των επεξεργαστών από επιθέσεις LVI

Σημειώσαμε νωρίτερα ότι ο κίνδυνος του LVI δεν έγκειται στον συγκεκριμένο μηχανισμό που ανακάλυψαν οι ερευνητές, αλλά στην ίδια την αρχή της επίθεσης του πλευρικού καναλιού LVI, η οποία παρουσιάστηκε για πρώτη φορά. Έτσι, άνοιξε μια νέα κατεύθυνση για απειλές που κανείς μέχρι τότε δεν είχε υποψιαστεί (τουλάχιστον, αυτό δεν συζητήθηκε στον δημόσιο χώρο). Επομένως, η αξία της ανάπτυξης του ειδικού της Google Zola Bridges έγκειται στο γεγονός ότι η ενημερωμένη έκδοση κώδικα του μετριάζει τον κίνδυνο ακόμη και άγνωστων νέων επιθέσεων με βάση την αρχή LVI.

Προηγουμένως στο GNU Project Assembler (Συναρμολογητής GNU) έχουν γίνει αλλαγές που μειώνουν τον κίνδυνο της ευπάθειας LVI. Αυτές οι αλλαγές συνίστανται στην προσθήκη οδηγίες φραγμού LFENCE, το οποίο καθιέρωσε μια αυστηρή αλληλουχία μεταξύ των προσβάσεων στη μνήμη πριν και μετά το φράγμα. Η δοκιμή της ενημερωμένης έκδοσης κώδικα σε έναν από τους επεξεργαστές της γενιάς Kaby Lake της Intel έδειξε μείωση απόδοσης έως και 22%.

Ο προγραμματιστής της Google πρότεινε την ενημέρωση κώδικα με την προσθήκη οδηγιών LFENCE στο σετ μεταγλωττιστών LLVM και ονόμασε την προστασία SESES (Speculative Execution Side Effect Suppression). Η επιλογή προστασίας που πρότεινε μετριάζει τόσο τις απειλές LVI όσο και άλλες παρόμοιες, για παράδειγμα, το Spectre V1/V4. Η υλοποίηση SESES επιτρέπει στον μεταγλωττιστή να προσθέτει οδηγίες LFENCE σε κατάλληλες θέσεις κατά τη δημιουργία κώδικα μηχανής. Για παράδειγμα, τοποθετήστε τα πριν από κάθε οδηγία για ανάγνωση από μνήμη ή εγγραφή στη μνήμη.

Οι οδηγίες LFENCE εμποδίζουν την προκαταρκτική λήψη όλων των επόμενων εντολών μέχρι να ολοκληρωθούν οι προηγούμενες αναγνώσεις στη μνήμη. Προφανώς, αυτό επηρεάζει την απόδοση των επεξεργαστών. Ο ερευνητής διαπίστωσε ότι κατά μέσο όρο, η προστασία SESES μείωσε την ταχύτητα ολοκλήρωσης των εργασιών χρησιμοποιώντας την προστατευμένη βιβλιοθήκη κατά 7,1%. Το εύρος της μείωσης της παραγωγικότητας σε αυτή την περίπτωση κυμαινόταν από 4 έως 23%. Η αρχική πρόβλεψη των ερευνητών ήταν πιο απαισιόδοξη, απαιτώντας έως και 19 φορές μείωση της απόδοσης.



Πηγή: 3dnews.ru

Προσθέστε ένα σχόλιο