[GreekLUG] Εργασία για την Intel Management Engine, την εμπιστοσύνη και την Κυβερνοασφάλεια (Αγγλικά)

Apo11o mail στο apo11o.net
Δευ 19 Φεβ 2024 17:57:16 EET


@karamelos
Τα κυκλώματα ARM της Apple δεν έχουν αντίστοιχο υποσύστημα. Παλαιότερα, όταν τα Mac έτρεχαν σε Intel η Apple απενεργοποιούσε τα κομμάτια του IME που δεν ήταν αναγκαία για attack surface reduction. Γενικά η Apple είναι εξαιρετική όσον αφορά την ασφάλεια υλισμικού, ίσως μόνον η Google να είναι καλύτερη σε αυτόν τον τομέα. Για περισσότερες λεπτομέρειες δες: https://help.apple.com/pdf/security/en_US/apple-platform-security-guide.pdf

@nparafe
Για να το πω ευγενικά, έχω πρόβλημα με τέτοιου τύπου δημοσιεύσεις. Η ανάλυση που κάνεις είναι κατά βάση ιδεολογική και σχεδόν καθόλου τεχνική. Έχω κουραστεί να ακούω πως "ασφαλείς υπολογιστές" είναι μόνο τα προ-δεκαετίας Thinkpads με Coreboot επειδή και καλά τρέχουν "100%" ελεύθερο λογισμικό. Κάθε άλλο μάλλιστα, τέτοια Thinkpads είναι το ότι χειρότερο από άποψη ασφάλειας. Γενικά, η ασφάλεια (και εμπιστευσιμότητα) ενός συστήματος είναι συνάρτηση πολύ περισσότερων παραγώντων.

Το ότι οι επεξεργαστές x86/IME είναι για τα μπάζα το γνωρίζουμε εδώ και καιρό... Μας τα έχουν πει ο Hennessy και η Rutkowska μεταξύ άλλων. Αλλά να θεωρούμε πως το πρόβλημα είναι απλώς το ότι η Intel δεν έχει ανεβάσει το Verilog σε κάποιο git repo είναι για γέλια. Το x86 είναι σύστημα που κοντεύει 50 χρόνια. Συνεπώς έχει τεράστιο φόρτο legacy, μεταξύ άλλων bootάρει σε 16-bit compatibility mode, χρησιμοποιεί μικροκώδικα ενώ εσωτερικά μετατρέπει τις εντολές σε RISC, επιτρέπει στο UEFI να interruptάρει το λειτουργικό, και μέχρι το Haswell (όταν εισήχθη το Intel Boot Guard) το Secure Boot ήταν θέατρο.

Παρ' όλ' αυτά, το πρόβλημα με την εμπιστευσιμότητα του υλισμικού δεν βρίσκεται (μόνο) στα παραπάνω. Ας πάρουμε για παράδειγμα την πλατφόρμα που προτείνεις στο τέλος, δηλαδή Thinkpad με GNU Boot:

- Firmware δεν τρέχει μόνο στο επίπεδο του UEFI αλλά και στο επίπεδο όλων των περιφερειακών (Modems, SSDs, USB Controller, ...). Αυτά τα περιφερειακά έχουν άμεση πρόσβαση σε ΟΛΗ την μνήμη του επεξεργαστή μέσω DMA επειδή η πλακέτα δεν έχει IOMMU. Σύγκρινέ το τώρα αυτό με το γεγονός πως το IME έχει πρόσβαση σε μόνο μία μικρή περιοχή της μνήμης.

- Επειδή η πλατφόρμα είναι προ-δεκαετίας κανένα από τα παραπάνω firmware δεν λαμβάνει ενημερώσεις ασφαλείας. Αυτό σημαίνει πως οποιοδήποτε bug πχ στο USB stack (καθαρά στο επίπεδο του λογισμικού) μπορεί να επεκταθεί στο υλισμικό. Με άλλα λόγια και να επαναεγκαταστήσεις το λειτουργικό, ο υιός συνεχίζει να ζει και να βασιλεύει στο flash του USB controller και κάνει τσάρκα ανενόχλητος στη μνήμη του επεξεργαστή.

- Εχεις απενεργοποιήσει τον Boot Guard (λόγω απενεργοποίησης IME) άρα δεν υπάρχει πια αμετάβλητη ρίζα εμπιστοσύνης (immutable root of trust), ακόμα κι αν χρησιμοποιείς το TPM. Με άλλα λόγια δεν μπορείς καν να γνωρίζεις αν έχεις rootkit επειδή το υλισμικό δεν μπορεί να επαληθεύσει την εικόνα του συστήματος.

- Το TPM είναι χρήσιμο αλλά δεν συγκρίνεται σε καμία περίπτωση με πραγματικούς συνεπεξεργαστές ασφαλείας, όπως έχουν τα Pixels και τα iPhones. Επίσης δεν αρκεί για να επαληθεύσει την εικόνα του συστήματος μιας και στις πλατφόρμες x86/UEFI δίχως Boot Guard είναι το ίδιο το firmware που επικοινωνεί τις μετρήσεις στο TPM.

- Με το GNU Boot (και γενικά οτιδήποτε """free""") είσαι ήδη δύο εκδοχές downstream (Coreboot -> Libreboot -> GNU Boot). Καλή τύχη να λάβεις ενημερώσεις ασφαλείας στην ώρα τους. Παρεμπιπτόντως, σκέφτηκες ποτέ αν υπάρχει λόγος που τα Coreboot και το Libreboot ενσωματούν non-free blobs; Ίσως επειδή θέλουν να υποστηρίξουν και λίγο πιο σύγχρονες και ασφαλείς πλατφόρμες;

Στην άλλη όχθη τώρα, για παράδειγμα πραγματικής ασφάλειας και εμπιστευσιμότητας, πάρε το Pixel 8:

- συνεπεξεργαστής ασφαλείας Titan M που βασίζεται σχεδόν εξ ολοκλήρου στο OpenTitan (ανοιχτό υλισμικό) και ελέγχεται διεξοδικά ακόμα και για παρεμβολές

- το TrustyOS, δηλαδή το TEE firmware είναι πλήρως ανοιχτό και πολύ απλούστερο των UEFI/Coreboot/κτλ

- ορθή υλοποίηση του Android Verified Boot (η οποία είναι επίσης ασφελέστερη και πολύ απλούστερη από αντίστοιχες υλοποιήσεις Secure Boot)

- IOMMU υψηλής ποιότητας που διαχωρίζει σωστά την μνήμη του επεξεργαστή από όλα τα περιφερειακά

- Memory-Tagging, just saying

- σου επιτρέπει να αλλάξεις το λειτουργικό της συσκευής δίχως hacks ή jailbreaks, και συνεπώς να διατηρήσεις όλες τις προαναφερθέντες δικλίδες ασφαλείας · γι'αυτό και συστήματα όπως το GrapheneOS το έχουν επιλέξει

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

(δικές μου γνώμες, όχι του GreekLUG)-------- Αρχικό Μήνυμα --------
Την 18 Φεβ 2024, 10:18, Panagiotis Groidis έγραψε:

> Τέλειο! Μπραβο. Με τα Mac τι γινεται ; Φαντάζομαι έχουν κάτι ανάλογο όπως intel και amd ? > On 17 Feb 2024, at 22:42, Nikos Parafestas  wrote: > > Καλησπέρα, > στον σύνδεσμο υπάρχει η σχετική με το θέμα εργασία. > > https://totsipaki.net/ikiwiki/nparafe/posts_en/posts/Black_Box_Inside___40__our_computers__41____33__/ > GreekLUG mailing list > > greeklug στο greeklug.gr > > https://lists.greeklug.gr/mailman/listinfo/greeklug > > ---------------------------------------- > > Το μη κερδοσκοπικό Σωματείο/Σύλλογος GreekLUG δεν φέρει καμία ευθύνη για το περιεχόμενο του παρόντος e-mail το οποίο εκφράζει μόνο τις απόψεις του συγγραφέα. GreekLUG mailing list greeklug στο greeklug.gr https://lists.greeklug.gr/mailman/listinfo/greeklug ---------------------------------------- Το μη κερδοσκοπικό Σωματείο/Σύλλογος GreekLUG δεν φέρει καμία ευθύνη για το περιεχόμενο του παρόντος e-mail το οποίο εκφράζει μόνο τις απόψεις του συγγραφέα.
-------------- επόμενο μέρος --------------
Ένα συνημένο HTML καθαρίστηκε...
URL: <http://lists.greeklug.gr/pipermail/greeklug/attachments/20240219/e93f2946/attachment.htm>


Περισσότερες πληροφορίες για την GreekLUG λίστα ηλεκτρονικού ταχυδρομείου