Tanzmusikus schrieb:
Ich konnte die BIOS-Versionen verändern, indem ich bestimmte Option-ROMs entfernt, ausgetauscht oder hinzugefügt habe.
Na, BIOS früher zu verändern ist ja auch bisschen was anderes.
Das kann man theoretisch heute auch noch. Wenn man weiß wie!
Ich bin im übrigen bei meinem Beitrag von dem ursprünglichen Context ausgegangen, der hier angespielt wurde, dass man ja einfach µCode-Updates auf die CPU laden kann, nicht dass man das µCode-Blob im BIOS austauscht. Daher da auch mein Ja und Nein.
Tanzmusikus schrieb:
Meinst Du vielleicht die Checksumme vom gesamten BIOS ... bzw. im einzelnen µCode für jeden Prozessor?
Kommt jetzt darauf an. Ich weiß das jede Signatur eine Checksumme ist, aber nicht jede Checksumme ist eine Signatur.
Ich meine in dem Fall aber nicht die Checksummen perse, sondern die signierten µCode-Blobs. Gut ich muss dazu schreiben, dass ich jetzt nicht weiß, wie Intel damals vorgegangen ist bei den µCode-Blobs und wie sie diese geprüft haben. Ich hoffe gerade inständig, dass sie damals nicht nur Prüfsummen geprüft haben und dann ab die Lutzi, das wäre ja fatal!
Tanzmusikus schrieb:
Selbst wenn, diese Signatur wird man mit dem Hex-Editor sicherlich sehr genau ausfindig machen können, gerade, da sie immer gleich sein muss, um erkannt zu werden.
Also, eine Signatur die mit einem entsprechenden Schlüssel erstellt wird, die bearbeitest du nicht so einfach mit einem Hexeditor. Wenn du das schaffst, echt Hut ab! Dann würde ich dir hier sofort einen Arbeitsvertrag schicken, weil dann brauch ich dich hier!
Eine Signatur muss nicht immer gleich sein um erkannt zu werden - zumindest jetzt nicht, wenn ich dich richtig verstehe. Eine Signatur dient dazu um die Echtheit eines Dokumentes zu prüfen und natürlich darf sich die Signatur auch ändern und sie muss sich sogar für jedes Dokument ändern.
Eine Signatur - jetzt stark vereinfacht - erstellst du in dem Fall in dem du erst mal eine Checksumme/Prüfsumme des Blobs erstellst und dann diese Prüfsumme mit deinem Schlüssel "verschlüsselst" und dann anhängst. Die Gegenseite trennt nun erst mal die Signatur vom Blob und errechnet dann die Prüfsumme des Blobs und mit dem eigenen Schlüsse wird die Signatur entschlüsselt und dann die Prüfsummen verglichen. Wenn nun ein Bösewicht den Blob änderte, dann merkt man das an der Stelle, weil die Prüfsummen nicht mehr stimmen.
Du kannst versuchen die Signatur per Hex-Editor anzupassen, aber solange du den Schlüssel nicht hast, mit dem die Signatur erstellt wurde, dürfte dir das schwer fallen.
Tanzmusikus schrieb:
Eine BIOS-Checksumme kann man bei älteren Boards relativ leicht anpassen, wenn man weiß wie.
Ja, das kann man, sofern es einfache MD5, SHA1 und Co Prüfsummen waren, die nicht signiert wurden. Bei signierten Prüfsummen sieht das anders aus.
Tanzmusikus schrieb:
Was zunehmend immer mehr passiert ist, dass ein BIOS/UEFI-Update sehr stark vor Veränderung abgesichert wird. Es werden also längere "Checksummen" bzw. aufwändigere Sicherungsmethoden angewandt.
Ja, die Verfahren für die Checksummen werden aufwendiger, aber Checksummen alleine kann man ja anpassen. Sobald man den Hash-Algorithmus kennt, der die Checksumme berechnet, ist quasi der Vergleich alleine verloren.
Es gibt halt zwei Methoden, die man hier anwenden kann: Man verschlüsselt den Blob als ganzes oder man verwendet eben eine digitale Signatur, die die Checksumme des eigentlichen Blobs verschlüsselt. Deswegen gibt es ja in Zen die eine ARM-Enklave, die dafür zuständig ist. AMD hat in dem ARM-Chip verschiedene Schlüssel hinterlegt, mit denen man entweder den Blob als ganzes oder eben die Checksumme entschlüsselt und dann prüfen kann.
Ich gehe sogar davon aus, dass AMD in Zen nicht den Blob als ganzes Verschlüssselt, sondern nur die Checksumme, weil das dann viel schneller geht.
Ebenso wird AMD vermutlich auf RSA-Schlüsselpaare setzten, weil man dann zwar die "öffentlichen" Schlüsse in der CPU gerne auslesen kann, aber damit nicht viel anfangen kann. Der Primärschlüssel wird AMD - hoffentlich - gut abgelegt gespeichert haben und nur rausholen, wenn er benötigt wird, am besten auf Hardwaretokens die irgendwo unter Verschluss sind.