Kategorien: Embedded Security
ExProtector
Die Welt ist im Wandel – immer häufiger werden kleine, vernetzte Computersysteme in unserem Alltag eingesetzt. Sie verdrängen in allen technischen Bereichen des täglichen Lebens sowie in der Industrie die alten proprietären Insellösungen. Wibu-Systems bietet Herstellern und Betreibern einfach zu handhabende Tools, um ihre Systeme und ihr Know-how zu schützen.
Der Markt für Embedded-Systeme wächst kontinuierlich. Viele in der Vergangenheit mit dedizierter Funktionalität ausgeführte Steuerungen werden heute mit leistungsfähigen und universellen Rechnern ausgestattet. Diese Systeme sind eigenständige Computer mit den bekannten Merkmalen eines Desktop PCs. Neben CPU und RAM Speicher gibt es Flash-Speicher, teilweise Displayanschlüsse, Netzwerkanschluss und in der Regel USB Ports. Die Systeme laufen mit abgewandelten Formen der Desktop-Betriebssysteme wie Linux, Windows Embedded oder VxWorks. Nicht zu vergessen Android, das auf immer mehr kleinen Rechnern läuft. Beispiele für Embedded-Systeme sind die Router, die jeder an seinem Internetzugang zu Hause betreibt. Aber auch ein Handy oder Tablet Computer ist ein Embedded Device. Nicht zu vergessen ein modernes Auto mit seinen vielen Steuergeräten. Im industriellen Umfeld fällt einem zunächst die SPS-Steuerung von Maschinen ein. Doch auch Gebäudeleitsysteme, Überwachungskameras, Türantriebe, Ampelsteuerungen, Smartmeter oder die Avionik eines Verkehrsflugzeuges zählen zu den Embedded-Systemen. Sie alle basieren letztlich auf einer derartigen Architektur.
Diese Geräte müssen programmiert, gewartet und in zunehmenden Maße von außen gesteuert und überwacht werden. Die Schnittstellen orientieren sich am bekannten Standard. Lokal erfolgt der Zugriff über USB oder Bluetooth und im Netzwerk sind sie über ihre IP-Adresse via Ethernet, WLAN oder industrielle Feldbusse zu erreichen.
Die Vernetzung dieser Komponenten sowie die Nutzung gängiger Betriebssysteme auf multifunktionalen, leistungsfähigen Plattformen eröffnet eine Reihe von neuen Angriffsvektoren, die auf bisherigen proprietären Inselsystemen ohne Netzwerk oder USB-Anschluss in der Form nicht existiert haben.
Angriffsziele
Ein Angriff hat in der Regel zwei Hauptziele: den Diebstahl oder die Manipulation von Daten. Hauptgeschädigte des Angriffs sind Hersteller oder Betreiber der Anlage oder des Systems. Dabei lässt sich die Motivation für die meisten Angriffe in eine der folgenden vier Kategorien einordnen:
- Diebstahl des Know-hows des Anlagenbauers (Steuerungssoftware, Art der Implementierung, Suche nach Exploits)
- Diebstahl des Know-hows des Anlagenbetreibers (Rezepte, Prozessparameter, Log-dateien)
- Manipulation der Daten durch den Anlagenbetreiber mit dem Ziel Betriebsdaten zu verändern, um Fehlbedienung zu verschleiern, unberechtigt Garantieleistungen in Anspruch zu nehmen oder nutzungsbezogene Abrechnungsmodelle zu verfälschen.
- Sabotage der Anlage durch einen unzufriedenen Mitarbeiter, einen Mitbewerber oder einen Geheimdienst. Als prominentestes Beispiel ist hier Stuxnet zu nennen.
Die Wibu-Systems Protection Suite für PCs und Embedded-Systeme
Die zunehmende Nachfrage der Industries nach starkem Schutz von Programmen und Daten hat Wibu-Systems darin bestärkt, den Schutz durch die Protection Suite in diesem Bereich weiter auszubauen. Im Umfeld klassischer PCs stellen Arbeitsspeicher und Rechenleistung heute keinen Engpass mehr dar. Die Welt der Embedded-Systeme ist jedoch von kleinen, Ressourcen sparenden Architekturen geprägt. Hier spielen auch offene Systeme wie VxWorks, Android oder Linux eine größere Rolle als auf dem Desktop, da sie individuell an die jeweiligen Anforderungen anpassbar sind.
Der AxProtector für den PC und der ExProtector für das Embedded Device sind in der Lage, ein fertiges Programm oder eine Library sicher zu verschlüsseln, ohne dass dafür Änderungen am Programm-Quellcode notwendig sind. Die Entschlüsselung zur Laufzeit sowie die ständige Überwachung gegen mögliche Angriffe übernimmt die CodeMeter Software.
Der AxProtector erzeugt ein verschlüsseltes Archiv mit dem originalen Programm-Quellcode. Erweitert wird dies um eine Selfextraction-Funktion sowie die Lizenzparameter, mit denen die Entschlüsselung durch die CodeMeter Runtime autorisiert wird. Das vergrößert jedes verschlüsselte Programm um einige kByte. Nachdem sich das Archiv beim Programmaufruf autorisiert und entpackt hat, prüft es selbst seine Integrität.
Auf einem PC ist dieser zusätzliche Schritt hinsichtlich der verfügbaren Ressourcen zu vernachlässigen. Ein Embedded-System stellt jedoch höhere Anforderungen an Echtzeitfähigkeit und ist in der Regel mit wesentlich weniger Speicher und Rechenkapazität ausgestattet als ein PC. Daher wurde das AxProtector-Verfahren auf diese besonderen Anforderungen hin optimiert.
Der ExProtector
Ein Programm, eine Library oder ein Daten-file für ein Embedded-System wird mit dem ExProtector verschlüsselt. Die verschlüsselte Datei erhält nur ein paar zusätzliche Bytes mit den für die Entschlüsselung notwendigen Lizenzparametern sowie einen signierten Hash (Prüfsumme) ihrerselbst im Header.
Alle kryptografischen Funktionen befinden sich bereits integriert im Betriebssystem. Auch der Treiber für den Zugriff auf die Lizenzen im CmDongle oder die softwarebasierte CmActLicense befindet sich als nativer Code direkt im Loader des Betriebssystems. Wind River bietet bereits eine komplette Integration des CodeMeter Loaders in VxWorks an. Durch die Möglichkeit der Modifikation des Betriebssystems ist eine Integration in Linux und Android ebenfalls leicht möglich.
Die tiefe Verankerung im Betriebssystem erhöht sowohl die Effizienz als auch die Sicherheit. Der Loader überprüft die Integrität des mit dem ExProtector gesicherten Programms oder der Daten anhand des Hashes und der Signatur, nachdem er es autorisiert und entpackt hat. In Kombination mit Secure Boot-Prozeduren, die sich mit der CodeMeter-Technologie ebenfalls abbilden lassen, erhält man ohne weitere zusätzliche Software ein rundum gegen Kopieren und Manipulation geschütztes System.
KEYnote 27 – Frühjahrsausgabe 2014