Ευπάθεια στην AMD SEV που επιτρέπει τον προσδιορισμό κλειδιών κρυπτογράφησης

Προγραμματιστές από την ομάδα του Google Cloud αποκάλυψε ευπάθεια (CVE-2019-9836) στην εφαρμογή της τεχνολογίας AMD SEV (Secure Encrypted Virtualization), η οποία επιτρέπει την παραβίαση δεδομένων που προστατεύονται με χρήση αυτής της τεχνολογίας. Η AMD SEV σε επίπεδο υλικού παρέχει διαφανή κρυπτογράφηση της μνήμης της εικονικής μηχανής, στην οποία μόνο το τρέχον σύστημα φιλοξενούμενου έχει πρόσβαση σε αποκρυπτογραφημένα δεδομένα, και άλλες εικονικές μηχανές και ο hypervisor λαμβάνουν ένα κρυπτογραφημένο σύνολο δεδομένων όταν προσπαθούν να αποκτήσουν πρόσβαση σε αυτήν τη μνήμη.

Το πρόβλημα που εντοπίστηκε καθιστά δυνατή την πλήρη επαναφορά των περιεχομένων του ιδιωτικού κλειδιού PDH, το οποίο υποβάλλεται σε επεξεργασία σε επίπεδο ξεχωριστού προστατευμένου επεξεργαστή PSP (AMD Security Processor), ο οποίος δεν είναι προσβάσιμος στο κύριο λειτουργικό σύστημα.
Έχοντας το κλειδί PDH, ο εισβολέας μπορεί στη συνέχεια να ανακτήσει το κλειδί συνεδρίας και τη μυστική ακολουθία που καθορίστηκαν κατά τη δημιουργία της εικονικής μηχανής και να αποκτήσει πρόσβαση στα κρυπτογραφημένα δεδομένα.

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

Ασφάλεια του πρωτοκόλλου ECDH απευθείας εξαρτάται από Σειρά το παραγόμενο σημείο εκκίνησης της καμπύλης, ο διακριτός λογάριθμος της οποίας είναι πολύ δύσκολο έργο. Κατά τη διάρκεια ενός από τα βήματα προετοιμασίας του περιβάλλοντος AMD SEV, οι υπολογισμοί ιδιωτικού κλειδιού χρησιμοποιούν παραμέτρους που λαμβάνονται από τον χρήστη. Ουσιαστικά, η λειτουργία πολλαπλασιάζει δύο σημεία, εκ των οποίων το ένα αντιστοιχεί στο ιδιωτικό κλειδί. Εάν το δεύτερο σημείο αναφέρεται σε πρώτους αριθμούς χαμηλής τάξης, τότε ο εισβολέας μπορεί να καθορίσει τις παραμέτρους του πρώτου σημείου (bits του συντελεστή που χρησιμοποιούνται στη λειτουργία modulo) αναζητώντας όλες τις πιθανές τιμές. Για να προσδιορίσετε το ιδιωτικό κλειδί, τα επιλεγμένα θραύσματα πρώτων αριθμών μπορούν στη συνέχεια να συνδυαστούν χρησιμοποιώντας Θεώρημα κινεζικού υπολοίπου.

Το πρόβλημα επηρεάζει τις πλατφόρμες διακομιστών AMD EPYC που χρησιμοποιούν υλικολογισμικό SEV έως την έκδοση 0.17 έκδοση 11. Η AMD έχει ήδη опубликовала Ενημέρωση υλικολογισμικού που προσθέτει αποκλεισμό σημείων που δεν συμμορφώνονται με την καμπύλη NIST. Ταυτόχρονα, τα πιστοποιητικά που έχουν δημιουργηθεί προηγουμένως για κλειδιά PDH παραμένουν έγκυρα, γεγονός που επιτρέπει σε έναν εισβολέα να πραγματοποιήσει μια επίθεση για τη μετεγκατάσταση εικονικών μηχανών από περιβάλλοντα που προστατεύονται από την ευπάθεια σε περιβάλλοντα που είναι ευαίσθητα στο πρόβλημα. Αναφέρεται επίσης η πιθανότητα πραγματοποίησης επίθεσης για επαναφορά της έκδοσης υλικολογισμικού σε μια παλιά έκδοση ευάλωτων, αλλά αυτή η πιθανότητα δεν έχει ακόμη επιβεβαιωθεί.

Πηγή: opennet.ru

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