Suchen

Informationssicherheit Fünf brennende Fragen zum Thema Sicherheitsdesign

Autor / Redakteur: Gregory Rudy * / Franz Graser

Ein durchgängiges Sicherheitsdesign für Embedded-Software schützt nicht nur vor Cyber-Attacken, sondern bietet auch wirtschaftliche Vorteile – denn die Folgen eines Systemangriffs sind sehr teuer.

Firmen zum Thema

Bild 1: Vertrauen Sie keinem Netzwerk.
Bild 1: Vertrauen Sie keinem Netzwerk.
(Grafik: Green Hills Software)

Da Cyberattacken auf Netzwerke drastisch zunehmen, war der Schutz von Embedded-Systemen noch nie so wichtig. Mit steigender Vernetzung steigt auch die Gefahr von Datenschutzverletzungen, was zum Verlust von geistigem Eigentum (IP; Intellectual Property) und der Zuverlässigkeit führt. Gerade die Zuverlässigkeit ist bei Embedded-Systemen besonders wichtig wenn Endanwender sich darauf verlassen, dass Hardware und Software wie vorgesehen arbeiten soll.

Jüngste Schlagzeilen haben gezeigt, dass sich niemand auf IT-Netzwerke verlassen kann: Einrichtungen sind selbst hinter Firewalls von Unternehmen nicht mehr sicher. Daher ist ein Sicherheitsdesign erforderlich, das die reale Bedrohung durch Angreifer adressiert, nämlich deren unbeschränkten Zugriff auf Schnittstellen.

Sicherheitsdesign betrifft mehrere Abteilungen in einem Unternehmen und muss von der Führungsebene vorgegeben werden. Damit Manager die Qualität ihres Sicherheitsdesigns bewerten können, sollten sie sich die folgenden fünf Fragen stellen:

Frage 1: Verweigert das System nicht authentische Befehle?

Hacker versuchen auf zwei Arten, Zugang zu lokalen Netzwerken zu erlangen: über den Zugriff auf ein Informationssystem, das sich bereits im Netzwerk befindet oder durch Anzapfen der physikalischen Netzwerkverbindung. In jedem Fall können die Angreifer Datenpakete einsehen, die über die Netzwerkverbindung gesendet werden und dann ein Reverse Engineering der Protokolle durchführen, um schädliche Prozesse einzubringen.

Gefährdungen lassen sich vermeiden, wenn zuerst alle Endpunkte identifiziert werden, inklusive der Einrichtung, Kontrollsysteme, Nutzer und jedes anderen IT-Systems, das Daten empfängt. Steuerungssoftware sollte nur dann Befehle senden, wenn eine Authentifizierungskommunikation mit der richtigen Einrichtung stattfindet, und Einrichtungen sollten nur dann Befehle akzeptieren, nachdem der Nutzer authentifiziert wurde.

Bild 2: Endpunkte getrennt authentifizieren. Im Fall des in der Presse veröffentlichten Hacker-Angriffs auf netzwerkfähige Infusionspumpen ging die Pumpen-Software davon aus, dass jeder Befehl von einer gültigen Quelle kam. Sicherheitsdesigns sollten nie gültige Nutzer vermuten, nur weil die empfangenen Befehle als richtig erscheinen.
Bild 2: Endpunkte getrennt authentifizieren. Im Fall des in der Presse veröffentlichten Hacker-Angriffs auf netzwerkfähige Infusionspumpen ging die Pumpen-Software davon aus, dass jeder Befehl von einer gültigen Quelle kam. Sicherheitsdesigns sollten nie gültige Nutzer vermuten, nur weil die empfangenen Befehle als richtig erscheinen.
(Grafik: Green Hills Software)

Sicherheitslücken treten auf, wenn eine Einrichtung Zugriff auf Ressourcen gewährt, ohne den Endpunkt korrekt zu authentifizieren. Sicherheitsdesigns sollten niemals gültige Nutzer vermuten oder Software steuern, nur weil die empfangenen Befehle als richtig erscheinen.

Ein gutes Beispiel ist der in der Presse veröffentlichte Hacker-Angriff auf netzwerkfähige Infusionspumpen in Krankenhäusern. Die Pumpen-Software ging davon aus, dass jeder empfangene Befehl von einer gültigen Quelle kam. Angreifer erlangten auf diese Weise Zugriff auf die Netzwerkverbindung und rekonstruierten das Protokoll durch Reverse Engineering. Damit wurde die Steuerung ausgetrickst, die dann Befehle aussendete, die möglicherweise tödliche Dosen an den Patienten verabreichen konnte.

Frage 2: Erkennt das System, ob es manipuliert wurde?

Schadsoftware kann auf verschiedene Weise in Embedded-Systeme eingebracht werden:

  • Re-Programmierung durch eine Hardware-Debug-Schnittstelle wie JTAG,
  • Ungenutzte, Test- und Debug-Schnittstellen, die offen gelassen wurden, z.B. Telnet und FTP,
  • Code-Einbringungsattacken auf gültige Steuerschnittstellen, die mit schwachen Sicherheitskodierungsstandards erstellt wurden,
  • Software-Updates, die Vertrauenswürdigkeit erwecken, ohne überprüft worden zu sein.

Physischer Schutz, Schwachstellen-Scans und Penetrationstests helfen zwar dabei, Softwaremanipulationen zu verhindern, können aber manipulierte Software nicht erkennen nachdem sie eingebracht wurde. Sicheres Booten überprüft die Quelle und Integrität der Software mittels digitaler Signaturen. Die Software wird bei der Freigabe unterzeichnet und vor jeder Ausführung durch die Einrichtung überprüft.

Beim Erzeugen digitaler Signaturen für das sichere Booten ist zu beachten, dass dies in einem Out-of-Band-Verfahren durchgeführt wird. Der Schutz privater Signaturschlüssel ist daher entscheidend. Falls ein Hacker jemals Zugriff auf diese Schlüssel erhält, ist die Sicherheit aller Einrichtungen gefährdet.

Frage 3: Wie schützt das System seine Daten?

Best-Practice-Sicherheitsmaßnahmen sollten den Datenschutz im Speicher als auch bei der Übertragung adressieren. Geistiges Eigentum (IP), Konfigurationsdateien, Nutzerdaten und Schlüssel im nicht-flüchtigen Speicher sind allesamt anfällig, wenn ein Hacker physischen Zugriff auf ein System erlangt. Datenschutz wird durch Trennung und Verschlüsselung ermöglicht, wobei der Zugriff nur auf authentifizierte Software und Nutzer eingegrenzt wird.

Best-Practice-Vertraulichkeitsmaßnahmen bei der Datenübertragung setzen voraus, dass Daten nur für den jeweils richtigen Endnutzer sichtbar sind. Dies geschieht durch Netzwerk-Sicherheitsprotokolle wie z.B. TLS (Transport Layer Security), die für eine sichere Client/Server-Kommunikation durch gegenseitig authentifizierte und eindeutig verschlüsselte Sitzungen sorgen.

Einige Hersteller denken, dass ihre Systeme sicher kommunizieren, da sie eine Standard-Wireless-Verschlüsselung verwenden. Leider schützt diese nur die Datenverbindung und nicht die Daten. Jedes andere System im Funknetzwerk ist imstande, Datenpakete in entschlüsselter Form einzusehen. Da IT-Verantwortliche Passphrasen überwachen und drahtlose Netzwerke für viele verschiedene Zwecke nutzen, ist das System selbst nicht imstande zu kontrollieren, wer ansonsten noch Zugriff auf die Daten hat.

Frage 4: Wie schützt das System seine Schlüssel?

Integrierte Sicherheitsschlüssel-Verwaltung ist die Auswahl und der Schutz kryptographischer Schlüssel innerhalb eines Systems. Globale, gemeinsame oder abgeleitete Schlüssel sind zwar einfacher zu implementieren, stellen aber ein höheres Risiko dar, sobald die Anzahl der Systeme steigt. Nutzen alle Systeme die gleichen kryptographischen Schlüssel, kann eine einzige Gefährdung systemweite Schwachstellen verursachen. Dies wird durch eindeutige Schlüssel oder digitale Identitäten verhindert, die bei der Fertigung für jeden Systembestandteil erzeugt werden. Der Schutzgrad sollte im Einklang mit den Auswirkungen der Gefährdung einhergehen. Je nach Empfindlichkeit der Daten können Sicherheitsdesigns hochsichere Kernels und Sicherheitsmodule beinhalten, um vertrauenswürdige und nicht vertrauenswürdige Domänen zu trennen.

Frage 5: Wie lassen sich Fehler schneller finden und beheben?

Seien wir ehrlich: die größte Bedrohung für die Cyber-Sicherheit von Systemen sind nicht externe Angriffe. Die größte Bedrohung für die Zuverlässigkeit kommt von unbekannten Fehlern und Mängeln in den vielen Softwareschichten, die erforderlich sind, um moderne, vernetzte Systeme zu entwickeln.

Sichere Kodierungsstandards, Tests, hochsichere Betriebssysteme und Entwicklungs-Tools sollten Mängel minimieren, auffinden und so früh wie möglich im Entwicklungsprozess beheben. Eine gute Architektur mit modularer Trennung minimiert die Auswirkungen, da die Reichweite von Softwarefehlern und neuer Attacken gegen die Cyber-Sicherheit dann begrenzt wird.

Die Antwort: Eine durchgehende Sicherheitslösung

Falls die Antworten, die Sie auf diese Fragen gegeben haben, Sie sehr beunruhigen: Es existiert eine flexible Lösung, die sich genau auf die speziellen Anforderungen anpassen lässt. Ein durchgehendes Sicherheitsdesign adressiert die nachfolgend genannten Regeln über alle Phasen des Produktlebenszyklus, einschließlich Entwicklung, Fertigung, Betrieb und Wartung. Die fünf Regeln für ein durchgehendes Embedded-Sicherheitsdesign lauten:

  • 1. Kommunikation, ohne dabei auf das Netzwerk zu vertrauen
  • 2. Stellen Sie sicher, dass die Software nicht zu manipulieren ist
  • 3. Kritische Daten schützen
  • 4. Kryptographische Schlüssel entsprechend schützen
  • 5. Zuverlässig arbeiten

Bild 3: Durchgehende Embedded-Sicherheitsarchitektur.
Bild 3: Durchgehende Embedded-Sicherheitsarchitektur.
(Grafik: Green Hills Software)

Der Zweck eines durchgehenden Sicherheitsdesigns ist der Schutz des Embedded-Systems vor Angriffen von außen und innen durch Standard-basierte Verschlüsselungsalgorithmen für die Authentifizierung, Vertraulichkeit, Integrität und Nachweisbarkeit von Daten und Endpunkten. Dies basiert auf einer System- und unternehmensweiten Sicherheitsinfrastruktur. Die Systemarchitektur verwendet die Schlüssel, Zertifikate und signierten Daten, die von der unternehmensweiten Sicherheitsinfrastruktur bereitgestellt werden, um eine sichere Kommunikation in nicht vertrauenswürdigen Netzwerken zu garantieren. Beide Architekturen sind für die Entwicklung sicherer Systeme erforderlich. Die konkrete Umsetzung und Robustheit kann sich jedoch, je nach Umgebung, Bedrohungsrisiko und unternehmerischen Abwägungen, unterscheiden.

Sicherheitsarchitektur in Systemen

  • Chain-of-Trust-Prozessor – Authentifiziert Software und Daten vor der Ausführung,
  • Betriebsumgebung – Zuverlässige Überwachung der Anwendungsausführung und des Ressourcenzugriffs,
  • Verschlüsselung – Algorithmus-Stammfunktionen und Schlüsselspeicherung,
  • Netzwerksicherheitsprotokolle – Authentifizieren und verschlüsselen von Daten für bestimmte Endpunkte mithilfe kryptographischer Modulalgorithmen,
  • Anwendungen – Führen die beabsichtigte Funktion des Systems aus.

Sicherheitsinfrastruktur in Unternehmen:

  • Digital Signing Service – Signiert Software und Daten für die Überprüfung durch das System,
  • Supply Chain Key Manager – Erzeugt eindeutige Schlüssel und Zertifikate für jedes System während der Fertigung,
  • Device Management System –

Sichere Verwaltung und Verteilung von Daten, welche eindeutig für ein System verschlüsselt wurden.

Zusammenfassung

Die Folgekosten eines Systemangriffs sind sehr hoch. Die Bedrohung ist real. Die Lösung ist eine sorgfältige Herangehensweise: Gehen Sie den ersten Schritt und sorgen Sie dafür, dass Ihr Unternehmen seine größten Werte schützt – mit einem durchgehenden Embedded-Sicherheitsdesign.

So ein Design schützt nicht nur vor Cyberattacken; nach der Implementierung bietet es auch wirtschaftliche Vorteile. Software-Updates aus der Ferne, Überwachung in Echtzeit und Fälschungssicherheit lassen sich hinzufügen, um die Kosten zu senken. Eindeutig verschlüsselte und signierte Lizenzdateien sorgen für die Überwachung von Funktionen und die Verteilung umsatzgenerierender Inhalte.

* Gregory Rudy ist Director Business Development für Integrity Security Services bei Green Hills Software.

(ID:43140819)