Der unsichere Prozessor
Haftungsfragen bei konstruktiven Sicherheitslücken in CPUs
Von Dipl.-Inf. Sebastian Aisch, Hannover | Jens Engberding, LL.M., Wolfsburg
Im Januar 2018 wurde offiziell bekannt gegeben, dass nahezu alle Prozessoren (CPUs) eines sehr bekannten Chipherstellers sowohl im Desktop- als auch im Serverbereich seit 1995 mehrere konstruktive Sicherheitslücken enthalten. Die unter den Namen Meltdown1 und Spectre2 bekannten Sicherheitslücken ermöglichen es potenziellen Angreifern, unberechtigterweise auf prozessfremde Daten zuzugreifen – ein Super-GAU für den betroffenen Chiphersteller. Denn anders als bei softwareseitigen Sicherheitslücken, die durch Anpassung der Software behoben werden können, ist ein Schließen von hardwareseitigen Sicherheitslücken faktisch nicht möglich, da sich die Hardware selbst nicht mehr ändern lässt.
CPUs – eine isolierte Welt
Dem Grunde nach ist die Funktionsweise eines Prozessors recht einfach. Er führt nacheinander entsprechende Maschinenbefehle aus, die in dem Computerprogramm enthalten sind. Sie sorgen dafür, dass das Computerprogramm das macht, was es soll. Die CPU stellt hierbei selber sicher, dass nur diejenigen Daten und Befehle verarbeitet werden, für die das jeweilige Computerprogramm auch die notwendigen Berechtigungen hat. Basierend auf diesen Berechtigungen wird es möglich, nacheinander Maschinenbefehle verschiedener Computerprogramme auszuführen, ohne dass diese sich gegenseitig manipulieren können. Die Computerprogramme sind quasi von dem Rest des Computersystems isoliert. Es wird so der Eindruck erweckt, dass verschiedene Computerprogramme gleichzeitig auf einer CPU ausgeführt werden (Stichwort Multitasking), wodurch bspw. auch der Betrieb von virtuellen Maschinen3 überhaupt erst möglich wird.
Seit den 1990er-Jahren weisen nahezu alle Prozessoren eine Funktion auf, die sich „Out-of-order-Execution“ nennt. Sie soll die Auslastung des Prozessors verbessern und somit die Leistungsfähigkeit erhöhen, indem die CPU auf Verdacht bereits Maschinenbefehle ausführt und dabei Daten lädt und verarbeitet. Fehlt die notwendige Berechtigung zum Ausführen des jeweiligen Maschinenbefehls, so wird das Ergebnis im nächsten Schritt verworfen – so, als ob die Ausführung dieses Maschinenbefehls niemals stattgefunden hat. Damit stellt der Prozessor selber auf Hardwareebene die Isolation der Computerprogramme sicher, da die Ergebnisse der ohne Berechtigung stattgefundenen Berechnungen nicht weiterverarbeitet werden.
Die Lücke in der Isolation
Doch genau hier besteht das Problem. Die unter Meltdown und Spectre bekannten Sicherheitslücken erlauben es, den Prozessor dazu zu bringen, den spekulativ ausgeführten Maschinenbefehl und die geladenen und verarbeiteten Daten nicht wie ursprünglich vorgesehen zu verwerfen, sondern für einen kurzen Augenblick im Prozessorspeicher vorzuhalten4. Dieser kurze Augenblick jedoch genügt, damit unautorisierte Prozesse auf diese Daten zugreifen können.
Das führt dazu, dass sowohl die Trennung zwischen Anwendungsprogramm und Betriebssystem (Meltdown) einerseits als auch die Trennung zwischen verschiedenen Anwendungsprogrammen (Spectre) andererseits aufgebrochen wird und das fundamentale Isolationsprinzip auf Hardwareebene nicht mehr greift. Eine auf dem Computersystem mit diesen Sicherheitslücken ausgeführte Schadsoftware kann nicht nur Daten anderer Programme unberechtigterweise auslesen, sondern auch jene Daten, die eigentlich durch das jeweilige Betriebssystem selber vor widerrechtlichem Zugriff geschützt sein sollten. Weder der heimische PC, die Workstation im Büro noch der Betrieb von virtuellen Maschinen auf Großrechenanlagen ist ohne funktionierendes Isolationsprinzip sicher möglich. Da das Problem hardwareseitig besteht, sind auch alle Betriebssysteme wie Windows, MacOS und Linux uneingeschränkt davon betroffen.
Wie man versucht, die Lücke zu schließen …
Da es sich um eine hardwareseitige Sicherheitslücke handelt, ist ein Schließen dieser Lücke faktisch nicht möglich, ohne den Prozessor zu ändern. Ein „Reparieren“ des Prozessorchips scheidet allein aufgrund der Machbarkeit jedoch aus. Damit bleibt nur der Weg, die hardwareseitige Sicherheitslücke mit Hilfe von Software-Updates zu beheben.
Die Software-Updates sollen dabei durch Änderung der Betriebssystemsoftware und insbesondere der Browsersoftware verhindern, dass die Sicherheitslücken durch Schadprogramme, die bspw. via Java Script über den Browser ausgeführt werden, ausgenutzt werden können.
… und wie sich das auswirkt
Bedingt durch den Fehler in der Architektur des Prozessorchips selber geht das Schließen der Sicherheitslücke mit einer erhöhten CPU- Last einher, da bei der Behandlung der auf Verdacht ausgeführten Maschinenbefehle zusätzliche Mechanismen implementiert wurden, die das Isolationsprinzip wieder herstellen sollen.
In typischen Büroszenarien liegt die Leistungsminderung bei weniger als 6 %, bei etwas komplexeren Anwendungsszenarien auch mal bei ca. 10 %5. Dies kann aufgrund der Tatsache, dass in herkömmlichen Anwendungsszenarien eine CPU eines Rechners nie ganz ausgenutzt wird, sicherlich verschmerzt werden.
Kritischer sieht es hingegen bei Großrechenanlagen von Cloud-Anbietern und Serverfarmen aus. Durch die stärkere Auslastung mit I/O-Operationen sind Serveranlagen von den Software-Updates deutlich stärker betroffen. So zeigen einige Großrechenanlage bis zu 50 % mehr CPU-Auslastung und eine um 45 % erhöhte Latenz6. Für all jene Unternehmen, die mit Großrechenanlagen Geld verdienen möchten und die Anschaffung und Investitionen entsprechend der Auslastung betriebswirtschaftlich kalkuliert haben, sind derartige Einbußen jedoch sehr schmerzlich. Aber auch Unternehmen, die ihre IT-Anlagen entsprechend dimensioniert ausgelegt haben, können unter Umständen dazu gezwungen werden, aufgrund dieser Sicherheitslücken und deren Softwarepatches weitere Hardware anzuschaffen.
Haftungsfragen – „In a nutshell“
Welche Rechte nun denjenigen zustehen, die ein von Sicherheitslücken betroffenes IT-System erhalten haben, richtet sich zunächst nach dem jeweiligen Vertrag. Mit Blick auf das Kaufrecht dürfte es unzweifelhaft sein, dass ein von einer Sicherheitslücke betroffenes System einen Mangel aufweist, da angesichts der Notwendigkeit eines Software-Updates, um die nach dem Stand der Technik erforderlichen Sicherheitsanforderungen zu erfüllen, eine negative Abweichung von der objektiv zu erwartenden Beschaffenheit aufweist. Dabei kommt es auch nicht darauf an, dass Sicherheitslücken ggf. erst aufgrund gewonnener technischer Erkenntnisse bemerkt worden sind. Entscheidend ist allein, dass eine Sicherheitslücke – im Zeitpunkt der Übergabe des Systems – vorgelegen hat, unabhängig davon, ob sie erkennbar gewesen ist.
Bei Vorliegen eines Mangels kann der Käufer innerhalb der gesetzlichen Gewährleistungsfrist, die in der Regel 2 Jahre beträgt, zunächst Nacherfüllung, das heißt nach seiner Wahl die Beseitigung des Mangels oder die Lieferung eines mangelfreien Systems verlangen. Ist der Käufer Unternehmer, so ist die Nachlieferung für ihn allerdings weniger attraktiv als die Nachbesserung, da er dem Verkäufer unter Umständen Wertersatz für die bisher gezogenen Nutzungen, d. h. Gebrauchsvorteile, leisten muss. Darüber hinaus dürfte die Nachlieferung eines neuen Systems im Vergleich zur Nachbesserung mittels Software-Updates unverhältnismäßig sein, mit der Folge, dass der Verkäufer die Nachlieferung eines neuen Systems verweigern kann.
Die weiteren dem Käufer zustehenden Mängelrechte, insbesondere das Rücktrittsrecht, setzen voraus, dass der Käufer dem Verkäufer zuvor erfolglos eine angemessene Frist zur Nacherfüllung gesetzt hat. Diese Voraussetzung ist u. a. dann nicht gegeben, wenn die Nacherfüllung für den Käufer unzumutbar ist. Ob die Nacherfüllung unzumutbar ist, beurteilt sich allein aus dem Blickwinkel des Käufers. Die Judikatur hat im Zusammenhang mit dem Dieselskandal hierzulande teilweise vertreten, dass eine Nachbesserung deshalb unzumutbar sei, wenn der Käufer die begründete Befürchtung hegen durfte, dass die Nachbesserung, hier also das Software-Update, zu Folgemängeln führen könnte. Es genügt nämlich grundsätzlich nicht, einen Mangel zu beheben, wenn dafür ein anderer Mangel entsteht.
Der Folgemangel
Die durch das Software-Update verursachten Leistungseinbrüche stellen einen solchen Folgemangel dar, sodass insofern ein Indiz für die Unzumutbarkeit der Nacherfüllung besteht. Gleichwohl berechtigt nicht jeder Mangel zum Rücktritt von einem Vertrag. Das Rücktrittsrecht ist trotz Vorliegen eines Sachmangels zumindest dann ausgeschlossen, wenn der Mangel als unerheblich anzusehen ist.
Diese Feststellung erfordert eine umfassende Interessenabwägung. In der Rechtsprechung hat sich im Zusammenhang mit den für die Nacherfüllung erforderlichen Aufwendungen eine Erheblichlichkeitsschwelle von 5 % etabliert. Übertragen auf die durch das Software-Update verursachten Leistungseinbrüche lässt sich somit vertreten, dass Leistungseinbrüche bis zu 5 % für den Käufer hinzunehmen sind. Leistungseinbrüche darüber hinaus dürften jedoch nicht mehr als bloß unerheblich anzusehen sein und den Käufer innerhalb der gesetzlichen Gewährleistungsfrist zum Rücktritt vom Kaufvertrag berechtigen.
IT-Leasing
Sofern IT-Systeme nur für eine vertraglich bestimmte Zeit gegen Entgelt überlassen werden, findet hingegen das Mietrecht Anwendung. Im Falle des Vorliegens von Mängeln an den Systemen, wobei der Mangelbegriff aus dem Mietrecht letztlich dem des Kaufrechts entspricht, ergibt sich eine mietrechtliche Besonderheit. Der Vermieter muss den Mietgegenstand nämlich unabhängig etwaiger Gewährleistungsfristen während der gesamten Dauer der vertraglich vereinbarten Überlassung in einem mangelfreien Zustand halten. Ändern sich ggf. aufgrund gewonnener technischer Erkenntnisse die Sicherheitsanforderungen an ein IT-System, so hat der Vermieter diesen Zustand (unverzüglich) herzustellen.
Beim Vorliegen eines Mangels ist es folglich so, dass während des Vorliegens des Mangels für den Mieter ein gesetzliches Minderungsrecht besteht, wobei die Miete sogar kraft Gesetzes gemindert ist, ohne dass es also einer gesonderten Aufforderung des Mieters bedarf. Eine Rechtsprechung, die im IT-Bereich für die unterschiedlichen Mängel differenzierte Minderungsquoten entwickelt hat, fehlt jedoch noch fast vollständig. In aller Regel dürfte es in der Praxis aber weniger um Minderungen als um die Möglichkeit vorzeitiger Kündigungen gehen.
Neben dem Minderungsrecht besteht wie im Kaufrecht ein Anspruch auf Mängelbeseitigung. Werden erhebliche Mängel bzw. erhebliche Folgemängel nicht beseitigt, steht dem Mieter darüber hinaus ein Kündigungsrecht zu.
Ferner könnten sich für den Überlasser eines von den Sicherheitslücken betroffenen IT-Systems sog. Leistungssicherungspflichten ergeben, die als ultima ratio unabhängig des Vorliegens gesetzlicher Mängelrechte bestehen. Voraussetzung hierfür sind jedoch einerseits außergewöhnlich hohe Aufwendungen für die Beschaffung des Systems und andererseits das hierdurch vergütete Vertrauen des Kunden in den Erhalt des Systems bzw. dessen Anpassung an den Stand der Technik. Das Bestehen von Leistungssicherungspflichten dürfte in Bezug auf Hardware die Ausnahme darstellen. Selbst wenn diese aber ausnahmsweise anzunehmen sein sollten, so richtet sich der Anspruch nur auf Beseitigung des Mangels gegen Vergütung. Einem nachgelagerten unentgeltlichen Gewährleistungsanspruch kommen Leistungssicherungspflichten somit nicht gleich.
Fazit
All die vorgenannten Ansprüche richten sich ausschließlich gegen den jeweiligen Vertragspartner des Käufers bzw. Mieters. Mangels Vorliegens eines Unrechtstatbestandes dürften unmittelbar gegen die Hersteller der IT-Systeme gerichtete Ansprüche ohnehin nicht bestehen. Unter Umständen können sich jedoch die Verkäufer bzw. Vermieter in Form des sog. Herstellerregresses für in ihrer Person zu erbringende Leistungen bei den Herstellern schadlos halten.
Festzuhalten bleibt somit, dass Sicherheitslücken, selbst wenn diese lange unerkannt gewesen sind, einen Mangel an einem IT-System darstellen und entsprechende Rechte für Käufer oder Mieter dieser Systeme begründen können. Sofern die Nacherfüllung sog. Folgemängel nach sich zieht, wie in der Form von Leistungseinbrüchen, können unter Umständen sogar ohne die vorherige Forderung nach Nacherfüllung der Rücktritt bzw. die Kündigung erklärt werden. Dies dürfte jedenfalls bei Leistungseinbrüchen von mehr als 5 % der Fall sein. Entsprechende Rechtsprechung hierzu existiert indes noch nicht.
1 Schwachstelle CVE-2017-5754
2 Schwachstellen CVE-2017-5715, CVE-2017-5753
3 Eine Virtuelle Maschine wird auf einem Computersystem neben anderen Virtuellen Maschinen ausgeführt, ohne dass diese sich gegenseitig
„sehen“ können. Eine zwischen der Hardware des Computersystems und der jeweiligen Virtuellen Maschine liegenden Virtualisierungsschicht bildet die Hardware des Computersystems in Software ab und täuscht so jeder Virtuellen Maschine einen exklusiven Zugriff auf die Hardware vor.
4 Meltdown and Spectre – Informationswebsite
5 ZDNet: Meltdown/Spectre-Patches lassen die Performance um bis zu 21 Prozent einbrechen
6 ZDNet: So wirken sich Spectre und Meltdown bei AWS aus
Illustration: Fotolia/kras99