Produktentwicklung

Frank Eberle | Inka Krischke,

Safe und secure zugleich

Hersteller von Automatisierungskomponenten müssen geeignete Maßnahmen ergreifen, um sowohl Safety als auch Security ihrer Geräte sicherzustellen und um in einer zunehmend vernetzten Welt geschützt zu sein. Dabei passen die Welten leichter zusammen als gemeinhin angenommen.

© Pilz

Die Anforderungen, die an ‚Security‘ – also das Sicherstellen der Schutzziele Vertraulichkeit, Integrität und Verfügbarkeit – seitens der IT- und der Automatisierungs-Welt gestellt werden, unterscheiden sich deutlich: Während im Büroumfeld die Vertraulichkeit der Informationen höchste Priorität hat, steht im Produktionsbereich Verfügbarkeit und Integrität der Daten an oberster Stelle. Zum einen ist dies eine wesentliche Voraussetzung für reibungslose Fertigungsprozesse, zum anderen kann ein Angriff auf die Integrität eines Safety-Systems schwere Unfälle zur Folge haben. Daher wurde in der Edition 2.0 der Norm IEC 61508-1 im Kapitel 7.4 ‚Hazard and risk analysis‘ ein Zusatz aufgenommen. Dieser besagt, dass eine Bedrohungsanalyse durchgeführt werden soll, falls eine Security-Bedrohung in ‚angemessener Weise‘ als wahrscheinlich anzusehen ist. Somit müssen sich insbesondere Hersteller von Safety-Systemen dem Thema Security widmen. Doch auch Hersteller von Systemen, die keine sicherheitsbezogenen Funktionen implementieren, sollten sich mit Security beschäftigen, um Angriffe auf Produktionsprozesse zu verhindern. 

Anzeige

Schlanke Security gefragt

Aktuell wird die Security von Produktionsanlagen häufig durch Security-Komponenten wie Firewalls und VPN-Gateways realisiert. Durch Industrie 4.0 und IoT werden die Kommunikationsbeziehungen zwischen den Automatisierungskomponenten untereinander und mit externen Systemen zunehmen. Dies führt zu einem steigenden Aufwand bei der Verwaltung externer Security-Lösungen. Werden Funktechnologien verwendet, bieten Firewalls zudem nur bedingt Schutz, da ein Angriff direkt über die Funkschnittstelle und die niederen Protokollschichten erfolgen könnte. Um diesen Problemen entgegenzuwirken, müssen Security-Maßnahmen direkt in den Systemen umgesetzt werden.

Safety und Security besitzen deutliche Parallelen in der Standardisierung und der Vorgehensweise im Engineering-Prozess. Für die Umsetzung lassen sich viele Abläufe und Erfahrungen aus der Safety-Welt direkt auf die Security-Welt übertragen.

© Pilz

Hier kommt der Begriff ‚Security By Design‘ oder ‚Secure By Design‘ ins Spiel: Er beschreibt einen Ent­wicklungsansatz, bei dem bereits in der Entwurfsphase die Security-Eigenschaften eines Systems systematisch betrachtet werden. Es wird also nicht dem Zufall beziehungsweise den Einschätzungen einzelner Entwickler überlassen, ob und in welchem Umfang Security-Funktionen in einem ­System implementiert werden. Stattdessen wird durch eine Modellierung der Bedrohungen (Threat Modelling) ermittelt, welchen Bedrohungen ein System ausgesetzt ist. Daraus lassen sich gezielt Maßnahmen ableiten, um das Security-Risiko zu minimieren.

Weiter gefasst lässt sich ‚Security By Design‘ auch als Ansatz verstehen, bei dem die Security eines Produkts ganzheitlich über den kompletten Produktlebenszyklus betrachtet wird. Ein vielfach zitiertes und gut dokumentiertes Beispiel für diesen Ansatz ist der von Microsoft entwickelte ‚Security Development Lifecycle‘-Prozess (SDL): Zu Beginn der 2000er-Jahre häuften sich die negativen Schlagzeilen bezüglich Security-Problemen in Produkten von Microsoft. Dies veranlasste das Unternehmen, sich systematisch mit dem Thema Security zu beschäftigen, was zur Entwicklung des SDL führte. Mittlerweile verfolgen viele weitere Software- und Geräte-Hersteller einen vergleichbaren Ansatz.

Security spielt in der klassischen IT also schon seit langem eine zentrale Rolle. Die Anforderungen lassen sich jedoch wegen der unterschiedlichen Prioritäten mit Blick auf Vertraulichkeit und Verfügbarkeit nicht ohne weiteres auf die Automatisierung übertragen. 

Ausgangspunkt Normen

Mit der IEC 62443 ‚Industrielle Kommunikationsnetze – IT-Sicherheit für Netze und Systeme‘ gibt es dagegen eine internationale Normenreihe, die in Teilen schon verabschiedet wurde und die IT-Sicherheit in der Automatisierung umfassend behandelt. Das Themenspektrum reicht von der Risikoanalyse über Best Practices bis zur sicheren Entwicklung von Produkten. Dadurch bietet die IEC 62443 die derzeit beste Orientierungshilfe für Anlagenbetreiber und Gerätehersteller, um Security effektiv umzusetzen. Die Norm wurde ursprünglich vom ISA99 Komitee ‚Industrial Automation and Control Systems Security‘ definiert und vom Normengremium IEC übernommen. Die einzelnen Normenteile gliedern sich in die vier Bereiche General, Policies & Procedures, System und Component/Product, wobei die konkreten Anforderungen in Gruppen – sogenannte ‚Practices‘ – unterteilt sind (Bild links oben).

Practice 1

Security management – stellt unterschiedliche Anforderungen an das Management des Entwicklungsprozesses. Hierzu gehört unter anderem, dass ein allgemeiner Produktlebenszyklus-Prozess vorhanden sein muss, dass Verantwortliche zu benennen sind und Mitarbeiter bezüglich ihrer Rolle im Prozess und ihres Security-Wissens trainiert werden müssen. Weitere Anforderungen gelten der Security der Entwicklungsumgebung und dem Umgang mit Teilkomponenten von Drittherstellern. 

Industrial Security schützt nicht nur Menschen und Umwelt vor Gefahren, sondern auch Geräte, Maschinen und Anlagen vor unerlaubten Zugriffen und Manipulationen. Nur so ist die funktionale Sicherheit von Maschinen und Anlagen gewährleistet.

© Pilz

Practice 2

Specification of security requirements – beschreibt Anforderungen an die Spezi­fikation von Security-Anforderungen. Beispielsweise legt ‚Product security context‘ fest, dass der Systemkontext aus Security-Sicht für das zu entwickelnde System definiert werden muss. Der Kontext beschreibt beispielsweise die physischen Security-Eigenschaften der Umgebung (zum Beispiel: Das System muss in einem abgeschlossenen Schaltschrank betrieben werden) und die Eigenschaften der Netzwerk-Umgebung (zum Beispiel: Das System muss durch eine Firewall gesichert werden). Der Security-Kontext ist eine wichtige Eingangsgröße für die Bedrohungsmodellierung, die ebenfalls durch eine Anforderung verlangt wird.

Practice 3

Secure by design – definiert Anforderungen an das Design des Systems. So sollen zum Beispiel anerkannte Security-Techniken und Entwurfsmuster wie ‚Security By Design‘ verwendet werden. Somit wird durch diese Anforderungen die erste Interpretation des Begriffs ‚Security By Design‘ umgesetzt.

Practice 4

Secure implementation – die Anforderungen hier sollen sicherstellen, dass keine Security-Schwachstellen durch Fehler in der Implementierung entstehen. Hierzu gehören das Einhalten anerkannter Codierungsrichtlinien, die Durchführung einer statischen Code-Analyse sowie das Durchführen eines Code-Reviews.

Practice 5

Security verification and validation testing – legt die Art der durchzuführenden Security-Tests fest. Zudem werden Anforderungen an die Unabhängigkeit der Tester gestellt.

Practice 6

Management of security-related issues – definiert Anforderungen an den Umgang mit Security-Problemen im Produkt. Dies umfasst neben der Analyse von Problemen auch das Empfangen von Meldungen (zum Beispiel von Kunden oder Security-Forschern) und die Benachrichtigung der Anwender über gefundene Security-Probleme.

Practice 7

Security update management – darin werden Anforderungen an das Management von Security-Updates gestellt. Dies betrifft unter anderem das Sicherstellen, dass ein Update tatsächlich wie beabsichtigt eine Schwachstelle beheben wird und keine neuen Probleme verursacht. Weiterhin wird gefordert, dass der Hersteller die Anwender darüber informieren muss, ob Security-Updates von abhängigen Komponenten (zum Beispiel dem Betriebssystem, auf dem das Produkt eingesetzt wird) rückwirkungsfrei installiert werden können.

Practice 8

Security guidelines – definiert Anforderungen an den Inhalt der Benutzerdo­kumentation. Beispielsweise wird gefordert, dass Hinweise zu den erforderlichen Maßnahmen für die Härtung des Systems gegeben werden sowie dazu, was bei der Außerbetriebnahme des Geräts zu beachten ist.

Synergien nutzen

Pilz hat die ‚Security Bridge‘ auch unter dem Gesichtspunkt der Security entwickelt. Dabei werden von vornherein Aspekte wie Bedrohungsszenarien, Stärken und Schwachstellen von Protokollen oder Verschlüsselungsverfahren berücksichtigt.

© Pilz

Die ‚Security Bridge‘ von Pilz dient Steuerungen zum Schutz vor Angriffen und unautorisiertem Zugriff auf das Netzwerk.

© Pilz

Mit ihren 47 einzelnen Anforderungen wirkt die IEC 62443-4-1 für die Umsetzung äußerst aufwendig. Dies ist vor allem dann der Fall, wenn die Produktentwicklung bislang nach dem Ansatz ‚vom Kopf in die Tastatur‘ – also nicht auf Basis entsprechender Prozesse – erfolgt ist. In diesem Fall gilt es, zunächst die Anforderung SM-1: ‚Development process‘ umzusetzen. Sie besagt, dass ein allgemeiner Lebenszyklus-Prozess dokumentiert sein und angewendet werden muss. Ist ein solcher Prozess jedoch vorhanden und berücksichtigt dieser womöglich die Anforderungen aus dem Bereich der funktionalen Sicherheit nach IEC 61508 oder einer der abgeleiteten branchenspezifischen Normen, so lassen sich Anforderungen identifizieren, die ähnlich oder gleich sind und somit bereits umgesetzt werden.

Weiterhin definiert die Anforderung SM-5: ‚Process scoping‘, dass der Prozess anhand einer Security-Analyse auf das jeweilige Entwicklungsprojekt anzupassen ist. Somit müssen einzelne Anforderungen oder Teilanforderungen nicht berücksichtigt werden, wenn ein System beispielsweise über keine externen Schnittstellen verfügt oder wenn im Rahmen eines Änderungsprojektes nur Sprachkataloge aktualisiert oder gar abgekündigte Bauelemente ersetzt werden.

Doch wo lassen sich konkret Synergien bei der Umsetzung der IEC 61508 und IEC 62443-4-1 finden? Dazu drei Beispiele:

  • Beispiel 1: Schulung der Mitarbeiter. Die Anforderung SM-4: ‚Security Expertise‘ besagt, dass ein Prozess zur Identifikation von Schulungsbedarf und zum Schulen der Mitarbeiter vorhanden sein muss, damit sie ihre Rolle und Verantwortlichkeiten im Security-Prozess korrekt umsetzen können. In der IEC 61508-1 werden in Kapitel 6 ‚Management of functional safety‘ in den Abschnitten 6.2.12 bis 6.2.15 vergleichbare Anforderungen (wenn auch detaillierter) formuliert. Das spezifische Wissen, das für Safety und Security vermittelt werden muss, wird sich zwar unterscheiden, jedoch sind Themen wie ‚Defensive Programmierung‘ oder die Anwendung des aus dem Automotive-Bereich bekannten Programmierstandards MISRA (Motor Industry Software Reliability Association) für beide Bereiche gleichermaßen von Bedeutung, sodass sich sogar inhaltliche Synergien ergeben.
  • Beispiel 2: Codierung. Die Practice 4 – ‚Secure Implementation‘ – der IEC 62443-4-1 definiert zwei Anforderungen: 
    • Die Anforderung SI-1: ‚Security implementation review‘ verlangt, dass ein Prozess zur Durchführung von Code-Reviews eingesetzt wird, um unterschiedliche Aspekte auf Codierungsebene zu prüfen. Hierunter wird typischerweise die Durchsicht des Sourcecode durch eine oder mehrere Personen verstanden. Weiterhin wird hierbei die Durchführung einer statischen Code-Analyse mit geeigneten Software-Werkzeugen gefordert. Vergleichbare Anforderungen sind in der IEC 61508-3 zu finden: Im Abschnitt 7.4.6 ‚Requirements for code implementation‘ wird gefordert, dass jedes Softwaremodul geprüft werden muss. Dabei wird auf die Kapitel C.5.14 ‚Formal inspections‘ und C.5.15 ‚Walk-through (software)‘ der IEC 61508-7 verwiesen. Wer diese Anforderungen zur Erreichung der funktionalen Sicherheit bereits in seinem Entwicklungsprozess umgesetzt hat, muss sich keine Gedanken mehr darüber machen, wie solche Reviews zu organisieren, zu dokumentieren und gefundene Abweichungen zu behandeln sind. Natürlich wird es unvermeidbar bleiben, dass Personen mit Security-Wissen am Review teilnehmen. In Tabelle A.9 ‚Software verification‘ der IEC 61508-3 wird ebenfalls die Statische Analyse als Maßnahme empfohlen, wobei die rechnergestützte Durchführung als Option im Kapitel B.6.4 der IEC 61508-7 genannt wird.
    • Die Anforderung SI-2: ‚Secure coding standards‘ definiert, dass Programmierregeln zur Vermeidung von Security-Fehlern festzulegen sind und dass das Regelwerk periodisch zu prüfen und zu aktualisieren ist. Auch hier ist eine vergleichbare Anforderung in der IEC 61508-3 zu finden. Im Kapitel 7.4.4.12 wird festgelegt, dass Programmiersprachen entsprechend angemessener Richtlinien zu verwenden sind. Bezüglich des Inhalts solcher Regeln wird auf die IEC 61508-7 verwiesen. Dort sind im Kapitel C.2.6 ‚Design and coding standards‘ entsprechende Hinweise zu finden. Ein Aspekt eines solchen Regelwerkes ist es, Programmierfehler zu vermeiden. Diese stellen ein allgemeines Qualitätsproblem dar und können im Extremfall Auswirkungen sowohl auf Safety als auch Security haben. Typische Programmierfehler wie Speicherüberlauf und fehlende Prüfung von Eingabedaten stellen ein Risiko für die Safety dar. Gleichermaßen sind diese jedoch auch die ‚Klassiker‘ unter den Security-Programmierfehlern. Daher stellt ein bestehendes Regelwerk, das zum Erreichen der funktionalen Sicherheit erstellt wurde, auch einen guten Start für die Security dar.
  • Beispiel 3: Behandlung von Problemen. Die Practice 6 – ‚Management of security-related issues‘ – definiert, wie mit identifizierten Security-Problemen umzugehen ist. Dabei wird gefordert, dass Prozesse zum Empfangen von Security-Meldungen (zum Beispiel von Kunden oder Security-Forschern), zum Benachrichtigen von betroffenen Anwendern, für die Analyse der gemeldeten Probleme sowie das zukünftige Vermeiden von vergleichbaren Fehlern vorhanden sein müssen. Auch hier gibt es vergleichbare Anforderungen im Kapitel 6 ‚Management of functional safety‘ der IEC 61508-1, sodass ein Unternehmen, das die Anforderungen umsetzt, bereits über geeignete Prozesse verfügt, die sich möglicherweise ohne Änderungen auch auf die Behandlung von Security-Problemen anwenden lassen.

Die genannten Beispiele zeigen, dass Prozesse, die sich zur Erfüllung der Anforderungen aus der IEC 61508 eignen, auch zur Umsetzung der Anforderungen aus der IEC 62443-4-1 genügen oder hierfür nur geringfügiger Erweiterungen bedürfen. Die Herausforderung einer sicheren Produktentwicklung liegt daher weniger in der Definition geeigneter Prozesse, als vielmehr im fachlichen Bereich. Ein Hersteller, der sich dem Thema ‚Security‘ stellen möchte, muss dafür sorgen, dass bei allen an der Entwicklung beteiligten Personen ein ausreichendes fachliches Wissen vorhanden ist. 

Aufgabe über den gesamten Produktlebenszyklus

Bei Security handelt es sich um ein ‚bewegliches Ziel‘: Eine Automatisierungskomponente wie etwa eine SPS kann zwar zum aktuellen Zeitpunkt als ‚secure‘ eingestuft werden, doch schon morgen kann sich die Bedrohungslage ändern und damit auch die Angriffssicherheit des Geräts. Ergo müssen die Maßnahmen gegen Cyberbedrohungen ständig aktu­alisiert werden. Die Verantwortung hierfür liegt in erster Linie bei den Anlagen­betreibern, denn für sie bedeutet Daten­sicherheit zugleich Investitionsschutz. Umgekehrt sind Maschinenbauer sowie Komponentenhersteller in der Pflicht, Betreiber sofort über neue Sicherheits­probleme zu informieren und Updates für die Software ihrer Geräte bereitzustellen, mit denen Schwachstellen behoben werden können. Dies erfordert, dass beide Seiten über den gesamten Lebenszyklus der Produkte hinweg eng zusammenar­beiten.

Autor:
Frank Eberle ist Software-Entwickler im Bereich Network Systems bei Pilz in ­Ostfildern.

  • Xing Icon
  • LinkedIn Icon
Anzeige
zurück zur Themenseite
Anzeige

Das könnte Sie auch interessieren

Anzeige

ISW / Silistra

Wandelbare Produktionssysteme

Traditionelle Sicherheitslösungen stoßen in dynamischen Produktions-umgebungen an ihre Grenzen, das heißt, es bedarf neuer, adaptiver Sicherheitsfunktionen. Wie kann das Projekt ‚SafeFloat‘ hier helfen?

mehr...
Anzeige
Anzeige

Wireless Safety

Sicher bedienen via Funk - (wie) geht das?

Viele Maschinenbauer möchten Tablets zusätzlich zur existierenden Maschinenbedienung verwenden. Nachgefragte Features wie WLAN, Kamera, Multitouch und vieles mehr sind hier zwar gegeben – sind allerdings Sicherheitsfunktionen gefordert, stoßen diese...

mehr...
Anzeige

EN ISO 13849

Validierung stiefmütterlich behandelt

Bei der Einbindung sicherheitsgerichteter Steuerungsfunktionen in Maschinen ist die EN ISO 13849 maßgeblich. Dabei wird allerdings der die Validierung betreffende Teil der Norm in der Praxis oftmals vernachlässigt – ein großes Manko.

mehr...
Anzeige
Anzeige
Anzeige

Safety

Der intelligente Sicherheitsschalter

Auf I4.0-Niveau kommunizierende Sicherheitsmodule und Sicherheitsschalter vereinfachen die Fehlersuche. Aber auch für die vorausschauende Instandhaltung sowie den Manipulationsschutz birgt die Kommunikationsfähigkeit interessantes Potenzial.

mehr...

Funktionale Sicherheit

Sicherer Halt im Schleifring

Sicherheitsrelevante Daten über Schleifringe zu übertragen ist nicht trivial. Motion-Control-Experten von Kollmorgen haben dafür gemeinsam mit dem Schleifringhersteller Stemmann-Technik eine TÜV-zertifizierte Safety-Lösung samt UL-Zulassung...

mehr...
Jetzt Newsletter abonnieren