Πίσω στα RoboNews
156 πόντοιboard.flatassembler.net4 λεπτά ανάγνωσης

Αναφορά για πιθανό σφάλμα στη γεννήτρια τυχαίων αριθμών των επεξεργαστών AMD

Πρωτότυπος τίτλος: "AMD's random number generator can't generate a 0?" (από BruceEel)

Αρχικό ΆρθροΣυζήτηση HN (109 σχόλια)
TL;DR (Εν Συντομία)

Μια συζήτηση στην κοινότητα του flat assembler αναδεικνύει μια ασυνέπεια στους επεξεργαστές AMD, όπου οι εντολές RDRAND και RDSEED φαίνεται να αδυνατούν να παράγουν την τιμή μηδέν (0) σε συγκεκριμένα μεγέθη καταχωρητών. Το ζήτημα εγείρει ερωτήματα σχετικά με την αξιοπιστία του hardware-based entropy και την ποιότητα των ενσωματωμένων γεννητριών τυχαίων αριθμών.

📌 Κύρια Σημεία & Συμπεράσματα

  • Παρατηρήθηκε ότι οι επεξεργαστές AMD ενδέχεται να μην παράγουν ποτέ την τιμή 0 κατά τη χρήση των RDRAND/RDSEED σε 16-bit εύρος, σε αντίθεση με τους αντίστοιχους Intel.
  • Το πρόβλημα φαίνεται να περιορίζεται στο 16-bit output, ενώ η χρήση 32-bit ή 64-bit καταχωρητών επιτρέπει την εμφάνιση του μηδενός στα χαμηλότερα bits.
  • Η κοινότητα επισημαίνει τους κινδύνους της απόλυτης εμπιστοσύνης σε hardware-accelerated crypto, προτείνοντας τον συνδυασμό πολλαπλών πηγών εντροπίας για κρυπτογραφικές εφαρμογές.
  • Η έλλειψη διαφάνειας και η δυσκολία επικοινωνίας με τους κατασκευαστές για τέτοια low-level ζητήματα παραμένουν σημαντικά εμπόδια για τους μηχανικούς συστημάτων.

Το ζήτημα της παραγωγής τυχαίων αριθμών στο hardware

Η πρόσφατη αναφορά από μέλος της κοινότητας του flat assembler (fasm) φέρνει στο φως μια ενδιαφέρουσα αρχιτεκτονική ιδιαιτερότητα. Κατά τη διάρκεια υλοποίησης εφαρμογών σε assembly, διαπιστώθηκε ότι οι επεξεργαστές AMD (πιθανώς από τη γενιά Zen 2 και μετά) παρουσιάζουν μια στατιστική ανωμαλία: οι εντολές RDRAND και RDSEED αποτυγχάνουν να παράγουν την τιμή 0 όταν το ζητούμενο μέγεθος είναι 16-bit. Αντίθετα, οι επεξεργαστές Intel εμφανίζουν κανονική κατανομή, συμπεριλαμβανομένου του μηδενός.

Τεχνικές προεκτάσεις και workaround

Ο ερευνητής διαπίστωσε ότι το πρόβλημα δεν είναι απόλυτο, καθώς η ανάγνωση σε 32-bit ή 64-bit καταχωρητές επιτρέπει την εμφάνιση του μηδενός στα χαμηλότερα bits. Αυτό υποδηλώνει ότι το ζήτημα ενδέχεται να εντοπίζεται στη λογική του post-processing ή του masking που εφαρμόζει το hardware πριν την επιστροφή της τιμής στον καταχωρητή.

Η σημασία της εμπιστοσύνης στο hardware

Η συζήτηση επεκτάθηκε γρήγορα στη φιλοσοφία του "trusted hardware". Πολλοί μηχανικοί υποστηρίζουν ότι η χρήση hardware-based entropy χωρίς επιπλέον επίπεδα μίξης (mixing) από software πηγές εντροπίας αποτελεί ρίσκο. Σε κρυπτογραφικές εφαρμογές, η εξάρτηση αποκλειστικά από μια εντολή CPU θεωρείται επισφαλής, καθώς τυχόν flaws στην υλοποίηση του hardware (όπως το προαναφερθέν bias) μπορούν να μειώσουν δραματικά τον χώρο αναζήτησης σε επιθέσεις brute force.

Συμπεράσματα για την ανάπτυξη συστημάτων

Το περιστατικό υπογραμμίζει την ανάγκη για ενδελεχή έλεγχο (validation) των low-level primitives που χρησιμοποιούμε. Αν και η AMD δεν έχει δώσει ακόμη επίσημη τεχνική εξήγηση, η κοινότητα προτείνει την υιοθέτηση αμυντικών πρακτικών: ποτέ μην εμπιστεύεστε τυφλά μια μεμονωμένη πηγή εντροπίας, ειδικά όταν αυτή προέρχεται από κλειστά κυκλώματα hardware.

Ετικέτες:#Assembly#AMD#Hardware#Security#RDRAND
GitHub Gems & Trends

Ανακαλύψτε καινοτόμα open-source εργαλεία και κρυμμένα διαμάντια ανοιχτού κώδικα.

Εξερεύνηση Gems

Διαβάστε επίσης