Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 2 Jahren

2-2022

  • Text
  • Identifizieren
  • Speicherprogrammierung
  • Elektronik produktion
  • Lasertechnikbonden
  • Dosiertechnik
  • Ems
  • Nanotechnik
  • Mikrotechnik
  • Qualitaetssicherung
  • Loeten
  • Loettechnik
  • Bestuecken
  • Leiterplatten
  • Displayfertigung
  • Halbleiterfertigung
  • Electronic
  • Elektronik
Fachzeitschrift für Elektronik-Produktion - Fertigungstechnik, Materialien und Qualitätsmanagement

IT-Sicherheit Sichere

IT-Sicherheit Sichere Programmierstandards CWE und CERT für embedded Cybersecurity © shutterstock_SW-Programmierg-776545783 Parasoft www.parasoft.com Angetrieben durch die Digitalisierung und zunehmende Vernetzung von Software ist Cybersicherheit heute in aller Munde. Um vorzubeugen und Software zu programmieren, die sicherer ist, sollten Standards wie CWE und CERT berücksichtigt werden. Beide beruhen auf Forschungsergebnissen, die zeigen, dass das Testen von Software alleine nicht ausreicht, um die Aufgabe zu erfüllen. Oft wird gefragt „Was soll ich verwenden? Ist da eine besser als das andere?“ Beide ergänzen sich gegenseitig und jedes hat eine etwas andere Ausrichtung: Bei CWE handelt es sich um eine Liste von Schwachstellen, über die ein Softwaresystem angegriffen werden kann, während CERT ein Programmierstandard ist, der helfen soll, Schwachstellen zu verhindern, indem fehleranfällige Konstrukte und Muster vermieden werden. Bei Software-Sicherheitsverletzungen werden Schwachstellen in der Software (CWE) ausgenutzt, und entsprechende Richtlinien und bewährte Verfahren (CERT) weisen darauf hin, dass man solche Schwachstellen in seinem System vermeiden muss. Ein Vergleich mit einem Verkehrsunfall macht es deutlich: CWE bezeichnet die Unfallursache(n), z. B. schlechte Sicht an einer Kreuzung, schlechte Bremsen, Ablenkung des Fahrers, zu dichtes Auffahren. CERT sind Vermeidungssysteme, wie z. B. Spiegel an unübersichtlichen Ecken, dritte Bremslichter in Autos, ABS-Bremsen. Risikoverständnis und Priorisierung Ein interessanter und oft übersehener Aspekt von CWE und CERT ist: Beide Standards verfügen über Daten zum Risikoverständnis und zur Priorisierung der gefundenen Sicherheitsmängel. Im Fall von CWE heißen diese Daten CWSS und Technical Impact. Sie helfen zu verstehen, dass die in CWE beschriebenen grundlegenden Code-Probleme (wie Pufferüberlauf) zu spezifischen Problemen führen, wenn sie ausgenutzt werden. Weiß man, welche Probleme auftreten können, lässt sich besser entscheiden, welche Probleme im Zusammenhang mit der eigenen Anwendung oder dem Gerät am wichtigsten sind. Bei CERT gibt es für jede Regel eine Bewertung und eine Empfehlung, die angibt, wie wahrscheinlich es ist, dass das Problem in der Realität auftritt, wie schwierig es zu entschärfen ist und wie schwerwiegend es ist, wenn es tatsächlich auftritt. Zusammen ergeben sie eine Prio- 24 2/2022

IT-Sicherheit CERT-CWE Landscape ritätsstufe, die dabei hilft, um sich auf die wichtigsten Probleme zu konzentrieren. Was ist also der erste Schritt? Hat man beschlossen, das Sicherheitsproblem mit Hilfe der statischen Codeanalyse in den Griff zu bekommen, muss man sich für ein Tool entscheiden. Es sollte: • alle erforderlichen Sicherheitsstandards und mehr als die CW Tops 25 unterstützen, • mit gegebenen Code-Editoren und IDEs sowie Build- und CI- Tools zusammenarbeiten, • ein flexibles und umfassendes Berichtswesen beinhalten, • sowohl Erkennungsregeln (Fluss/ Verfälschung) als auch Präventionsregeln (Standards/Muster) enthalten, • Risikobewertungsalgorithmen in CWE und CERT enthalten, um vorliegende Sicherheitsmängel zu priorisieren und • selektiv auf der Grundlage von aktuellem / neuem / geändertem und altem Code ausgeführt werden. Das passende Tool auswählen Laut Forschern verschiedener Institute sind die aktuellen Open- Source-Tools für die statische Analyse nicht so umfassend wie die kommerziellen Tools. Darum sollte man sicherstellen, dass das eingesetzte Tool die für das eigene Unternehmen wichtigen Punkte abdeckt. Ist die Entscheidung für ein Tool gefallen, muss man es so konfigurieren, dass es die gewünschten Regeln ausführt. Man sollte nicht einfach alle Sicherheitsregeln aktivieren - das zerstört die langfristige Rentabilität der statischen Analyse, weil mehr sicherheitsrelevante Erkenntnisse gewonnen werden, als man sinnvoll verwalten kann. Es ist also lohnenswert, die Anzahl der Regeln zu Beginn zu begrenzen und sie dann zu erhöhen, wenn man den Code in Übereinstimmung mit den Vorschriften bringt. Ein einfacher Ausgangspunkt ist die CWE Top 25, um sich auf die wichtigsten Probleme zu beschränken. Setzt man CERT ein, sollte man nur die Regeln verwenden, die auf die höchste Prioritätsstufe eingestellt sind. Es ist hilfreich, die Entwickler daran zu gewöhnen, sich mit den Problemen zu befassen, und sicherzustellen, dass sie die Beziehung zwischen Regeln, die zur Fehlervermeidung beitragen, und Regeln zur Fehlererkennung verstehen. Wenn der Code sauberer wird, kann man weitere Regeln hinzufügen. Nicht zu vergessen: In einem breit gefächerten Bereich wie der Cybersicherheit wird man nicht alles, was man braucht, bei einem einzigen Anbieter finden. Daher ist es sowohl für die Effizienz als auch für die Einhaltung von Vorschriften wichtig, eine Möglichkeit zu haben, alle Tools in einen einzigen Prozess mit einem umfassenden Bericht zu integrieren, der alle Sicherheitsaktivitäten berücksichtigt. Fazit Angesichts der ansteigenden Zahl von Vorfällen im Bereich der Cybersicherheit müssen sich die Verbraucher (notgedrungen) zunehmend um die Sicherheit von Software und Geräten kümmern. Es ist gut vorstellbar, wenn sich Regierungen mit verschiedenen Formen der Regulierung einmischen, indem sie z. B. die Einhaltung von CWE und/oder CERT vorschreiben. Unabhängig davon, wo die Software ausgeführt wird, ob auf einem Desktop, einem mobilen Gerät, einem IoT- Gerät oder in der Fabrikautomatisierung, kann die Software sicherheit durch einen strengen, auf Standards basierenden Entwicklungsprozess erreicht werden. ◄ 2/2022 25

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel