Sicherheit für das Internet der Dinge

Sicherheit für das
Internet der Dinge

Es gestaltet sich immer schwieriger, Unternehmens-IT-Netzwerke und Endpunkte wie Firmencomputer auf herkömmliche Weise zu schützen. Die prognostizierten Milliarden von Netzwerk-Knotenpunkten, die das Rückgrat des Internet der Dinge bilden, verschärfen das Problem weiter dramatisch.

 (Bild: TVL Media Embedded Computing)

(Bild: TVL Media Embedded Computing)


Der Vorteil der Embedded-Industrie im Gegensatz zur traditionellen Computerwelt ist, dass die Funktionsobjekte im Regelfall für einen bestimmten Zweck gebaut werden. So ließe sich Sicherheit und Schutz bereits bei den Überlegungen zum Systemdesign bevorzugt berücksichtigen. Allerdings ist es so gut wie unmöglich, einem ressourcenbegrenzten Funktionsobjekt, das nicht schon von sich aus sicher ist, Sicherheit in irgendwelcher Form hinzuzufügen. Diese Voraussetzung können am Besten die Anbieter der traditionellen Embedded-Softwareplattform erfüllen, dem Echtzeitbetriebssystem (RTOS). 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 (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 dadurch ermöglichen, Sicherheit auf militärischem Niveau direkt in ihre Geräte einzubetten. Zu den Sicherheitsfunktionen gehören Benutzerbestimmbare Zugriffskontrolle (DAC), Audits, Rollen und Kompetenzen, Identifikation und Authentifizierung, Kryptographie, Quoten, Selbsttest, Residual Information Protection (RIP) und Local Trusted Path.

Zugriffskontrolle über Zugangskontrolllisten

Diese Funktionen tragen dazu bei, vernetzte Embedded-Geräte vor Angriffen zu schützen. Die benutzerbestimmbare Zugriffskontrolle oder Discretionary Access Control (DAC) ist ein Mittel zur Einschränkung des Zugangs zu Objekten – wie Dateien, Anwendungen, Verzeichnisse und Geräte – basierend auf der Identität von Subjekten und/oder Gruppen, zu denen sie gehören. LynxOS 7.0 implementiert DAC mithilfe von Zugangskontrolllisten oder Access Control Lists (ACL) nach Standard Posix.1e. 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. Mit der Audit-Funktion kann ein eingebettetes Objekt wichtige System-Ereignisse erfassen und eine Sicherheitsüberwachung dieser Ereignisse ausführen. LynxOS 7.0 unterstützt eine detaillierte Event-Auditierung von Ereignissen wie Login, Logout, Objektzugriffe und Verwaltungsaufgaben, die alle in einem Prüfpfad-Protokoll festgehalten werden. Dieses enthält unschätzbare Informationen um sicherheitskritische Ereignisse zu überprüfen, Versuche aufzudecken, die Sicherheitsvorkehrungen zu umgehen, die Nutzung von Privilegien nachzuverfolgen und von versuchte Angriffen abzuschrecken, da Audit Logging Eingriffe erfasst, sowie forensische Analysen auszuführen.

Aufspaltung der Root-Privilegien in feiner abgestufte Kompetenzen

Bei LynxOS 7.0 informieren die Auditaufzeichnungen über die Natur, den Verursacher und den Erfolg bzw. Misserfolg des auditierten Ereignisses. Das Betriebssystem stellt 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. Rollenspiele und Leistungsvermögen sorgen für feinere Privilegierungsstufen für Nutzerzugangsrechte als das 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 oder Kompetenzen. Z.B. weisen Administratoren der netadm-Rolle nur Kompetenzen zum Eingriff in das Netzwerk zu (CAP_NET_ADMIN). Eine zweite Rolle auditadm erhalten die Kompetenz Audit-Logs (CAP_AUDIT_CONTROL) zur steuern und Datensätze in diese zu schreiben (CAP_AUDIT_ WRITE). 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. LynxOS 7.0 identifiziert Nutzer über das herkömmliche POSIX.1 User-ID-/ Gruppen-ID-Modell. Hierbei hat jeder Nutzer eine eigene User-ID und gehört einer oder mehrerer Gruppen an.

Verschlüsselung nach OpenSSL- und OpenSSH-Bibliotheken

Ein starker Identifizierungs- und Authentifizierungsmechanismus wie der in diesem Betriebssystem kann das Risiko eines Zugriffs unautorisierter Nutzer auf ein Embedded-Objekt erheblich senken. 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. Das Betriebssystem verwendet FIPS 140-2 zertifizierte Verschlüsselungsalgorithmen und Zufallszahlengeneratoren auf der Basis zertifizierter OpenSSL- und OpenSSH-Bibliotheken. Diese Bibliotheken bieten 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 schützen das Objekt vor zu wenig Festplattenplatz, Speicher und Prozessorkapazität. Z.B. könnte eine Denial of Service-Attacke (DoS) auf das System mit der Absicht, die CPU zu überlasten dazu führen, dass ein ungeschütztes Objekt scheinbar einfriert. Begrenzen Entwickler den Umfang an kritischen Ressourcen wie CPU, die eine Aufgabe verbrauchen kann, 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 führt eine Reihe von Tests während der Inbetriebnahme eines Objekts, in regelmäßigen Abständen bei Normalbetrieb oder auf Anfrage eines autorisierten Administrators durch um sein einwandfreies Arbeiten anzuzeigen. Bei LynxOS 7.0 sollen die Selbsttests für die Gewissheit sorgen, dass Gerätespeicher und Dateisysteme im erwarteten Status befinden.

Daten löschen: Überschreiben mit Nullen

Residual Information Protection (RIP) stellt sicher, dass der Inhalt einer Speicherbelegung keinem anderen Prozess mehr zur Verfügung steht, ehe dieser wieder einer neuen Quelle zugewiesen wird. Das Betriebssystem sperrt Gerätespeicher- und Dateisystemdaten und erhöht dadurch die Sicherheit. Bei jedem gelöschten Dateisystemobjekt werden sämtliche ihm zugewiesenen Blöcke mit Nullen überschrieben. Das Betriebssystem lässt sich so 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 ein Angreifer diesen Dialog weder unterbrechen noch abändern kann. Das Betriebssystem nutzt einen sicheren und eleganten Mechanismus: die Secure Attention Key Sequence. Sie schafft einen zuverlässigen Pfad zwischen Benutzer und der Rechnerbasis. Gängige Programme können dieses Schlüsselmuster nicht unterbrechen. Außerdem bietet das RTOS unter der Bezeichnung Trusted Menu Manager (TMM) eine modulare Rahmenstruktur für alle vertrauenswürdigen Prozesse: 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.

Support für Lang- und Kurzstrecken-Netzwerke

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 von LynxOS 7.0 genutzt werden. Dieser unterstützt sowohl Langstrecken-Netzwerke über TCP/IPV4-, IPV6-, 2G/ 3G/ 4G Funk- und WiMax-Kommunikationsstacks als auch die für Machine-to-Machine-Anwendungen (M2M) ü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 Eindesignen von Sicherheit in das OS selbst schon schwieriger. Hier sind andere Schutz- und Isolationsmechanismen gefragt um sich gegen Cyberangriffe abzusichern.

Sicherheit unabhängig vom Betriebssystem

LynxSecure von LynuxWorks erlaubt Embedded-Entwicklern, unabhängig vom verwendeten Betriebssystem, Sicherheit in ihre Systeme zu implementieren. Von Grund auf entworfen und entwickelt um den anspruchsvollen Sicherheitsanforderungen des US-Verteidigungsministeriums (DoD) zu erfüllen, isoliert ein Separation Kernel 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 Separation Kernel 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. Da immer mehr Embedded-Prozessoren über zwei und mehr Kerne verfügen, wird es immer interessanter Embedded-Systeme mit Virtualisierungstechniken zu versehen. Über Virtualisierung lassen sich Mehrkernsysteme effizient segmentieren und mehrere physikalische Systeme aus einem einzigen Mehrkernsystem zusammenlegen. Eine flexible Separation Kernel/Hypervisor-Lösung erlaubt es Embedded-Entwicklern, jedem Gastbetriebssystem gemäß seinen Anforderungen die angemessene Anzahl an Prozessoren zuzuordnen. Dies kann das Teilen von Prozessorkapazität über mehre Betriebssysteme hinweg einschließen oder aber die Zuteilung eines Einzelkerns für ein einziges OS. Das Betriebssystem kann überdies über Symmetric Multi-Processing (SMP) auf unterschiedliche Kerne zugreifen.

Rootkit-Erkennung beim Einsatz herkömmlicher OS

Setzen Entwickler in Embedded Systeme herkömmliche Computerbetriebssysteme ein und greifen dann auf das offene Internet zu, sind sie ebenso anfällig für verborgene Cyber-Bedrohungen wie normale PCs. Anders als diese können Embedded-Objekte jedoch kritische Infrastrukturen steuern. Sind sie infiziert, sind drastische Sicherheitsverletzungen die Folge, die landesweite Auswirkungen haben können. Zu den aktuellen sehr gefährlichen Cyber-Waffen gehören Rootkits und Bootkits. Sie infizieren die Bereiche unterhalb der Betriebssystemebene, sitzen auf der Festplatte, in den Geräten oder im Speicher und warten auf die Anweisungen einer Kommando- oder Steuerzentrale über das Internet ehe sie tatsächlich angreifen. Herkömmliche Netzwerk- und Endpunkt-Schutzmechanismen erkennen diese nur schlecht. Allzweckbetriebssysteme sind besonders empfänglich. Somit sind unsere neuen vernetzten Embedded-Systeme anfällig. Der Separation Kernel/Hypervisor LynxSecure von LynuxWorks ist jetzt mit einer Rootkit-Erkennung ausgestattet, die diese Bedrohung erkennt und Alarm auslöst, sobald das Rootkit in das System eindringt und nach einem geeigneten Versteck sucht. Embedded-Entwicklern stehen heute also militärisch erprobte Werkzeuge zur Verfügung, mit denen sie Angriffs-Sicherheit in ihre Funktionsobjekte eindesignen können – auf Betriebssystem-Ebene ebenso wie durch die Verwendung eines sicheren Separation Kernels/Hypervisors. Intelligent gebaute Geräte können diese Bedrohungen abmildern und erkennen, lange bevor der Angriff tatsächlich begonnen hat.

Lynuxworks, Inc.
www.lynuxworks.com

Das könnte Sie auch Interessieren