E



Linux Security – gehärtetes Linux

Linux hat sehr viele Möglichkeiten zum Schutz vor Cyberangriffen. Dies ist unter anderem auf den jahrelangen Einsatz in Rechenzentren zurückzuführen. Parallel dazu werden immer mehr Funktionen heute auf System-on-Chips (SoC) für die Industrie zur Verfügung gestellt, so dass die Technologien aus der Serverwelt nun auch in die Fabrik kommen (Virtualisierung, Container, etc.).

Die Festlegung, welche der Komponenten wie und in welcher Kombination zum Einsatz kommen sollen, erfordert viel Erfahrung auf der Linux Seite sowie ein Verständnis der Anwendung, dem Umfeld, in der dieses Gerät eingesetzt wird und auch der betriebswirtschaftlichen Komponente. Nicht immer muss alles und kann alles realisiert werden. Außerdem darf nie vergessen werden, dass Security keine einmalige Sache ist, sondern über den gesamten Lebenszyklus des Gerätes gelebt werden muss. Weitere Informationen zu diesem Thema finden Sie unter Life-Cycle ManagementUpdate und IGL Monitoring.

Security sollte bereits von Anfang an bei der Entwicklung eines neuen Geräts berücksichtigt werden. Dies erlaubt es nicht nur, die richtigen Tools zu verwenden und die korrekten Maßnahmen umzusetzen, sondern auch die Entwicklungs-prozesse korrekt aufzusetzen, um die Sicherheit über den Lebenszyklus zu gewährleisten. Security bedeutet nämlich auch, dass der Entwick-lungsprozess "sicher" sein muss in dem Sinne, dass keine Schadsoftware während der Entwicklung einge-schleust werden kann. 

Werden nur mainline Linux (kernel.org) Komponenten ausgewählt, so ist sichergestellt, dass diese auch in zukünftigen Versionen zur Verfügung stehen. Damit ist eine langfristige Investitionssicherheit gegeben. Und gleichzeitig können alle Bug-Fixe und Weiterentwicklungen aus der Community übernommen werden.

Alle Komponenten sind auf den jeweiligen Anwendungsfall (Hardware, Anforderungen) anzupassen. Es gibt hier keine "fertigen" Lösungen. Allerdings hilft es, wenn das Know-How, wie diese zu nutzen sind, aus vielen Anwendungen heraus vorhanden ist.

Wichtige Komponenten für ein sicheres System sind unter anderem:

  • Secure / Measured Boot / chain of trust – damit auch das System bootet, das Sie ausgeliefert haben. Mit weiteren Linux Tools lässt sich auch das Root-File System verifizieren. Realisierte Lösungen: iMX / QorIQ, TI Sitara, Atmel SAMA5, Xilinx Zynq, UltraScale+ und HSM / TPM Chips
  • Autorisierung, (User-)Zugriff, Logging aller Zugriffe, Speicherung von Diagnoseinformationen (verschlüsselt)
  • Härten des Systems, Minimierung der Angriffsfläche, Entfernen aller nicht benötigten Softwareteile (Services, Daemons etc.), optimierte Konfiguration von Kernel und Paketen
  • Verschlüsselung der Daten (und Programme) auf dem Gerät (at rest), während der Be-arbeitung (in use) und für die Kommunikation (in motion)
  • Sichere Geräteauthentifizierung und Nachweis der Identität, vor allem bei vernetzten Geräten (IIoT, onboarding)
  • Virtualisierung – Hypervisor- oder Container- basierter Ansatz zum "sandboxing" von Anwendungen
  • Kombination von HSM / TPM beziehungsweise TrustedZone (TZ) mit einem Trusted Execution Environment (TEE) mit einem Hypervisor unter Einbeziehung des Bootloaders
  • fTPM (Firmware TPM, kompatibel zu TPM 2.0) auf Basis von ARM Trusted Zone (TZ), OTP Bereich und eMMC mit RPMB (replay protected memory blocks)
  • Sicheres Update für das Gerät – Validierung des Updates auf dem Gerät selber und sicheres Buildsystem zur Generierung des Updates
  • Security Monitoring – lebenslanges Update mit aktuellen Security Patchen. Mehr Informationen unter Life Cycle Management.

Eine in Bezug auf Security optimierte Lösung könnte ein Secur_OS sein, so wie wir es im Zusammenhang mit unserem Industrial Grade Linux definiert haben. Das könnte dann in etwa so aussehen wir es die folgende Grafik aufzeigt:

Linutronix bietet hierfür wie auch für das Industrial Grade Linux optionale Subskriptionen zur kontinuierlichen Wartung, Pflege und Update des BSP an.