Systemplattformen Mehr Sicherheit für das Internet der Dinge

Autor / Redakteur: John Blevins * / Franz Graser

Es wird immer schwieriger, Unternehmensnetzwerke und Firmencomputer gegen Angreifer zu schützen. Die prognostizierten Milliarden von Netzknoten werden das Problem dramatisch verschärfen.

Anbieter zum Thema

Gut verschlossen: Moderne Echtzeitbetriebssysteme enthalten die Sicherheitsfunktionen, die Entwickler zum Schutz von vernetzten Embedded-Geräten benötigen und mit denen sie diese mit Blick auf die Sicherheit entwickeln können.
Gut verschlossen: Moderne Echtzeitbetriebssysteme enthalten die Sicherheitsfunktionen, die Entwickler zum Schutz von vernetzten Embedded-Geräten benötigen und mit denen sie diese mit Blick auf die Sicherheit entwickeln können.
(Bild: Gerd Altmann, pixelio.de)

Der Vorteil der Embedded-Industrie im Gegensatz zur traditionellen Computerwelt ist, dass die Funktions-Objekte im Regelfall für einen bestimmten Zweck gebaut werden. So können Sicherheit und Schutz bereits bei den Überlegungen zum Systemdesign bevorzugt berücksichtigt werden. Allerdings ist es so gut wie unmöglich, einem ressourcenbegrenzten Funktions-Objekt, das nicht schon von sich aus sicher ist, Sicherheit in irgendeiner Form hinzuzufügen.

Diese Voraussetzung können am besten die Anbieter der traditionellen Embedded-Softwareplattform, dem Echtzeitbetriebssystem (RTOS), erfüllen. Und zwar dadurch, dass sie die Sicherheitsfunktionen bieten, die Entwickler zum Schutz von vernetzten Embedded-Geräten benötigen und mit denen sie diese bereits mit Blick auf die Sicherheit entwickeln können.

Das „Protection Profile for Single-level Operating Systems in Environments Requiring Medium Robustness“ (SLOSPP) der NSA spezifiziert die Sicherheitsanforderungen für handelsübliche (Commercial of the Shelf – COTS) Allzweckbetriebssysteme in vernetzten Umgebungen, die sensible Informationen enthalten. LynxOS 7.0 von LynuxWorks gehört zu den ersten RTOS, die diese Standards umsetzen und es Entwicklern ermöglichen, Sicherheit auf militärischem Niveau direkt in ihre Geräte einzubetten. Zu den Sicherheitsfunktionen gehören die benutzerbestimmbare Zugriffskontrolle (DAC), Audits, Rollen und Kompetenzen, Identifikation und Authentifizierung, Kryptographie, Quoten, Selbsttest, RIP (Residual Information Protection) und Local Trusted Path.

Im folgenden Abschnitt wird näher darauf eingegangen, wie diese Funktionen dazu beitragen, vernetzte Embedded-Geräte vor bösartigen Angriffen zu schützen. Die benutzerbestimmbare Zugriffskontrolle (Discretionary Access Control, DAC) ist ein Mittel zur Einschränkung des Zugangs zu Objekten wie Dateien, Anwendungen, Verzeichnissen und Geräten, basierend auf der Identität von Subjekten und/oder Gruppen, zu denen sie gehören. DAC wird mithilfe von Zugangskontrolllisten (Access Control Lists, ACL) nach dem Standard Posix.1e implementiert.

Verglichen mit herkömmlichen Sicherheitsvorkehrungen wie die Dateirechte Benutzer/Gruppe/Andere in UNIX-Systemen sorgen ACL-Listen für eine viel präzisere Steuerung des Objektzugangs. Sie erlauben autorisierten Nutzern zu spezifizieren, exakt welche Nutzer und Nutzergruppen auf welche Ressourcen zugreifen dürfen. Im Grunde befähigt DAC das vernetzte Funktions-Objekt sorgfältig zu kontrollieren, wer auf die Dateien und Daten dieses Funktions-Objekts zugreifen und diese ausführen kann.

Audit-Funktion erfasst wichtige System-Ereignisse

Mit der Audit-Funktion kann ein eingebettetes Objekt wichtige System-Ereignisse erfassen und eine Sicherheitsüberwachung dieser Ereignisse ausführen. Hier ist eine detaillierte Event-Auditierung von Ereignissen wie Login, Logout, Objektzugriffen und Verwaltungsaufgaben implementiert, die alle in einem Prüfpfad-Protokoll festgehalten werden.

Dies enthält wertvolle Informationen, um

  • sicherheitskritische Ereignisse zu überprüfen;
  • Versuche aufzudecken, die Sicherheitsvorkehrungen zu umgehen;
  • die Nutzung von Privilegien nachzuverfolgen;
  • vor Angriffsversuchen abzuschrecken, da Audit Logging Eingriffe erfasst;
  • forensische Analysen auszuführen.

Auditaufzeichnungen informieren über die Natur, den Verursacher und den Erfolg bzw. Misserfolg des auditierten Ereignisses. Außerdem stehen Werkzeuge bereit, um das Audit-Ereignis live zu überwachen, während es passiert und die Aufzeichnungen im Prüfpfad zu analysieren, um die vernetzten Objekte noch sicherer zu machen.

Feingranulare Verwaltung von Benutzerrechten

Rollenspiele und Leistungsvermögen gewähren feinere Privilegierungsstufen für Nutzerzugangsrechte als das herkömmliche UNIX-Modell. In UNIX- und ähnlichen Systemen ist die Ausführung von Verwaltungshandlungen dem Root User vorbehalten. Dieser ist vollständig bevorrechtigt, das gesamte System zu sehen und modifizieren, ob diese Privilegien durch die ursprünglich vorliegende Aufgabe nun erforderlich waren oder nicht. Normale Nutzer hingegen hatten gar keine Administratorrechte. Ein gewöhnlicher Benutzer könnte nur das tun was ihm die User-ID oder Gruppen-ID erlaubten.

Die allumfassenden Vorrechte des Root-Status machen diesen anfälliger für Missbrauch, ob unbeabsichtigt oder böswillig. In POSIX.1e ist dieses Problem durch die Aufspaltung der Root-Privilegien in mehrere feiner abgestufte Privilegien bzw. Kompetenzen behoben. Dadurch treten an die Stelle eines übermächtigen Root Users mehrere administrative ‘Rollen’ mit einer je nach Aufgabe eigenen Teilmenge an Privilegien (‚Kompetenzen’ genannt). Zum Beispiel erschafft man eine ‘netadm’ Rolle und weist dieser nur Kompetenzen zum Eingriff in das Netzwerk zu (CAP_NET_ADMIN). Einer zweiten Rolle ‘auditadm’ kann die Kompetenz zur Steuerung der Audit-Logs (CAP_AUDIT_CONTROL) und Datensätze in diese zu schreiben (CAP_AUDIT_WRITE) zugewiesen werden.

Embedded-Objekte, die unterschiedliche Rollen mit jeweils begrenzten Kapazitäten umsetzen, sind sicherer vor Angriffen, die auf ein bestimmtes ‚Nutzer’-Konto im System zielen.

Identifikation und Authentifizierung beziehen sich auf den Prozess, durch den ein Netzwerkobjekt eine gültige Nutzeridentität erkennt und diese angebliche Identität verifizieren (authentifizieren) kann. Das System identifiziert Nutzer über das herkömmliche User-ID-/ Gruppen-ID-Modell nach POSIX.1. Hierbei hat jeder Nutzer eine eigene User-ID und gehört einer oder mehreren Benutzergruppen an.

Ein starker Identifizierungs- und Authentifizierungsmechanismus senkt außerdem das Risiko eines Zugriffs unautorisierter Nutzer auf ein Embedded-Objekt erheblich.

Verschlüsselung ist ein sicheres Kommunikationsverfahren, wenn potentielle Eindringlinge präsent sind. Verschlüsselungs-Software verwandelt über Verschlüsselungsschlüssel (öffentlich, privat) und digitale Signaturen Klartext-Daten mittels komplizierter Algorithmen in unsinnige Zeichenketten und umgekehrt.

Zur Verschlüsselung werden FIPS 140-2 zertifizierte Algorithmen und Zufallszahlengeneratoren auf der Basis zertifizierter OpenSSL- und OpenSSH-Bibliotheken eingesetzt. Diese Bibliotheken liefern leistungsstarke offene Sicherheitsprotokolle für den Secure Sockets Layer (SSL), den Transport Layer Security (TLS) und ein vollständiges Verschlüsselungspaket. Embedded-Objekte im Netzwerk können FIPS 140-2 zertifizierte Verschlüsselungsalgorithmen zum Schutz sensibler Daten und Passwörter nutzen.

Kontingent-Zuweisungen verbessern die Systemkontrolle

Virtualisierung: Ein Type-0-Hypervisor stellt den Gast-OS sichere virtuelle Motherboards bereit.
Virtualisierung: Ein Type-0-Hypervisor stellt den Gast-OS sichere virtuelle Motherboards bereit.
(Grafik: LynuxWorks)
Kontingent-Zuweisungen schützen das Objekt vor zu wenig Festplattenplatz, Speicher und Prozessorkapazität. Zum Beispiel könnte eine DoS-Attacke (DoS – Denial of Service) auf das System mit der Absicht, die CPU zu überlasten, dazu führen, dass ein ungeschütztes Objekt scheinbar einfriert. Kann man den Umfang an kritischen Ressourcen wie CPU-Zyklen, die eine Aufgabe verbrauchen kann, begrenzen, dann ist das Gesamtsystem vor einem solchen Angriff geschützt. Ebenso verhält es sich, wenn ein Prozess versucht, Speicher- oder Festplattenressourcen zuzuteilen und der Verbrauch des Nutzers oder der Gruppe die Quote übersteigt. Dann wird eine Fehlermeldung zurückgegeben und die Zuteilung misslingt.

Der Selbsttest nimmt eine Reihe von Prüfungen während der Inbetriebnahme eines Objekts, in regelmäßigen Abständen bei Normalbetrieb oder auf Anfrage eines autorisierten Administrators vor, um sein einwandfreies Arbeiten anzuzeigen. Die Selbsttests sollen für die Gewissheit sorgen, dass sich Gerätespeicher und Dateisysteme im erwarteten Status befinden.

RIP (Residual Information Protection) stellt sicher, dass der Inhalt einer Speicherbelegung keinem anderen Prozess mehr zur Verfügung steht, ehe dieser wieder einer neuen Quelle zugewiesen wird. Durch die Sperrung der Gerätespeicher- und Dateisystemdaten wird die Sicherheit erhöht. Bei jedem gelöschten Dateisystemobjekt werden sämtliche ihm zugewiesenen Blöcke mit Nullen überschrieben. Es ist möglich, das System so zu konfigurieren, dass die Speicherbelegung bei der Zuordnung oder Freisetzung mit Nullen überschrieben wird.

Trusted Path ist ein Übertragungsweg, der sicherstellt, dass ein Benutzer mit seinem beabsichtigten Ziel in der geforderten Vertraulichkeit kommunizieren kann und dass Angreifer diesen Dialog weder unterbrechen noch abändern kann.

Ein sicherer und eleganter Mechanismus mit dem Namen „Secure Attention Key Sequence“ schafft einen zuverlässigen Pfad zwischen dem Benutzer und der Rechnerbasis. Gängige Programme können dieses Schlüsselmuster nicht unterbrechen. Außerdem wird unter der Bezeichnung Trusted Menu Manager (TMM) eine modulare Rahmenstruktur für alle vertrauenswürdigen Prozesse angeboten. Sogenannte Trusted Operations wie Benutzeranmeldung, Rollen-Login und Passwortänderung lassen sich über dieses Menü ausführen, aber auch die Funktion Bildschirm sperren/entsperren.

Alle Trusted Path-Mechanismen zusammen sorgen dafür, dass ein Benutzer, der sensible Daten wie Login-Informationen eingibt, sich nicht darum sorgen muss, dass diese durch Spyware-Programme ausspioniert werden.

Mit dieser Auflistung zeigt sich anschaulich, dass Embedded-Entwickler mit solch leistungsstarken RTOS-Sicherheitsfunktionen ihre Systeme jetzt sicherer entwickeln können, ehe sie ans Internet angeschlossen werden. Ist die Anwendung sicher, kann der Netzwerksupport des Systems genutzt werden. Dieser unterstützt sowohl Langstrecken-Netzwerke über TCP/IPV4-, IPV6-, 2G / 3G / 4G Funk- und WiMax-Kommunikationsstacks als auch die für M2M-Anwendungen übliche Kurzstreckennetze with 802.11 Wi-Fi, Zig Bee Wireless Mesh und Bluetooth.

Bei Systemen, die zugunsten der Anwendervertrautheit eher nach einem Allzweckbetriebssystem wie Windows oder Android verlangen, wird das Einbauen von Sicherheit in das OS selbst schon schwieriger. Hier sind andere Schutz- und Isolationsmechanismen gefragt, um sich gegen Cyberangriffe abzusichern.

Separationskernel sichert Systemdomänen ab

Eine andere Technik namens LynxSECURE erlaubt es Embedded-Entwicklern, Sicherheit in ihre Systeme zu implementieren – unabhängig vom verwendeten Betriebssystem. Entworfen und entwickelt, um den anspruchsvollen Sicherheitsanforderungen des US-Verteidigungsministeriums (DoD) zu erfüllen, isoliert ein Separationskernel Objekt und Speicher in einem Mikroprozessor-basierten System.

Für Embedded-Geräte eignet er sich besonders, da es sich typischerweise um eine sehr kleine und effiziente Kernel-Implementierung handelt, die über Echtzeit- sowie Isolierungseigenschaften verfügt. In DoD-Systemen dient der Separationskernel zur Domain-Isolierung bei Anwendungen, die auf verschiedenen Sicherheitsebenen auf einem einzigen Hardwaresystem ausgeführt werden, sowie zur Isolierung von geschützten Domains, damit diese die jeweils anderen Daten, Netzwerke und Anwendungen nicht einsehen können.

Embedded-Systeme mit Virtualisierungstechniken zu versehen ist heutzutage besonders interessant, da immer mehr Embedded-Prozessoren über zwei und mehr Kerne verfügen. Über Virtualisierung lassen sich Mehrkernsysteme effizient segmentieren und mehrere physikalische Systeme auf einem einzigen Mehrkernsystem zusammenlegen. Eine flexible Separationskernel/Hypervisor-Lösung erlaubt es dem Embedded-Entwickler, jedem Gastbetriebssystem gemäß seinen Anforderungen die angemessene Anzahl an Prozessoren zuzuordnen. Dies kann das Teilen von Prozessorkapazität über mehrer OS hinweg einschließen oder aber die Zuteilung eines Einzelkerns für ein einziges OS. Das Betriebssystem kann überdies über SMP (Symmetric Multi-Processing) auf unterschiedliche Kerne zugreifen.

Wenn Embedded-Systeme eher herkömmliche Computerbetriebssysteme verwenden und dann auf das offene Internet zugreifen, sind sie ebenso anfällig für verborgene Cyber-Bedrohungen wie unsere normalen PCs. Anders als diese können Embedded-Objekte jedoch unsere kritische Infrastruktur steuern. Sind sie infiziert, sind drastische Sicherheitsverletzungen die Folge, die sogar nationalweite Auswirkungen haben können.

Zu den neuen gefährlichen Cyber-Waffen gehören Rootkits und Bootkits. Sie infizieren die Bereiche unterhalb der Betriebssystemebene, sitzen auf der Festplatte oder im Speicher und warten wie ein Schläfer-Kommando auf die Anweisungen einer Befehls- oder Steuerzentrale über das Internet, ehe sie tatsächlich angreifen. Herkömmliche Netzwerk- und Endpunkt-Schutzmechanismen erkennen diese nur schlecht und Allzweckbetriebssysteme sind dafür besonders empfänglich – somit sind unsere neuen vernetzten Embedded-Systeme im Internet der Dinge anfällig.

Der Separationskernel beziehungsweise Hypervisor LynxSECURE ist deshalb mit einer ausgeklügelten Rootkit-Erkennung gewappnet, die diese Bedrohung erkennt und Alarm auslöst, sobald das Rootkit in das System eindringt und nach einem geeigneten Versteck sucht.

* John Blevins ist Director of Product Marketing beim Betriebssystem-Spezialisten LynuxWorks.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

(ID:42415235)