Warum braucht es überhaupt eine kommerzielle Distribution?
Die Unterstützung verschiedener Boards im Linux-Kernel ist mittlerweile Standard und die meisten Board-Hersteller liefern angepasste Versionen. Schaut man sich jedoch genauer an, was die Hersteller in Board Support Packages (BSP) für ihre Boards zur Verfügung stellen, wird man schnell feststellen, dass es unterschiedliche Ansätze gibt. Während einige solche BSPs selbst entwickeln, verwenden andere vorgefertigte BSPs, zum Beispiel aus dem Yocto-Projekt. Außerdem ist es nicht das Kerngeschäft der Hersteller, diese Systeme über mehrere Jahre hinweg mit aktualisierten Paketen und Sicherheitsupdates zu versorgen. Ihr Schwerpunkt liegt auf dem Verkauf von Boards, nicht auf der Pflege von Linux-BSPs. Infolgedessen werden solche BSPs oft nur über relativ kurze Zeiträume von 1-2 Jahren aktualisiert, was besonders für langlebige Embedded-Systeme in Fragen der IT-Sicherheit bedenklich ist.
SYSGO füllt diese Lücke mit ELinOS. Das ELinOS ist nicht nur eine auf den Embedded-Markt, mit seinen strengen Safety- und Security-Anforderungen, zugeschnittene Linux-Distribution, sondern kümmert sich auch um die Paketpflege. Zusammen mit der Debiancommunity werden sicherheitskritische Patches gepflegt und SYSGO garantiert den Support, für mindestens 5 Jahre – und kann bei Bedarf auf 10 Jahre und darüber hinaus verlängert werden. Die Auslegung von ELinOS lässt sich konsequent an die Kundenanforderungen anpassen und ermöglicht so extrem ressourcenschonende Installationen, was für Embedded Systeme essentiell ist. Dadurch erhält der Kunde ein Lightweight-Linux mit sehr kleinem Memory Footprint, das aber alle vom Kunden benötigten Features mitbringt. Durch das gezielte Weglassen von nicht benötigen Komponenten reduziert sich zugleich die Angriffsfläche für Cyberattacken. Das allein ist jedoch nicht das Alleinstellungsmerkmal, da es zahlreiche leichtgewichtige Distributionen gibt. ELinOS verfügt über ein Feature, das im Markt für Industrial-Security-Linux im Hinblick auf die Benutzerfreundlichkeit sonst nicht zu finden ist: Der Feature Configurator erlaubt es, ELinOS entsprechend den betrieblichen Anforderungen eines Projekts auf bequeme Weise, sehr schnell und umfassend zu konfigurieren, um so die gewünschten Funktionalitäten zu erhalten, die einen raschen Einsatz eines Systems ermöglichen. Dadurch verringert sich die Time-to-Market. Man erhält einerseits ein schlankes und damit potenziell sichereres Embedded Linux, kann aber andererseits das Zielsystem leicht anpassen.
Mit der SELinux-Erweiterung, CAPP-compliance, ASLR-Support, der Testsuite um ANSSI-Konformität zu erlangen und der guten Unterstützung von cgroups, lässt sich außerdem auf bequeme Weise das Linux bzw. eingebettete System härten. Der unkomplizierte Support rundet das Angebot ab. Dieses Komplettpaket unterstützt Entwickler bei ihren Kernaufgaben, der Implementierung ihrer Anwendung und der Wartung des Produktes über mehrere Jahre hinweg mit dem Vorteil, dass Projekte vergleichsweise schnell, sicher und vor allem einfach durchgeführt werden können. Dies ist besonders wichtig im Hinblick auf Industrie 4.0, wenn Systeme in immer größerem Umfang miteinander vernetzt sind, was sie potenziell angreifbarer macht und eine gute Handhabbarkeit und Unterstützung erfordert. Ein kontinuierliches Monitoring aktueller Sicherheitsrisiken und die Versorgung der Pakete mit Patches sind daher unabdingbar - ohne dabei Zugeständnisse an den Funktionsumfang und die grundlegende Sicherheitsarchitektur machen zu müssen.
Optimiert für Embedded
Mit ELinOS bietet SYSGO seit 1999 eine für Embedded-Anwendungen optimierte Software-Plattform an. Aktuell, in der Version 7.1, wird der Fokus auf die Sicherheit konsequent weitergeführt. In dieser Version wird die Versorgung mit sicherheitskritischen Aktualisierungen und Paketupdates weiter vereinfacht. Industrielle Stärke – u.a. durch Unterstützung von Bluetooth Classic SPP- und PAN-Profilen und das Bluetooth Low Energy GATT – und eine benutzerfreundliche Oberfläche gehen Hand in Hand mit einem umfangreichen Toolset und langfristigem Support über den gesamten Lebenszyklus. Insbesondere die Pflege der enthaltenen Pakete sowie ein aktives Monitoring von entdeckten Sicherheitslücken sorgen für ein hohes Maß an Sicherheit. Darüber hinaus bietet SYSGO umfassenden technischen Support durch Mitarbeiter, die auch in der Kernel-Community aktiv sind und ist Mitglied der Linux Foundation.
Um der Vielzahl der heute verfügbaren Embedded Plattformen und I/O-Möglichkeiten gerecht zu werden, verwendet ELinOS eine aktuelle Auswahl an Paketen für die jeweilige Architektur. ELinOS basiert zudem auf einem stabilen Linux-Kernel mit langfristiger Unterstützung durch die Community (Long Term Support - LTS).
ELinOS ist eine industrielle Linux-Distribution, die nativ auf einem Zielsystem, aber auch als Instanz bzw. Partition unter SYSGOs Echtzeitbetriebssystem und Hypervisor PikeOS läuft. Mit diesem Hypervisor kann zeitkritische Software deterministisch und parallel zu ELinOS ausgeführt werden, ohne dass dies Auswirkungen auf sicherheitskritische Anwendungen hat. Das Zusammenspiel zwischen PikeOS und dem sicheren Industrie-Linux-System ELinOS wurde ab ELinOS 7.0 durch eigene Pools verbessert. ELinOS ist zudem besonders einsteigerfreundlich: Durch den einfachen Zugang eignet sich die Distribution besonders für Entwickler, die neu im Bereich Embedded Linux sind. ELinOS enthält die vorkompilierte Cross-Compiling-Umgebung, um direkt mit der Entwicklung des Systems zu beginnen.
Dank der vergleichsweise einfach zu bedienenden Eclipse-basierten IDE CODEO und Assistenten kann ein System nach Kundenwunsch in wenigen Minuten erstellt werden. Ein effizientes Build-System mit vorkompilierten Paketen ermöglicht kurze Vorlaufzeiten in kritischen Entwicklungsphasen, und Skripte erlauben es, Build- und Testszenarien mit nur einem Klick zu implementieren. Aufgrund der langjährigen Erfahrung mit Linux kann SYSGO seine Kunden von der Planung der Hardware bis zur Implementierung und Anpassung des Systems an die Bedürfnisse der Anwendungen unterstützen. Durch die einfache Trennung zwischen Linux-Kernel, BSP und Kundenprojekt ist es möglich, in kürzester Zeit neue Treiber zu integrieren und Anwendungen zu entwickeln.
Breite Hardware-Unterstützung
ELinOS bietet eine breite Unterstützung für viele Boards und baut diese konsequent aus, zum Beispiel mit einem BSP für Freescale/NXP i.MX8 QXP MEK. OEMs können auf kundenspezifische BSPs zurückgreifen, die auf bestimmte Hardware-Produkte zugeschnitten sind und die Support-Teams entlasten. Darüber hinaus hilft SYSGO bei der Portierung von ELinOS auf kundenspezifische Hardware und bietet Unterstützung für das On-Board-Setup. Für Soft-Echtzeit-Anwendungen wurde der Linux-Realtime-Patch (PREEMPT_RT) integriert. Bei Verwendung des PikeOS-Hypervisors können sicherheitskritische Systeme mit einer vollständig kompatiblen Linux-Instanz erweitert werden.
Eclipse-basierte IDE
Die Entwicklungsumgebung für ELinOS ist die Eclipse-basierte IDE CODEO. Mit CODEO steht Systemarchitekten ein grafisches Konfigurationswerkzeug zur Verfügung. Für die Entwicklung von Embedded-Anwendungen enthält CODEO umfangreiche Werkzeuge, um Embedded-Projekte zeit- und kosteneffizient abzuwickeln:
- Geführte Konfiguration
- Remote-Debugging (bis auf die Hardware-Befehlsebene)
- Target-Überwachung
- Remote-Deployment von Anwendungen
- Timing-Analysen
CODEO enthält Standardfunktionen für die Anwendungsentwicklung wie Debugger, Compiler, Assembler und Linker.
Eine QEMU-basierte Hardwaresimulation unterstützt die Entwickler bei der Simulation der Zielhardware auf dem Entwicklungssystem. Diese Hardwaresimulation ist für alle verfügbaren Architekturen verfügbar und kann über einen grafischen Assistenten direkt in der IDE verwaltet und konfiguriert werden. Dies ermöglicht eine schnelle Softwareentwicklung, frühes Testen und Debuggen, auch ohne reale Zielhardware.
Der Dateisystem-Editor ermöglicht eine effiziente Verwaltung von Dateien und Konfigurationen. Dateien können direkt zum Dateisystem hinzugefügt und entfernt werden. Darüber hinaus bietet er eine dynamische Vorschau des endgültigen Layouts, die automatisch aktualisiert wird, wenn die zugehörige Konfiguration geändert wird, was sich direkt auf das Dateisystem auswirkt.
Mehrere dedizierte grafische Editieransichten unterstützen den Systemintegrator dabei, stets den Überblick über wichtige Aspekte der ELinOS-Systemkonfiguration zu behalten, mit Plug-ins für Zielanalysen wie Systemüberwachung, Tracing oder Debugging.
Mit wiederverwendbaren Templates können Projekte einfach definiert und an Entwicklungsgruppen verteilt werden. Die Entwickler können vordefinierte Komponenten für ihr Projekt konfigurieren und während des Entwicklungsprozesses zusätzliche Komponenten definieren und hinzufügen.
Als integrierte Entwicklungsumgebung für Embedded Systeme unter Linux bietet ELinOS eine Vielzahl von Werkzeugen, unterstützt geeignete Boot-Strategien, ist durch seine grafische Benutzeroberfläche einfach zu bedienen und für gängige Embedded Hardware verfügbar. Dies ermöglicht ein nahtloses Arbeiten von der Treiberentwicklung bis zur Anwendungsintegration.
Die seit April 2022 verfügbare aktuelle Version 7.1 von ELinOS basiert auf dem Linux-Kernel 5.10 mit Langzeitunterstützung und Echtzeit-Erweiterungen und unterstützt native 64-Bit-Entwicklungssysteme unter Windows und Linux. Die Toolchain umfasst gcc v8.3 und binutils v2.31; die Standardbibliothek glibc ist in der Version 2.31 verfügbar.
System- und Servicemanager systemd nun integriert
Seit der Version 7.1 wurde erstmals der System- und Servicemanager systemd integriert. Dieser erhöht die Responsivität von Linux-Systemen und beschleunigt vor allem komplexe Bootszenarien, da er durch Parallelisierung der Prozesse weniger Verzögerungen verursacht. Zudem erleichtert systemd das Handling von Abhängigkeiten zwischen Services mit den darüber erzielbaren Performancegewinnen. Innerhalb ELinOS‘ integrierter Entwicklungsumgebung CODEO können mittels Feature Configurator zudem alle Komponenten von systemd bedarfsgerecht zu- oder abgewählt werden, um eine maßgeschneiderte und damit footprint- und performanceoptimierte systemd-Konfigurationen zu erhalten. Auch anwendungsspezifische Shell-Scripte lassen sich einfach implementieren. Anwender, die zu systemd eine Alternative suchen, können in ELinOS 7.1 optional BusyBox init nutzen.
Sicher
Noch sicherer werden ELinOS 7.1 basierte Embedded-Linux-Images durch das neue Product-Update-Tool, welches den Workflow für das Einspielen neuer Security- und Service-Patches deutlich erleichtert und beschleunigt. Beim Starten der Entwicklungsumgebung synchronisiert es sich automatisch mit dem SYSGO-Download-Server und zeigt die verfügbaren Sicherheits- und weiteren Paket-Updates an. Diese können sodann bedarfsgerecht entweder über das grafische Benutzerinterface mit nur einem Klick oder über die Befehlszeilenschnittstelle installiert werden. Abhängigkeiten zwischen diesen – selbstverständlich digital signierten und vor Installation verifizierten – Paketen werden dabei automatisch berücksichtigt. In Kombination des bereits ab ELinOS Release 7.0.2 verfügbaren Over-the-Air Update-Tools für Target Devices können so Sicherheitsupdates für dedizierte Linux Images verzögerungsfrei auf dem Target-System im Feld ausgerollt werden. In Zeiten zunehmender Bedrohungen vor Cyberattacken ist schließlich neben einer sicheren Systemauslegung nach Stand der Technik auch ein schnelles und komfortables Updatemanagement entscheidend. Wichtig war deshalb beim Release 7.1 nach dem Support der Kernelerweiterung Security-Enhanced Linux (SELinux), der Aktivierung von Address Space Layout Randomization (ASLR) und dem Launch des Over-the-Air Update Tools für Target Devices auch das Build-Environment tagtäglich mit nur einem Klick auf den neusten Stand bringen zu können.
Um den Kunden die Möglichkeit zu geben, ihre Systeme auf Sicherheit zu überprüfen, bietet ELinOS eine selbstentwickelte Testsuite an. Diese ist angelehnt an die Regeln der French National Cybersecurity Agency (ANSSI) und erlaubt es, das System auf Schwachstellen innerhalb der Konfiguration zu überprüfen. Zusätzlich ist es über den Feature Configurator möglich, auf einfache Art und Weise diverse sicherheitsrelevante Konfigurationen abzusichern.
Weitere Features des ELinOS-7.1-Ecosystems sind erweiterte IPv6-Funktionalität, unterschiedliche Algorithmen zur Komprimierung von Linux Images sowie der Support von Raspberry Pi4.
Große Zielmärkte für SYSGOs Embedded-Linux-Distribution finden sich übrigens unter anderem in IIoT-angebundenen Edge-Systemen kritischer Infrastrukturen (KRITIS) der Energie- und Versorgungswirtschaft, industrieller Automatisierung und Medizintechnik sowie in Automotive-, Railway- und Aerospace-Applikationen. Sie alle benötigen eine langfristige und solide Open-Source-basierte Sicherheitsarchitektur und den Support eines kommerziellen Distributors, der rasch, kompetent und den Kundenbedürfnissen entsprechend hilft.
Mehr informationen unter www.sysgo.com/elinos
Quellen Informationen
[1] Cyber Security Report 2021 - Bedrohungslage auf hohem Niveau: Digitale Meinungsbildung in Gefahr?