Sicherheit beim Enginering
Leitfaden für Safety und Security
Funktionale Sicherheit und Angriffssicherheit werden meist unabhängig voneinander betrachtet – was zu Sicherheitslücken, erhöhter Entwicklungszeit und somit steigenden Kosten führt. Ein gemeinsamer Prozessleitfaden, der beide Bereiche umfasst und Synergien nutzt, kann helfen, dieses Manko zu beheben.
Für Unternehmen bedeuten Safety (Funktionale Sicherheit) und Security (Angriffssicherheit) in erster Linie zusätzliche Kosten und mitunter auch eine geringere Verfügbarkeit der Fertigung. Dass funktional sichere Produkte zum Einsatz kommen müssen, schreibt mittlerweile der Gesetzgeber vor. Zurückhaltender ist er hier noch beim Thema Angriffssicherheit. Allerdings können Vorstände und Geschäftsführer grundsätzlich zur Verantwortung gezogen werden, sollten sie nicht mit der Sorgfalt eines ordentlichen Geschäftsmanns auf Risiken reagieren, die den Fortbestand oder die Entwicklung des Unternehmens gefährden.
Dass sich Safety und Security bei der Software-Entwicklung überschneiden, wurde lange Zeit zu wenig beachtet – obwohl fehlende Security das Sicherheitsniveau von Safety stark mindern kann. Insbesondere mit der fortschreitenden Digitalisierung in den Unternehmen, beispielsweise durch "Industrie 4.0", "Internet of Things" oder die Integration von mobilen Endgeräten in die Fertigung, eröffnet sich eine Vielzahl an Anwendungen, in denen vormals geschlossene Systeme Kommunikation erfordern. Dabei operieren Security-Experten zwangsläufig mit Daten, die für die Funktionale Sicherheit von Systemen elementar sind. Allerdings sind sich die Verantwortlichen oft der Brisanz dieser Daten nicht bewusst. Auch andersherum muss das Verständnis der Safety-Spezialisten für Security-Bereiche gestärkt werden: Der Pufferüberlauf (buffer overflow) etwa ist eine häufig genutzte Sicherheitslücke in aktueller Software. Im Idealfall erkennen Safety-Experten diese Gefahr und ziehen Security-Profis zu Rate. Aktuell fließen die funktionalen Security-Anforderungen jedoch noch zu wenig in die Entwicklung funktional sicherer Software ein.
Ein Beispiel aus der Fertigung
Roboterzellen sind ein typisches Beispiel dafür, dass Lücken in der Security durchaus die Funktionale Sicherheit einer Anlage gefährden können.
© iStock / Jonathan HegerIn einem Industriebetrieb soll ein Roboter bei der Fertigung unterstützen, indem er ein Bauteil dreht und von einem in den anderen Fertigungsbereich hebt. Der Gesetzgeber fordert hier, dass keine Gefahr von dem Roboter für die Arbeiter ausgehen darf. Die Lösung ist heute größtenteils einfach: Ein Metallgitter stellt sicher, dass sich niemand in dem Schwenkbereich des Roboterarms aufhalten kann. Für Wartungsarbeiten jedoch muss ein Facharbeiter in den Sicherheitsbereich, der durch eine Türe im Absperrzaun betreten werden kann. Dafür besitzt der Techniker beispielsweise eine Chipkarte, mit der er sich als Berechtigter authentifizieren muss. Solange der Techniker im Sicherheitsbereich ist, darf der Roboter nur wenige, für die Wartung benötigte Bewegungen mit stark reduzierter Geschwindigkeit ausführen. Dies soll hier eine funktional sichere Software nach IEC 61508 gewährleisten. Zusätzlich sind im Rahmen einer Fertigung nach den Vorgaben von Industrie 4.0 beispielsweise folgende Szenarien denkbar:
- Der Einsatz eines Agentensystems erfordert eine Vernetzung aller relevanten Komponenten untereinander.
- Bei der Optimierung der Fertigung mittels Data-Mining können externe Datensätze (zum Beispiel von Zulieferfirmen) integriert werden.
Beide Beispiele schaffen durch Vernetzung potenzielle Angriffsflächen. In erster Linie auf das gesamte IT-System, zu dem aber auch der Roboter und die funktional sichere Software gehören. Ein Angreifer kann so etwaige Sicherheitslücken ausnutzen, in Software oder Firmware implementierte Schutzmechanismen außer Kraft setzen und den vernetzten Roboter fehlsteuern. Hier stellt bereits die Anbindung des Roboters an einen Computer ohne direkte Verbindung zur Außenwelt eine Gefahr dar. Denn schon die Verwendung von USB-Sticks (siehe Infokasten unten) ist ausreichend, um Angreifern Zugriff auf die funktional sichere Software des Roboters zu ermöglichen.
| Infokasten Risiko Mitarbeiter |
| Ein Test bei einem großen, deutschen Industrieunternehmen zeigt, dass Security auch abseits der Software-Entwicklung in den Fokus rücken muss. Von zehn 'verlorenen' und auf dem Mitarbeiter-Parkplatz verteilten USB-Sticks wurden acht an Mitarbeiter-Computer angeschlossen und ausgelesen – teilweise sogar mehrfach. Ein Eldorado für Angreifer, eine Herausforderung für Security-Verantwortliche! |
Normeninhalte verständlich aufbereitet
Der bis SIL 3 TÜV-zertifizierte Prozessleitfaden iFSM greift das V-Modell aus der IEC 61508 auf und unterstützt bei der Zertifizierung.
© Infoteam SoftwareDas Erstellen einer funktional sicheren Software ist eine Herausforderung. Es werden Prozesse und Werkzeuge benötigt, mit deren Hilfe zertifizierbare Systeme nach IEC 61508 erstellt werden können – quasi eine Art sicherer Entwicklungsprozess. Unterstützung bei der normenkonformen Dokumentation und Durchführung des Prozesses nach Vorgaben des Functional-Safety-Managements erhalten Entwickler beispielsweise mit dem nach IEC 61508 bis SIL 3 zertifizierten Projektleitfaden Infoteam Functional Safety Management (iFSM).
Ein aufwendiges Einarbeiten aller Projektbeteiligten in die Norm ist somit nicht mehr notwendig. Alle relevanten Inhalte sind verständlich aufbereitet, auf die einzelnen Rollen und Phasen einer Entwicklung nach IEC 61508 zugeschnitten und ‚mit einem Mausklick‘ abrufbar. Weiterhin unterstützen Mustervorlagen für die in der Norm geforderte Dokumentation die Projektarbeit. Der Fokus für die Arbeit des Entwicklungsteams kann somit auf die Umsetzung der Funktionalität gelegt werden, anstatt auf die Ermittlung des normenkonformen Vorgehens zur Dokumentation.
Im Kern der ISO 27034 stehen die ONF- und ANF-Prozesse. Diese definieren, wann welche Sicherheitsaktivitäten im Entwicklungsprozess angewandt werden. Das Ergebnis sind sichere und zertifizierbare Produkte.
© SoftScheckEinen vergleichbaren Weg auf Security-Ebene geht SoftScheck mit dem Prozessleitfaden Application Security Management (sASM), der eine ISO-27034-konforme Entwicklung sicherer Software unterstützt. Den Kern der ISO 27034 bildet eine unternehmensweite Bibliothek mit allen Sicherheitsaktivitäten für die Software-Entwicklung. Hierzu zählen beispielsweise die Methode 'Penetration Testing', eine Anforderung zur verschlüsselten Datenübertragung oder datenschutzrechtliche Richtlinien. Gemäß dem gewünschten Sicherheitsniveau (Targeted Level of Trust) leiten sich Anforderungen für das jeweilige Softwareprojekt ab. Diesen folgend werden Sicherheitsaktivitäten für die erkannten Bedrohungen erarbeitet, implementiert und in der Verifikationsphase auf ihre erfolgreiche Implementierung hin überprüft. Dabei berücksichtigt die Norm insbesondere, dass bisher unbekannte und nicht veröffentlichte beziehungsweise nicht erkannte Sicherheitslücken (Zero-Day-Vulnerabilities) identifiziert werden müssen – beispielsweise mit den Methoden Threat Modeling und Dynamic Analysis/Fuzzing.
Im Gegensatz zur IEC 61508 für Funktionale Sicherheit ist die ISO 27034 als Rahmen, um alle Sicherheitsaktivitäten zur Software-Entwicklung auf Organisationsebene steuern zu können, sehr offen formuliert. So lässt sich die Norm unabhängig vom verwendeten Software-Development-Lifecycle (zum Beispiel Wasserfallmodell, V-Modell oder agile Ansätze wie Scrum) anwenden. Gleichzeitig definiert die Norm aber oft keine präzisen Rollen (wer ist wann für was genau zuständig), was bei aller Flexibilität ebenso Gefahren birgt. Der Prozessleitfaden sASM begegnet dieser Gefahr und weist tatsächlich Rollen zu.
Synergien nutzen
Bis dato sind die beiden Prozessleitfäden noch eigenständig. Der Herausforderung Rechnung tragend, die bislang zweigleisige Vorgehensweise zu verbinden, gilt es nun, beide zu einem einzigen Leitfaden zusammenzuführen und so Synergie-Effekte zu nutzen sowie letztlich Entwicklungskosten einzusparen. Gleichzeitig gewährleistet ein kombinierter Leitfaden aber vor allem zwei wichtige Aspekte: Zum einen stellt er sicher, dass die Software gemäß beider Normen entwickelt wurde und somit zertifizierbar ist. Zum anderen bietet er erstmals die dringend benötigte Chance, Security- und Safety-Anforderungen beziehungsweise -Ziele in Abhängigkeit voneinander zu formulieren. So lassen sich die Anforderungen von Beginn an aufeinander abstimmen und optimieren. Zeitgleich identifiziert und bewertet auch erst eine gemeinsame Risikoanalyse Bedrohungen, die bis dato nicht so einfach erkannt werden konnten. So lassen sich Ziele exakter formulieren.
Das Ziel: Reduzierung der Komplexität
Darüber hinaus vereinfacht ein kombinierter Leitfaden die derzeitige Komplexität. Der iFSM verwendet beispielsweise gemäß Norm das V-Modell als Software-Development-Lifecycle. Der sASM ist hier flexibel und lässt sich in jeden Entwicklungsprozess integrieren. Best-Practice-Beispiele aus beiden Leitfäden verschmelzen: so werden sie präziser und anwendungsnäher. Auch können erforderliche Mitarbeiter-Qualifikationen normübergreifend festgelegt werden. Letztlich entsteht ein einziger Prozessleitfaden, der es Mitarbeitern ohne detaillierte Normenkenntnis ermöglicht, sichere ('safe' und 'secure') und auch zertifizierbare Software zu entwickeln.
Autoren:
Gregor Schmitt ist Business Segment Manager Transportation & Energy bei Infoteam Software.















