FreeSBee

Seitenkanalfreie Software für eingebettete Systeme

Sicherheitslücken in IoT-Systemen können sowohl in priva-ten als auch industriellen Anwendungen zu erheblichen Schäden führen.© Adobe Stock / sdecoret

Motivation

Mit zunehmender Digitalisierung werden immer mehr eingebettete Systeme Teil des „Internet of Things“ (IoT). Diese umfassende Vernetzung von Maschinen, Anlagen und Geräten bietet durch die Verfügbarkeit von verbundenen Daten erhebliche wirtschaftliche Vorteile, wie z. B. Komfort- oder Effizienzsteigerungen. Jedoch wird der breite Einsatz von IoT-Systemen immer noch verhindert, vor allem, weil sie gewisse Sicherheitslücken haben. Eine wichtige Klasse solcher Sicherheitslücken sind die sogenannten Seitenkanalangriffe und hierbei insbesondere die Untergruppe der Rechenzeitangriffe (engl. „timing attacks"). Hierbei werden durch die Analyse von Unterschieden in der Zeitdauer der Ausführung einer bestimmten Operation, Rückschlüsse auf geschützte Informationen gezogen. Laufzeitunterschiede entstehen beispielsweise durch variierende Ladezyklen bei der Nutzung von sogenannten Caches, schnelle Zwischenspeicher, die die durchschnittlichen Zugriffszeiten auf den Hauptspeicher verkürzen. Da neben der Software auch die Hardware datenabhängig Laufzeitunterschiede in der Ausführung hervorruft, sind diese Sicherheitslücken sehr schwer zu erkennen und zu vermeiden.

Ziele und Vorgehen

Ziel des Projektes „Generierung seitenkanalfreier Software für eingebettete Systeme“ (FreeSBee) ist es, eine werkzeuggestützte Methodik zu erforschen, um Schwachstellen basierend auf Timing-Seitenkanälen (teil-)automatisiert zu erkennen und zu beheben. Dazu werden zunächst vertrauliche Informationen, beispielsweise geheime Schlüssel oder Codeabschnitte, im Quellcode per Annotationen markiert, um alle Stellen im Code ausfindig zu machen, die potenziell einen Seitenkanalangriff zur Folge haben können. Im Rahmen der Übersetzung der Software in Maschinensprache werden anschließend härtende Codetransformationen angewendet, damit die Ausführungszeit dieser Codestellen unabhängig von vertraulichen Informationen wird. Als Resultat können somit eine ganze Klasse von Sicherheitslücken in IoT-Systemen verhindert werden.

Innovationen und Perspektiven

Da Software im IoT eine immer entscheidendere Rolle spielt, wird es auch immer wichtiger, sie gegen Seitenkanalangriffe abzusichern. Jedoch stellt dies Entwicklerinnen und Entwickler vor große Herausforderungen, da sie nicht nur detaillierte Kenntnisse über die Software, sondern auch über die Hardware und die eingesetzten Entwicklungswerkzeuge, bspw. den sogenannten Compiler, benötigen. Die im Rahmen des Projekts erforschten Methoden erlauben eine durchgängige Härtung kritischer Codepfade gegen Rechenzeitangriffe unter Berücksichtigung von Hardwareeigenschaften. Insbesondere die Teilautomatisierung der Softwarehärtung ermöglicht, dass in der Entwicklung tätige Personen die neu erarbeitete Lösung einsetzen können, auch wenn sie keine Fachleute für IT-Sicherheit und/oder Hardware sind. Somit werden effektive Werkzeuge zur Eliminierung von Timing-Seitenkanälen für eine breite Gruppe von Nutzerinnen und Nutzern verfügbar. Die Werkzeuge ermöglichen neben dem resultierenden Sicherheitsgewinn auch Effizienzsteigerungen bei der Entwicklung von Software nach dem IoT-Paradigma. Dies stärkt den IT-Standort Deutschland und stärkt die technologische Souveränität.