Ein sicheres Systemdesign für Flugdrohnen entwickeln

Autor / Redakteur: Alex Wilson * / Sebastian Gerstl

Flugdrohnen werden - nicht nur in Form von Multikoptern - immer interessanter für den privaten, kommerziellen oder auch industriellen Einsatz. Doch ähnlich wie in der bemannten müssen auch in der unbemannten Luftfahrt hohe Security-Ansprüche erfüllt werden.

Anbieter zum Thema

Unbemannte Flugsysteme (unmanned aircraft systems, UAS) wie beispielsweise Quadcopter werden für den kommerziellen, aber auch für den industriellen Markt immer interessanter. Bei der Entwicklung dieser Systeme muss besonders scharf auf die Sicherheit geachtet werden.
Unbemannte Flugsysteme (unmanned aircraft systems, UAS) wie beispielsweise Quadcopter werden für den kommerziellen, aber auch für den industriellen Markt immer interessanter. Bei der Entwicklung dieser Systeme muss besonders scharf auf die Sicherheit geachtet werden.
(Bild: gemeinfrei / CC0 )

Für den kommerziell genutzten Luftraum gibt es immer mehr Regulierung – nicht für die 35.000 Fuß Flughöhe, in denen Flugzeuge unterwegs sind, sondern den Bereich direkt über unseren Köpfen. Denn Drohnen sind inzwischen unglaublich beliebt, und ein Ende dieses Trends ist nicht abzusehen. Luftfahrtgeräte, die in der Freizeit genutzt werden, unterscheiden sich natürlich erheblich von den unbemannten Luftfahrtsystemen (unmanned aircraft system; UAS) für Raumfahrt und Militär, doch ist die Popularität beider ungebrochen. Die Preise für privat genutzte Drohnen sind inzwischen erschwinglich, und das macht sie noch attraktiver. Um das Potential kommerziell genutzter UAS-Systeme voll ausschöpfen zu können, müssen auch hier die Kosten für Entwicklung und Instandhaltung sinken.

Um diese Technologie erschwinglicher zu machen, bietet sich die Einführung offener Systemarchitekturen (Open Systems Architecture, OSA) an. System-Modularisierung durch Hardware- und Software-Frameworks mit geschichtetem, abgegrenztem Aufbau schafft eine ausgeglichenere Wettbewerbssituation. Komplexe Systeme werden in definierte, interagierende Services aufgeteilt; so wird ein Wettbewerb auf Augenhöhe gefördert. Das amerikanische Verteidigungsministerium unterstützt den OSA-Ansatz, nicht zuletzt, weil er die schnelle Technologie-Migration über verschiedene UAS-Plattformen ermöglicht.

Bildergalerie

End-to-End Security in Flugdrohnen

Anders als bei Consumer-Drohnen richtet sich bei kommerziellen UAS-Systemen der Fokus besonders auf die Security sämtlicher Systemkomponenten – die Kommunikation innerhalb des UAS-Systems, mit der Steuerung (meist Remote) sowie Nutzlast (die missionskritische Funktionen ausführt, z.B. Überwachung).

Als vernetztes verteiltes System ist ein UAS vor potentiellen Angreifern zu schützen, die sich Zugriff auf die Steuerung und/oder Kommunikation verschaffen wollen.

Bodenstationen setzen vermehrt auf OSA-basierte Systeme; in UAS finden dabei veröffentlichte Services Anwendung, wie z.B. Betriebsdaten, zusammen mit der Nutzlast, darunter ISR-Daten (Nachrichtendienst, Überwachung und Aufklärung). Die Bodenstation ist mit weiteren (möglicherweise cloudbasierten) Systemen verbunden. Damit steigt die Gefahr von Sicherheitsbedrohungen in einer Netzwerktypologie, in der jederzeit Geräte hinzukommen oder entfallen können – umso mehr sind umfassende End-to-End Security-Maßnahmen vonnöten.

Wie in Bild 1 dargestellt, beginnt Security beim Bootvorgang mit einer “Root of Trust”, die sich über das gesamte System erstreckt und sicherstellt, dass nur vertrauenswürdige Programme, Nutzlast und Kommunikation ausgeführt werden dürfen. Eine Software, die dieser Root of Trust entspricht, bietet bestimmte Sicherheitsfunktionen.

Dazu gehört die Verifikation digitaler Signaturen, meist nach einem Public-Key-Verschlüsselungsstandard wie X.509 ITU-T. Dies stellt sicher, dass ausschließlich autorisierte Programme ausgeführt werden. Die Verschlüsselung liefert Root-Keys und -Zertifikate für die Authentifizierung.

Ebenso sollte die Software die Datenver- und -entschlüsselung unterstützen, beispielsweise Secure Socket Layer (SSL), um Schadprogramme in verschlüsselten Daten zu erkennen. Zusätzlicher Schutz für Schnittstellen, wie IPsec und Internet Key Exchange, stellt umfassende Security für die Netzwerkkommunikation sicher. Mittels AES stark verschlüsselte Container schützen inaktive Daten (data at rest).

Darüber hinaus sollte ein zentrales und einheitliches User-Management-System vorgesehen werden, das die Laufzeitaktivität durch Zugangsbeschränkungen aufrecht erhält - nur autorisierte User können auf bestimmte Systembereiche zugreifen. Ergänzend sind Funktionen wie Logging und Auditing sinnvoll, anhand derer Administratoren sehen, auf welche Teile des Systems zu welcher Zeit und von welchen Usern zugegriffen wurde. Und nicht zuletzt sorgt die Möglichkeit der sicheren Integration von Drittanbieter-Services, z.B. Contentanalyse und Threat Intelligence, für erhöhte Security.

Geschütztes Betriebssystem

Open-Source-Technologien wie Linux sind nicht automatisch vor Bedrohungen in einer UAS-Umgebung geschützt. Doch bieten sie viele Vorteile, die die Anforderungen eines OSA-Ansatzes erfüllen. Die Verwendung einer Plattform mit gehärtetem Betriebssystem-Kernel erhöht jedoch die Sicherheit.

Ein gehärteter Linux-Kernel beinhaltet z.B. Funktionen wie Grsecurity und den PaX-Patch sowie Maßnahmen wie Speicherverwürfelung (Address Space Layout Randomization, ASLR) und Speicherbereinigung. Diese wichtigen Funktionen und Maßnahmen werden nachfolgend beschrieben.

Grsecurity, entwickelt und gepflegt von der Firma Open Source Security Inc., bietet zusätzliche Sicherheitsmechanismen für den Linux-Kernel. Damit lassen sich über Zugriffskontrolle Bedrohungen abwehren und Speicherbeschädigungen vermeiden. Auch enthalten ist der PaX-Patch. Er schützt Daten und Programme im Speicher, hauptsächlich durch Kennzeichnung von Daten als nicht ausführbar und Programmen als nicht beschreibbar.

ASLR bzw. Address Space Layout Randomization wurde vom PaX-Projekt als Linux-Patch entwickelt, findet sich jedoch inzwischen in vielen bekannten Betriebssystemen. Es macht Adressräume unvorhersehbar und erschwert es damit Angreifern, bestimmte Prozesse im Speicher aufzufinden. Beim Versuch, einen Prozess aus einer falschen Adresse heraus auszuführen, stürzt das System dann in den meisten Fällen ab, und es wird kein fehlerhafter Code ausgeführt.

Auch Secure-Core/Platform-Funktionen zum Schutz vor Laufzeit-Buffer-Overflow lassen sich integrieren, um Systeme abzuschotten, zu überwachen und zu prüfen. Für Administratoren beutet das mehr Kontrolle.

All diese Funktionen sind in Wind River Linux implementiert. Tabelle 1 zeigt zusätzlich die Security-Funktionen von VxWorks.

Testen über den gesamten Lebenszyklus

Angriffe werden immer bösartiger; sie reichen von normaler Malware über das mutwillige Ausnutzen von Zero-Day-Systemschwachstellen bis hin zu fortgeschrittenen, andauernden Bedrohungen, den so genannten Advanced Persistent Threats. Es ist also unerlässlich, nicht nur den Betrieb, sondern auch die Security-Funktionen eines UAS-Systems kontinuierlich zu testen.

Beim Testen wird normalerweise geprüft, wie ein System simulierte Angriffe abwehrt. Dies kann wertvolle Daten für die Entwicklung liefern. Indem der Testumfang innerhalb eines Teams erweitert wird und Mitarbeiter aus Entwicklung, Wartung, Test und Forschung involviert werden, können Daten schnell und effizient gesammelt werden. Mithilfe virtualisierter Hardware lässt sich ein digitaler Zwilling (“Digital Twin“) erstellen, so dass für den Test nicht mehr das eigentliche System zur Verfügung stehen muss.

Die Simulation eines UAS-Systems mit einem “Digital Twin“ ist eine methodische Herangehensweise, um potentielle Schwachstellen auf sämtlichen Ebenen - vom Einzelprozessor bis hin zum gesamten Netzwerk - zu identifizieren und zu verstehen.

So lassen sich beispielsweise Fehlerkonditionen auf mehreren virtuellen Plattformen replizieren, und mehrere Personen können parallel und so oft wie nötig an einem bestimmten Problem arbeiten. Beim Testen in einer virtualisierten Umgebung lassen sich auch bewährte Methoden wie Single-Stepping anwenden. Da das Gesamtsystem virtuell ist, gibt es auch keinen Bereich, auf den nicht zugegriffen werden kann – jeder Systemaspekt kann untersucht und analysiert werden. Ein Fehler lässt sich zu jedem Zeitpunkt simulieren und ins System einbringen, so dass umfassende Tests mit möglichst wenigen Variablen durchgeführt werden können. Dieses Maß an Sichtbarkeit liefert mehr Einblicke während der Debug-Phase – ein großes Plus bei der Entwicklung von Low-Level-Code und -Treibern sowie sonstiger Firmware. Simics, der Gesamtsystem-Simulator von Wind River, bietet Entwicklern in einer virtuellen Umgebung Zugriff auf ein Gesamtsystem (siehe Bild 2).

Fazit: Security essentiell für die Entwicklung unbemannter Luftfahrzeuge

Bei der Entwicklung unbemannter Luftfahrzeuge ist ein besonderes Augenmerk auf das Thema Security zu richten. Jedoch ist dies mehr als nur eine technologische Herausforderung und erfordert Lösungen, die auf jeden Fall erschwinglich sein müssen. Hier bieten sich offene Architektursysteme und offene Standards an. Für potentielle Angreifer bzw. Bedrohungen liefern diese jedoch in gewisser Weise auch Mittel, Motiv und Gelegenheit.

Um diese beiden entgegengesetzten Kräfte in Einklang zu bringen, sind Lösungen gefragt, die beide Seiten berücksichtigen. Mithilfe geeigneter Tools für die Entwicklung hochsicherer Systeme lässt sich ein robuster und sicherer Software-Kernel schaffen. Für diese Anforderung ist Wind River bestens aufgestellt.

* Alex Wilson ist Director of Market Development bei Wind River.

(ID:45454768)