53109.jpg

Datensicherheit ist heute eine Kernaufgabe beim Design von eingebetteten Systemen. Das gilt umso mehr, wenn die Geräte vernetzt und damit potenziell aus der Ferne angreifbar sind – was heute immer häufiger der Fall ist. Zum Beispiel sind viele Industrieanlagen aus Produktivitätsgründen vernetzt und medizinische Geräte ermöglichen den Zugriff auf Patientendaten. Auch wenn das lokale Umfeld vertauenswürdig ist, können Bedrohungen von der anderen Seite des Globus ausgehen. Dabei kann der Angreifer das verwundbare System auch zufällig oder versehentlich attackieren. Solider Schutz dagegen ist unverzichtbar.

Sicherheitsbedürfnisse

Es gibt heute viele Aspekte der Sicherheit in elektronischen Geräten, die Bedrohungen können Inhalte, das geistige Eigentum oder die persönlichen Daten betreffen. Moderne Hardware und die breite Akzeptanz von Open-Source-Software machen das Vernetzen immer einfacher und kostengünstiger, was auch immer mehr Entwickler nutzen. Das ist für die meisten Anwendungen auch sehr positiv, allerdings wird es damit auch immer schwieriger, die Sicherheit zu gewährleisten. Die Vielfalt bei den Hardware- und Software-Lösungen macht die Lage nicht leichter. Selbst wenn man die vollständige Kontrolle über seine Plattform exklusiv pflegt, wie Apple es vormacht, lassen sich die Gefahren nicht vollständig eliminieren.

Auf einen Blick

Security hat viele Aspekte, entsprechend vielfältig sind die Gegenmaßnahmen. MCU-Hersteller implementieren Krypto-Algorithmen, partitionieren die Software in verschiedene Zonen, schützen Speicherinhalte vor Manipulation oder integrieren gar eine Firewall direkt in den Mikrocontroller. Digi-Key gibt hier einen Überblick über die vielfältigen Technologien.

Auf Konnektivität zu verzichten, wäre keine Lösung. Also müssen die Hersteller nun Hardware- und Software-Techniken umsetzen, die Bedrohungen erkennen und abwehren. Dabei darf man als Entwickler davon ausgehen, dass jedes angeschlossene Gerät, egal wie obskur, irgendwann anfällig für einen böswilligen Angriff in irgendeiner Form sein wird. Die sind dann nicht so plump wie die E-Mails über einen angeblichen Lottogewinn – Angriffe auf die Ressourcen des Geräts können sehr ausgeklügelt sein. Mögliche Ziele sind, das Gerät in einen schwächeren Betriebsmodus zu versetzen oder die Integrität der eigenen Daten zu unterwandern. Diese immer raffinierteren Angriffe zwingen Gerätehersteller (Integrated Device Manufacturers, IDMs), immer anspruchsvollere Verteidigungslinien zu erfinden und zu integrieren.

Sicherheitsstufen

Je nachdem welche Arten von Angriffen auf sein System ein Entwickler erwartet, muss er dazu passende Sicherheitsfunktionen implementieren. In Embedded-Geräten gibt es hierzu viele Varianten. Auf der Software-Ebene ist Schadsoftware wie Viren, Würmer und trojanische Pferde ein großes Problem und wird es wahrscheinlich auch immer bleiben. Umstritten ist, ob der vermehrte Einsatz von Open-Source-Software die Lage verschlimmert, da Angreifer die Software besser auf Schwachstellen untersuchen können. Andererseits profitieren auch die Sicherheitsexperten vom Einblick in die Quellen.

Wenn Angreifer auch in der Lage sind, die Hardware-Plattform zu untersuchen, können sie auch hier Schwachstellen aufspüren. Die Hersteller müssen folglich Sicherheit an mehreren Punkten in die Hardware-Architektur implementieren. Als Ergebnis kommen sogar Firewalls in Embedded-Geräten zum Einsatz. Ein Beispiel mit Firewall-Hardware in kleinen Mikrocontrollern zeigt Zilog mit seinen Zgate-Komponenten.

Firewall in der MCU

Zilog hat die Zgate-Familie für verteilte Sensor- und Steuergeräte entwickelt. Die MCUs der Familie unterstützen einen vollwertigen TCP/IP-Stack inklusive IPv4, TCP, ARP und RARP. Sie bietet auch einen FTP-Server und -Client und eine Befehls-Shell für Remote-Debugging. Um diese angreifbaren Netzwerkfunktionen zu schützen, bietet die eingebettete Firewall-Technologie statische Filterung, Paketkontrolle, Port-, Protokoll- und Adressierungs-Grenzen und eine schwellenbasierte Filterung.

Physische Attacken können auch Ergebnisse liefern, ohne dass der Angreifer in das System einbrechen muss. Er kann zum Beispiel Signale ausspähen oder künstlich Störungen verursachen. Auch dagegen existieren Hardware-Maßnahmen. Sie fußen auf einer Kombination von Industrie-Standardtechnologie, lieferantenspezifischer Technologie und proprietären Methoden. Welche nötig sind, hängt von den erwarteten Angriffen ab. Die Wahrscheinlichkeit einer Attacke auf Bankterminals mag viel höher sein als die auf ein medizinisches Gerät, aber die Hersteller beider Geräte werden ein gewisses Maß an Sicherheitsmaßnahmen treffen.

Bild 1: Atmel hat für den Software-Schutz eine Speicherschutzeinheit in seine SAM3S-Familie integriert.

Bild 1: Atmel hat für den Software-Schutz eine Speicherschutzeinheit in seine SAM3S-Familie integriert.Digi-Key

Sicherheitslösungen

Viele Bedrohungen betreffen direkt die auf dem Zielsystem laufende Software. Viele MCU-Hersteller haben eine Lösung entwickelt, die den Speicherinhalt eines Geräts vor unbeabsichtigten oder böswilligen Angriffen schützt. Ein Beispiel dafür ist die Speicherschutzeinheit der SAM3S-Familie von Atmel, basierend auf einem ARM-Cortex-M3-Kern (Bild 1).

Da die Speicheraufteilung des Cortex-M3 vereinheitlicht ist, weisen sowohl Daten- als auch Programmbereiche die gleichen Einstellungen auf, aber der Prozessor-Kern kann den Speicher in Bereiche unterteilen, die unterschiedliche Einstellungen und Berechtigungen erhalten. Die von Atmel in den SAM3S-Komponenten implementierte Memory Protection Unit (MPU) ermöglicht es, die Speicherbereiche nach Typ zu definieren, mit unterschiedlichen Rechte-Attributen. Dazu gehören Typen, die die Befehlsausführung definieren und kontrollieren, sowie Typen, die Befehlsausführungen verbieten. Zu den unterstützten Speicherbereichstypen gehören Code, SRAM, Peripherie und externes RAM. Die Register in der MPU definieren den Zugang zu jedem Typ. Dies bedeutet, dass der Speicherzugriff gesperrt oder zum Beispiel für einen Software-Reset verwendet werden kann und bietet somit ein gewisses Maß an Sicherheit bei der Ausführung.

Zone des Vertrauens

Für Anwendungen, die mehr Sicherheit benötigen, entwickelte ARM seine Trustzone-Technologie als Mischung aus Hardware- und Software-Funktionen. Lizenznehmer implementieren und konfigurieren Trustzone, um Sicherheit zu gewährleisten oder ihre eigenen proprietären Sicherheitsfunktionen zu erweitern. Trustzone wurde als Erweiterung in bestimmte Kerne implementiert und funktioniert in Verbindung mit Hardware-Features in der AMBA3-AXI-Busstruktur. Dies ermöglicht es, alle Ressourcen in der Komponente entweder als normale Umgebung (Normal World) oder als gesicherte Umgebung (Secure World) zu partitionieren, um ein sicheres Untersystem zu schaffen. Darüber hinaus können die Hardware-Erweiterungen einem einzelnen Kern erlauben, als zwei virtuelle Kerne zu arbeiten, wobei Zeitscheiben verwendet werden, um zwischen der normalen und der gesicherten Umgebung hin und her zu wechseln.

Bild 2: Lizenznehmer können die Trustzone-Technologie von ARM in unterschiedlicher Weise implementieren.

Bild 2: Lizenznehmer können die Trustzone-Technologie von ARM in unterschiedlicher Weise implementieren.Digi-Key

Während die Trustzone-Technologie im Grunde sehr flexibel ist, gruppiert ARM die Lösungen in drei Varianten (auch Tier genannt). Bild 2 zeigt das Blockdiagramm einer Tier-Drei-Anwendung von Trustzone, welche eine DRM-Lösung liefert, die Video-Streaming und Dekompression zur Laufzeit (On-The-Fly) unterstützt.

Kryptographie schützt die Daten

Für Anwendungen, deren Sicherheit vor allem den Schutz der Daten benötigt, ist Kryptographie eine einfache und zuverlässige Lösung. Sie kann in einer Vielzahl von Arten implementiert werden und geschieht oft in einem geschlossenen System, in dem sich Sender und Empfänger unter der Kontrolle des Entwicklers befinden. Eine gute Lösung für dieses Beispiel könnte das kryptographische Modul Keeloq sein, das Microchip in den Familien PIC12F635 und PIC16F636 implementiert.

Bild 3: Silicon Labs hat eine AES-Engine entwickelt, die Hardware-basierte Verschlüsselung/Entschlüsselung bietet und zusätzlich CBC-Modus implementiert.

Bild 3: Silicon Labs hat eine AES-Engine entwickelt, die Hardware-basierte Verschlüsselung/Entschlüsselung bietet und zusätzlich CBC-Modus implementiert.Digi-Key

Der AES-Algorithmus (Advanced Encryption Standard) wird häufig zum Verschlüsseln und Entschlüsseln von drahtlos gesendeten Daten eingesetzt. Silicon Labs hat eine AES-Engine in seiner energiesparenden C8051F96x-Familie untergebracht, die Schlüssellängen von 128, 192 oder 256 Bit unterstützt, wobei 128-Bit-Schlüssel die beste Performance bieten. Um die Basisverschlüsselung der AES-Zustandsmaschine zu verbessern, kann man den CBC-Modus (Cipher Block Chaining) verwenden. Hier geht in die Verschlüsselung jedes 16-Bit-Blocks neben dem aktuellen Block und dem Schlüssel auch der vorherige Block als Funktion mit ein. Identische Daten erzeugen daher verschiedene Chiffren, was das Entschlüsseln weiter erschwert (Bild 3).

Altbewährt

Beim Vorläufer von AES (Data Encryption Standard, DES) sind kleinere Schwachstellen bekannt, allerdings ist sein Schlüssel mit 56 Bit für heutige Verhältnisse viel zu kurz und damit unsicher. Als Zwischenstufe haben Sicherheitsspezialisten daher Triple-DES empfohlen, das vereinfacht ausgedrückt DES dreimal anwendet, allerdings gibt es mehrere verschiedene Betriebsarten. Die am häufigsten verwendete setzt auf zwei verschiedene Schlüssel, wobei die Daten unter Verwendung des ersten Schlüssels verschlüsselt, unter Verwendung des zweiten Schlüssels entschlüsselt und dann erneut unter Verwendung des ersten Schlüssels verschlüsselt werden. Alternativ hinaus können verschiedene Schlüssel für jede Stufe verwendet werden, was zu einer Drei-Schlüssel-Implementierung führt.

Obwohl DES und 3DES heute weitgehend durch AES ersetzt sind, bieten einige Mikrocontroller genügend Leistung, um 3DES allein in Software zu implementieren, wie die Familien PIC24, PIC32 und dsPIC von Microchip. Microchip bietet eine Software-Bibliothek für die Implementierung von 3DES und AES-Algorithmen, ohne die Notwendigkeit von Hardwarebeschleunigung.

Auch im Verborgenen

Da Konnektivität den Markt immer weiter durchdringt, wird es immer wichtiger, mehr Sicherheit sowohl für das Gerät selbst als auch für die Anwendungsdaten zu schaffen. Bei Finanzgeschäften ist es noch offensichtlich, dass sie ein hohes Maß an Sicherheit benötigen. Bei tiefer eingebetteten Geräten ist diese Erkenntnis leider noch nicht gereift. Mit Konnektivität kann sich aber jedes Gerät als schwächstes Glied in der Kette erweisen und damit die Gesamtsicherheit unterwandern. Auch wenn ein Embedded Device im Verborgenen arbeitet, gilt es seine Sicherheit zu gewährleisten.

Rich Miron

arbeitet bei Digi-Key im Technical Content Team.

(lei)

Sie möchten gerne weiterlesen?

Unternehmen

ARM Germany GmbH

Bretonischer Ring 16
85630 Grasbrunn
Germany

Digi-Key Corporation

701 Brooks Avenue South
56701 Thief River Falls , MN
United States