Forscher des Horst-Görtz-Instituts für IT-Sicherheit an der Ruhr-Universität Bochum und des Max-Planck-Instituts für Cybersicherheit und Schutz der Privatsphäre haben in einer gemeinsamen Forschungsarbeit die Sicherheitslücke „StarBleed“ in FPGAs identifiziert. Über die Schwachstelle können Angreifer die komplette Kontrolle über die Chips und ihre Funktionalitäten erhalten.
Da die Sicherheitslücke integraler Bestandteil der Hardware ist, lässt sich das Sicherheitsrisiko nur durch Austauschen der Chips beheben. Der Hersteller wurde informiert und hat bereits reagiert. Ihre Ergebnisse stellen die Forscher online bereit.
Bitstream entschlüsselt
FPGA-Chips sind heutzutage in vielen sicherheitskritischen Anwendungen zu finden, angefangen bei Cloud-Rechenzentren über Mobilfunk-Basisstationen bis hin zu verschlüsselten USB-Sticks und Industriesteueranlagen. Ihr entscheidender Vorteil liegt in ihrer individuellen Anpassung im Vergleich zu herkömmlichen Computerchips mit speziellen Funktionalitäten.
Das ist möglich, weil die Grundbausteine von FPGAs und deren Verbindungen flexibel programmiert werden können. Gewöhnliche Computerchips sind hingegen fest verdrahtet und dadurch eher unflexibel.
Dreh- und Angelpunkt bei FPGAs ist der Bitstream, eine spezielle Datei, mit deren Hilfe sich der FPGA anpassen beziehungsweise neu konfigurieren lässt. Um ihn vor Angriffen adäquat zu schützen, wird der Bitstream durch Verschlüsselungsverfahren abgesichert. Dr. Amir Moradi und Maik Ender vom Horst-Görtz-Institut gelang es in Kooperation mit Prof. Dr. Christof Paar vom Bochumer Max-Planck-Institut, diesen geschützten Bitstream zu entschlüsseln, sich Zugriff auf den Dateiinhalt zu verschaffen und zu verändern.
Marktführer betroffen
Im Rahmen ihrer Forschung analysierten die Wissenschaftler FPGAs von Xilinx, einem der beiden Marktführer von Field Programmable Gate Arrays. Konkret von der StarBleed-Sicherheitslücke betroffen ist die 7er-Serie mit den vier FPGA-Familien Spartan, Artix, Kintex und Virtex sowie die Vorgängerversion Virtex-6. Diese bilden einen Großteil der heute im Einsatz befindlichen Xilinx-FPGAs.
„Der Konzern wurde über die vorhandene Schwachstelle informiert“, berichtet Moradi. „In den neuesten Serien des Herstellers tritt diese Sicherheitslücke mit großer Wahrscheinlichkeit nicht auf.“ Zudem will Xilinx auf seiner Website Informationen für betroffene Kunden veröffentlichen.
Vorteil der Chips wird zum Nachteil
Um die Verschlüsselung auszuhebeln, machte sich das Forscherteam die zentrale Eigenschaft der FPGAs zu Nutze: die Möglichkeit der Neuprogrammierung. Hierzu erfolgt ein Update im FPGA selbst, das sich letztlich als Schwachstelle und Einfallstor offenbarte. Denn die Wissenschaftler konnten im Rahmen des Update-Vorgangs zur Reprogrammierung des FPGAs den eigentlich verschlüsselten Bitstream so manipulieren, dass sich sein nun entschlüsselter Inhalt in das Konfigurationsregister WBSTAR des Chips umleiten und nach einem Neustart auslesen ließ.
Der Vorteil der individuellen Neuprogrammierung der Chips verkehrt sich somit in einen Nachteil, wie die Wissenschaftler in ihrer Forschungsarbeit aufzeigen – mit gravierenden Konsequenzen. „Erhält ein Angreifer Zugriff auf den Bitstream, erhält er auch die komplette Kontrolle über den FPGA. Auf dem Chip enthaltene Funktionalitäten können so gestohlen werden“, erklärt Paar vom MPI.
Ebenfalls sei es durch Manipulation des Bitstreams möglich, Trojaner in den FPGA einzuschleusen. Paar: „Da sich die Sicherheitslücke in der Hardware selbst befindet, lässt sie sich nur schließen, indem der Chip ausgetauscht wird. Es ist zwar detailliertes Fachwissen notwendig, jedoch kann ein Angriff auch aus der Ferne erfolgen, der Angreifer muss nicht einmal vor Ort sein.“
Die Sicherheitsforscher stellen die Ergebnisse ihrer Arbeit auf dem Usenix-Security-Symposium vor, das im August 2020 in Boston, USA, stattfinden soll.
Kommentar zu der gefundenen Schwachstelle
Zu den Forschungsergebnissen hat sich auch Sammy Migues, Principal Scientist bei Synopsys, in einem Kommentar geäußert. Ein Auszug daraus:
Was es zu verstehen gilt, ist der Unterschied zwischen dem, was ein FPGA ist, und dem, was ein FPGA tut. Während wir einem FPGA sagen können: „Sei ein Toaster!“, ist ein FPGA selbst ein Gerät mit bestimmten, nur ihm eigenen Eigenschaften. Eine dieser Eigenschaften ist die Fähigkeit, feldprogrammierbar zu sein. Sie ermöglicht es FPGAs, eine bestimmte Art von Schaltung zu werden.
Grundsätzlich ist das ein großer Vorteil, der sich aber unter bestimmten Voraussetzungen in einen Nachteil verwandeln kann. Dann nämlich, wenn es einem Angreifer gelingt, physisch auf ein FPGA zuzugreifen und die ursprüngliche Programmierung zu manipulieren. Das FPGA erfüllt dann nicht mehr seine ursprüngliche Funktion, sondern setzt die Absichten eines Angreifers um. Am Beispiel unseres Toasters wird dieser möglicherweise überhitzen.
Eine Schwachstelle, die genau das zulässt, haben Forscher kürzlich in einer Reihe von FPGAs entdeckt. Aufgrund dessen, wie FPGAs beschaffen sind, kann ein Hersteller nicht einfach einen „Patch-Dienstag" ausschreiben und IT-Teams damit die Gelegenheit geben, die Schwachstelle zu beheben. Tatsächlich ist es nicht einmal möglich, die Geräte lokal von einem Hardware-Experten reparieren zu lassen.
Die Natur der Schwachstelle ist so beschaffen, dass die Geräte zwangsläufig ersetzt werden müssen. Das ist immens aufwendig und kostet viel Zeit. In der Zwischenzeit sollten alle, die von dieser Schwachstelle betroffen sind, sicherstellen, dass die physischen Sicherheitsvorkehrungen denjenigen entsprechen, mit denen FPGAs innerhalb der betreffenden Umgebung in Berührung kommen, überwacht oder in irgendeiner anderen Art und Weise beeinträchtigt werden können.
Langfristig, da bin ich sicher, wird die gesamte FPGA-Design-Branche von den Lehren profitieren, die wir aus diesem Vorfall ziehen können.