Safety und Security Methoden

Safety & Security: Auf bekannte und bewährte Methoden setzen

Die Betriebssicherheit von softwareintensiven Embedded-Systemen ist eng mit dem Schutz vor einem unbefugtem Zugriff oder einem gezielten Angriff verbunden. Die dazu notwendigen Maßnahmen stellen Software- und Hardwareentwickler gleichermaßen vor hohe Herausforderungen.

Embedded-Systeme sind so strukturiert und in umgebende technische Systeme integriert, dass sie komplexe Steuerungs- und Datenverarbeitungsaufgaben übernehmen können. Dabei darf die Betriebs- und Datensicherheit durch äußere Einflüsse nicht gestört oder gar verhindert werden.

Das erreicht man einerseits mit Erhaltung der Betriebssicherheit (Safety), andererseits versteht man unter Sicherheit die Gesamtheit der Maßnahmen, um ein System vor Zugriffen bzw. Angriffen von außen zu schützen (Security). Das unterstreicht sowohl die Abgrenzung dieser Begriffe, zeigt aber auch, wie eng sie zusammenhängen.

Offenheit und Sicherheit unter einen Hut bringen

Angesichts des rasanten Fortschritts, der von zunehmendem Zeit-, Konkurrenz- und Erfolgsdruck zuverlässig begleitet wird, besteht die zentrale Herausforderung darin, neben Qualitätsforderungen auch ein angemessenes Sicherheitsniveau zu realisieren. Die Anforderungen, Offenheit (Vernetzbarkeit mit anderen Systemen) sowie Änderungsfreundlichkeit und Sicherheit sinnvoll unter einen Hut zu bringen, stehen auf den ersten Blick im Widerspruch zu einem gut geschützten Software Engineering.

„Verbauen und Vergessen“ gehört der Vergangenheit an

Bei Embedded-Software kann eine Verbesserung der Zugangssicherheit über Software-Updates erfolgen. Dies wiederum erfordert die Zugänglichkeit des Systems über Schnittstellen, z.B. zum Internet. So führt die Anforderung, die Sicherheit der Software durch Updates zu verbessern, zwangsläufig dazu, dass das System nicht vollständig gegen unbefugten Zugriff schützbar ist. Daraus ergeben sich gleichermaßen Aufgaben für die Entwicklung von Soft- und Hardware. In punkto Hardware werden dafür nämlich sichere Interfaces und Übertragungsprozeduren benötigt. Und die Software muss so aufgebaut sein, dass sie autorisiert korrigiert, aber nicht ohne Autorisierung manipuliert werden kann. Das Motto „Verbauen und Vergessen“ gehört damit der Vergangenheit an.

Bekannte und bewährte Algorithmen und Methoden nutzen

Bei der Entwicklung von Embedded-Systemen können durch die Anwendung kryptologischer Verfahren viele Prozesse sicher oder zumindest sicherer gemacht werden. Leider passieren immer wieder die gleichen Fehler bei der Implementierung von Kryptologie. Eindringlinge haben es dadurch oft unnötig leicht. Softwareentwickler gehen häufig davon aus, dass die von ihnen entwickelten Algorithmen niemand knacken kann, doch das Gegenteil ist der Fall. Ein gängiges Mittel ist hier das Schreiben unklaren oder scheinbar verworrenen Codes. Doch gerade bei der heutigen Vernetzung wird jedes Verfahren früher oder später bekannt. Der Selbsttest eines eigenentwickelten Algorithmus führt möglicherweise zu dem Ergebnis, dass es nicht einmal dem Autor selbst gelingt, ihn zu knacken. Dann gilt er als besonders sicher.

Letztlich sieht man es einem Algorithmus jedoch nicht an, ob er nun sicher ist oder nicht. Daher gilt die Empfehlung, konservativ zu entwickeln und dabei bekannte und altbewährte Algorithmen und Methoden zu nutzen.

Doch auch einer perfekt implementierten Kryptologie sind Grenzen gesetzt, wie z.B. Denial-of-Service-Attacken oder der immer Erfolg versprechende Versuch, stets das schwächste Element eines Walls von Maßnahmen für die Sicherheit zu instrumentalisieren: den User selbst.

So gilt letztlich, dass gesunder Menschenverstand niemals hinter Formalismen verschwinden darf. Für die Realisierung von Sicherheit gilt immer, dass etwas Sicherheit besser ist als gar keine.

Weiterführende Informationen

MicroConsult Training & Coaching zum Thema Safety & Security

MicroConsult Fachwissen zum Thema Qualität & Sicherheit

Veröffentlicht von

Marcus Gößler

Marcus Gößler

Nach meinem Studium der Elektrotechnik an der Technischen Universität Graz begann meine berufliche Laufbahn als Field Application Engineer für analoge und digitale Produkte im Bereich Luft-und Raumfahrt. Weitere Applikationsfelder umfassten Audio/Video, portable Systeme und Infotainment im Automobil. Ich leitete Applikationsorganisationen in Zentral- und Osteuropa und zeichnete Verantwortung für große Halbleiterhersteller im Vertriebskanal und Marketing. Bei MicroConsult bin ich heute als Trainer und Coach im Bereich Embedded Systems tätig, mit Schwerpunkten in sicherheitsrelevanten Anwendungen und Multicore-Bausteinen.