Logo für GIGAOM 365x70

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Erfüllung der Sicherheitsanforderungen der IEC 62443 mit Testautomatisierung

Kopfbild von Ricardo Camacho, Director of Safety & Security Compliance
2. Januar 2024
10 min lesen

Untersuchen Sie den IEC 62443-Standard für die Implementierung und Wartung sicherer industrieller Automatisierungs- und Steuerungssysteme (IACS). Lesen Sie weiter, um mehr über die wichtigsten Praktiken und die entscheidende Rolle der Softwaretestautomatisierung zu erfahren.

Einführung in IEC 62443

IEC 62443 ist ein internationaler Standard, der Anforderungen und Prozesse für die Implementierung und Aufrechterhaltung von Sicherheit definiert Industrieautomation und Kontrollsysteme (IACS). Diese Standards legen Best Practices für die Sicherheit fest und bieten eine Möglichkeit, das Sicherheitsniveau zu bewerten.

Der Standard beschreibt einen sicheren Entwicklungslebenszyklus (SDL), der Aspekte wie sichere Codierung, Tests, Bereitstellung, Wartung und Entsorgung abdeckt. Der Schlüssel dazu ist die Definition einer Sicherheitsanforderungsspezifikation, die die Sicherheitsrisiken identifiziert und priorisiert sowie Abhilfestrategien angibt, die im Produkt oder in der Anwendung während ihres gesamten Lebenszyklus angewendet werden sollen.

Ein Schlüsselkonzept des Standards ist die Verwendung von Bedrohungsmodellen zur Identifizierung und Analyse potenzieller Bedrohungen für ein Produkt oder System auf der Grundlage seiner Architektur, Komponenten, Schnittstellen, Datenflüsse und Funktionen. Mithilfe der Bedrohungsmodellierung können Sie die Auswirkungen und die Wahrscheinlichkeit jeder Bedrohung bewerten und sie entsprechend ihrer Schwere priorisieren. Dies ist eine fortlaufende Aktivität, da sich die Bedrohungslandschaft im Laufe der Zeit ändert, insbesondere für IACS-Produkte mit einer Lebensdauer von Jahrzehnten.

Nicht alle IACS-Produkte erfordern das gleiche Sicherheitsniveau, das definiert, wie das System auf verschiedene Angriffsklassen reagiert. Diese reichen von fehlenden Anforderungen und unbeabsichtigtem Missbrauch bis hin zu raffinierten Angreifern mit unbegrenzten Ressourcen. Es wird erwartet, dass Produkte in Sicherheitszonen unterteilt werden, wenn die Sicherheitsstufen zwischen Komponenten oder Subsystemen unterschiedlich sind.

IEC 62443 Außerdem erhalten Sie Anleitungen zum Erstellen sichererer Geräte und Anwendungen, z. B. durch die Verwendung von „Secure by Design“, die Reduzierung der Angriffsfläche, eine tiefgreifende Verteidigung usw.

Schlüsselpraktiken der IEC 62443

Hier finden Sie eine Zusammenfassung der wichtigsten Praktiken, die von identifiziert wurden ISA/IEC 62443-Standardreihe.

Cybersicherheits-Managementsystem

Ein robustes Sicherheitsprogramm erfordert die Einrichtung und Aufrechterhaltung eines Sicherheitsprogramms, das die Rollen, Verantwortlichkeiten, Richtlinien, Verfahren und Ressourcen zur Gewährleistung der Cybersicherheit von IACS-Produkten und -Lösungen definiert. Diese Praxis umfasst praktisch alle der folgenden Praktiken als übergreifende Schlüsselpraxis.

Sicherheitsrisikobewertungen

Die Risikobewertung ist ein entscheidender Bestandteil der Entwicklung von IACS-Systemen für Sicherheit und Schutz. Dies ist ein fortlaufender Prozess, der Folgendes umfasst:

  • Definieren des Umfangs und der Grenzen des betrachteten Systems.
  • Identifizieren und Analysieren von Bedrohungen und Schwachstellen.
  • Priorisierung von Risiken anhand möglicher Konsequenzen.

Risiko ist ein Faktor, der die Wahrscheinlichkeit des Eintretens eines Ereignisses sowie die Folgen und Auswirkungen seines Eintretens bestimmt. Zu den Leistungen dieser Praxis gehören:

  • Umfassende Liste kritischer Vermögenswerte
  • Identifizierung von Abhängigkeiten
  • Ermittlung kritischer Risiken für den Betrieb und die Sicherheit dieser Prozesse
  • Angemessene Antworten auf diese Risiken

Spezifikation der Sicherheitsanforderungen

Um Sicherheit von Anfang an zu integrieren, müssen die Sicherheitsanforderungen für den gesamten Produktlebenszyklus definiert werden, vom Design über die Entwicklung, den Support, den Betrieb, die Wartung und die Entsorgung. Dazu gehört auch die Definition der Sicherheitsstufen, die den erforderlichen Schutzgrad für jede Funktion oder Komponente eines Produkts festlegen.

Sicher durch Design

Ein sicheres Produkt muss von Anfang an sicher sein. Dies bedeutet, dass während des gesamten Produktentwicklungslebenszyklus Prinzipien des Sicherheitsdesigns, wie z. B. eine Tiefenverteidigung, angewendet werden, um die Angriffsfläche zu verringern und unbefugten Zugriff auf das Produkt oder die Anwendung oder unbefugte Änderungen am Produkt oder der Anwendung zu verhindern. Dazu gehört auch die Durchführung von Überprüfungen, Tests und Validierungen sicherer Codierungsstandards, um sicherzustellen, dass der Code die Sicherheitsanforderungen erfüllt.

Sichere Implementierung

„Secure by Design“ bedeutet die Implementierung sicherer Codierungsstandards in allen Phasen des Produktentwicklungslebenszyklus, um sicherzustellen, dass der Code die Sicherheitsanforderungen erfüllt. Dazu gehört auch die Durchführung von Verifizierungs- und Validierungstests, um zu überprüfen, ob der Code unter verschiedenen Szenarien und Bedingungen wie vorgesehen funktioniert.

Sicherheitsüberprüfung und Validierungstests

Die Sicherheit muss getestet werden. Die Durchführung formeller oder informeller Tests zur Überprüfung der Einhaltung der Sicherheitsanforderungen ist von entscheidender Bedeutung. Dazu gehört auch die Durchführung von Fehlermanagementaktivitäten, um Fehler in einem IACS-Produkt oder einer IACS-Lösung zu identifizieren, zu melden, zu verfolgen, zu beheben und zu verhindern.

Management sicherheitsrelevanter Probleme

Sicherheitsprobleme sind unvermeidlich. Bei Vorfällen im Zusammenhang mit der Cybersicherheit, die während oder nach dem Lebenszyklus eines Produkts auftreten, ist ein ordnungsgemäßes Management von entscheidender Bedeutung. Dazu gehört auch die Durchführung von Patch-Management-Aktivitäten, um bei Bedarf Updates oder Fixes auf das Produkt anzuwenden. Darüber hinaus muss bei der Verwaltung der End-of-Life-Aktivitäten von Produkten sichergestellt werden, dass Produkte sicher außer Betrieb genommen werden, wenn sie nicht mehr benötigt werden.

Sicherheitsupdate-Management

Die Sicherheit eines Produkts oder einer Anwendung ist ständig im Wandel. Die Verwaltung aller Updates oder Fixes für bereitgestellte Produkte ist erforderlich. Obwohl es traditionell nur wenige Aktualisierungen für IACS-Produkte gibt, muss sich dies ändern. Moderne, sichere Produkte benötigen ein Patch-Management, um eine kontinuierliche Compliance sicherzustellen. Darüber hinaus muss die Software-Lieferkette auf neue Schwachstellen überwacht werden, sodass Abhängigkeiten, die Ihr Produkt verwendet, ebenfalls aktualisiert und gepatcht werden müssen, beispielsweise OpenSSL- oder Log4J-Schwachstellen.

Die Bereiche, in denen die Testautomatisierung die wichtigste Rolle spielt, sind sichere Implementierung sowie Sicherheitsüberprüfungs- und Validierungspraktiken. Daher konzentriert sich dieser Beitrag auf diese Schlüsselpraktiken.

IEC 62443 Praxis 4: Sichere Implementierung

In den Abschnitten 8.3.1 und 8.4.1 des Standards wird ausdrücklich auf die Notwendigkeit einer statischen Codeanalyse, Codeüberprüfungen und der Implementierung sicherer Codierungsstandards hingewiesen. Ein weiterer wichtiger Aspekt der Anforderungen ist die Rückverfolgbarkeit der Sicherheitsanforderungen bis hin zur Implementierung und den Tests.

Überprüfungen der Sicherheitsimplementierung

Abschnitt 8.3.1 beschreibt die Anforderungen für Sicherheitsüberprüfungen bei der Produktimplementierung. Darin wird insbesondere die Notwendigkeit von Codierungsstandards, statischer Codeanalyse und Rückverfolgbarkeit erwähnt.

Abschnitt 8.3.1:

Es muss ein Prozess eingesetzt werden, um sicherzustellen, dass Implementierungsüberprüfungen durchgeführt werden, um sicherheitsbezogene Probleme im Zusammenhang mit der Implementierung des sicheren Designs zu identifizieren, zu charakterisieren und bis zum Abschluss zu verfolgen, einschließlich …

b) Identifizierung sicherer Codierungsstandards (siehe 8.4), die nicht befolgt wurden (z. B. Verwendung verbotener Funktionen oder Nichtanwendung des Prinzips der geringsten Rechte);

c) Statische Codeanalyse (SCA) für Quellcode zur Ermittlung von Sicherheitscodierungsfehlern wie Pufferüberläufen, Nullzeiger-Dereferenzierung usw. unter Verwendung des sicheren Codierungsstandards für die unterstützte Programmiersprache. Die SCA muss mithilfe eines Tools durchgeführt werden, sofern eines für die verwendete Sprache verfügbar ist. Darüber hinaus muss eine statische Codeanalyse aller Quellcodeänderungen, einschließlich des neuen Quellcodes, durchgeführt werden.

d) Überprüfung der Implementierung und ihrer Rückverfolgbarkeit auf die zur Unterstützung des Sicherheitsdesigns definierten Sicherheitsfunktionen …

Abschnitt 8.4.1 Einzelheiten zu Sicherheitscodierungsstandards und der Empfehlung zur Automatisierung über statische Analysetools:

Abschnitt 8.4.1:

Die Implementierungsprozesse müssen Sicherheitskodierungsstandards beinhalten, die regelmäßig überprüft und aktualisiert werden und mindestens Folgendes umfassen:

a) Vermeidung potenziell ausnutzbarer Implementierungskonstrukte – Implementierungsentwurfsmuster, die bekanntermaßen Sicherheitslücken aufweisen;

b) Vermeidung verbotener Funktionen und Codierungskonstrukte/Designmuster – Softwarefunktionen und Designmuster, die nicht verwendet werden sollten, weil sie bekannte Sicherheitslücken aufweisen;

c) automatisierte Tool-Nutzung und -Einstellungen (z. B. für statische Analysetools);

d) sichere Codierungspraktiken;

e) Validierung aller Eingaben, die die Vertrauensgrenze überschreiten.

f) Fehlerbehandlung.

Die Rolle statischer Analysetools bei Überprüfungen der Sicherheitsimplementierung

Statische Analyse Tools eignen sich hervorragend zum Erkennen von Fehlern, Bugs, Schwachstellen oder anderen Problemen, die die Sicherheit oder Funktionalität von Software beeinträchtigen könnten. Die statische Analyse kann auch verwendet werden, um die Konformität des Systems mit bestimmten Codierungsstandards oder -anforderungen zu überprüfen.

Insbesondere statische Analysetools sind besonders nützlich, um Entwicklern zu helfen entsprechen der IEC 62433 indem potenzielle Sicherheitsmängel oder Schwachstellen im Code identifiziert werden, bevor Angreifer sie ausnutzen. Darüber hinaus helfen statische Analysetools dabei, die Einhaltung relevanter Standards oder Vorschriften zu erreichen, die sichere Codierungspraktiken erfordern, einschließlich sicherer Codierungsstandards.

Codierungsfehler, Softwareschwächen und Sicherheitslücken

Hier sind einige der Möglichkeiten und Vorteile der Verwendung fortschrittlicher statischer Analysetools wie Parasoft C/C++test zur Sicherung von IACS-Software.

  • Verbesserte Codequalität. Statische Analysetools verbessern die allgemeine Codequalität, indem sie Best Practices für die Codierung identifizieren und die Einhaltung von Standards sicherstellen. Diese Tools lokalisieren Bereiche mit ineffizientem, schwer zu wartendem oder fehleranfälligem Code, der häufig zu Schwachstellen führt, die ausgenutzt werden können, wenn sie Angreifern ausgesetzt werden.
  • Frühzeitige Erkennung von Schwachstellen. Tools wie Parasoft C/C++test identifizieren Sicherheitslücken, bevor sie sich im Softwareentwicklungslebenszyklus verbreiten. Die Bereitstellung detaillierter Informationen und Informationen zur Codeausführungsverfolgung erleichtert die Behebung von Schwachstellen.
  • Beschleunigen Sie die Compliance. Ein statisches Analysetool sowie robuste Analyse- und Berichtsfunktionen reduzieren den Aufwand bei der Einhaltung von Sicherheitsstandards und -vorschriften in regulierten Branchen. Aufzeichnungen über die Einhaltung sicherer Coding-Standards und die frühzeitige Beseitigung von Schwachstellen sind Belege für die gebotene Sorgfalt. Darüber hinaus erleichtert es die Zufriedenheit von Wirtschaftsprüfern und Aufsichtsbehörden und reduziert rechtliche und finanzielle Risiken.
  • Leicht skalierbar. Fortschrittliche statische Analysetools sind so konzipiert, dass sie skalierbar und an verschiedene Softwareprojekte und Unternehmensgrößen anpassbar sind. Sie arbeiten auch dort, wo der Entwickler in seiner Entwicklungsumgebung arbeitet, und lassen sich nahtlos in IDEs und Prozesse sowohl für kleine Anwendungen als auch für große Unternehmenssysteme integrieren. Statische Analysetools müssen außerdem mit verschiedenen Programmiersprachen funktionieren, um im gesamten Unternehmen anwendbar zu sein.
  • Keine Testfälle oder Ausführung. Statische Analysetools arbeiten naturgemäß mit Quell- und Binärcode. Eine Ausführung oder gar ein komplettes System ist nicht erforderlich. Dadurch eignen sich die Tools besonders gut für Sicherheitsbewertungen im Frühstadium und beschleunigen die Identifizierung und Behebung von Schwachstellen.

Sichere Codierungsstandards

Statische Analysetools, auch SAST-Tools (Static Application Security Testing) genannt, verwenden Codedetails und -strukturen, um die Einhaltung sicherer Codierungsstandards und -richtlinien durchzusetzen. Die integrierten Prüfer dienen dazu, Code zu erkennen, der nicht den bekannten Standards wie dem entspricht SEI-ZERT C- und C++-Standards. Diese Richtlinien verhindern, dass C- und C++-Programmierer Sprachkonstrukte verwenden, die bekanntermaßen Softwareschwächen verursachen, die zu Schwachstellen führen. Sie vermitteln auch gute Programmierpraktiken, die verhindern, dass diese Schwachstellen in die Codebasis eindringen, wenn eine regelmäßige Compliance-Prüfung durchgeführt wird.

Der IEC 62443-Standard geht explizit auf die Verwendung statischer Analysetools und sichere Codierungsstandards ein. Daher ist es unerlässlich, dass diese Tools mit etablierten Prozessen, Entwicklungs- und Build-/Testumgebungen funktionieren.

IEC 62443 Praxis 5: Sicherheitsüberprüfung und Validierungstests

Der Standard macht auch ziemlich deutliche Angaben zu den Arten und der Gründlichkeit der Tests, die zur Überprüfung und Validierung der Sicherheit erforderlich sind. Der beste praktische Weg, diese Anforderungen umzusetzen, ist die Automatisierung von Softwaretests.

Nachfolgend finden Sie die relevanten Abschnitte aus IEC-62443.

Abschnitt 9.2.1: Prüfung der Sicherheitsanforderungen

Es muss ein Prozess eingesetzt werden, um zu überprüfen, ob die Produktsicherheitsfunktionen die Sicherheitsanforderungen erfüllen und dass das Produkt Fehlerszenarien und ungültige Eingaben korrekt verarbeitet. Zu den Testarten gehören:

a) Funktionsprüfung der Sicherheitsanforderungen;

b) Leistungs- und Skalierbarkeitstests; Und

c) Grenz-/Randbedingungs-, Stress- und fehlerhafte oder unerwartete Eingabetests, die nicht speziell auf die Sicherheit ausgerichtet sind.

Abschnitt 9.4.1: Schwachstellentests

Zur Durchführung von Tests muss ein Prozess eingesetzt werden, der sich auf die Identifizierung und Charakterisierung potenzieller Sicherheitslücken im Produkt konzentriert. Die Prüfung bekannter Schwachstellen muss mindestens auf aktuellen Inhalten einer etablierten, branchenweit anerkannten öffentlichen Quelle für bekannte Schwachstellen basieren. Die Prüfung muss Folgendes umfassen:

a) Missbrauchsfall oder fehlerhafte oder unerwartete Eingabetests mit dem Schwerpunkt auf der Aufdeckung von Sicherheitsproblemen. Dazu gehören manuelle oder automatisierte Missbrauchsfalltests und spezielle Arten von Missbrauchsfalltests an allen externen Schnittstellen und Protokollen, für die Tools vorhanden sind

...

d) Tests zur dynamischen Laufzeitressourcenverwaltung, die Fehler erkennen, die bei der Analyse des statischen Codes nicht sichtbar sind, einschließlich, aber nicht beschränkt auf Denial-of-Service-Bedingungen aufgrund der nicht erfolgten Freigabe von Laufzeithandles, Speicherlecks und Zugriffen auf den gemeinsam genutzten Speicher ohne Authentifizierung. Diese Prüfung muss durchgeführt werden, wenn solche Werkzeuge verfügbar sind.

Die Rolle von Software-Testautomatisierungstools bei der Sicherheitsüberprüfung und -validierung

Um Produktfristen einzuhalten und ein akzeptables Sicherheitsniveau zu erreichen, ist es erforderlich, den Testprozess so weit wie möglich zu automatisieren. Moderne Software-Testautomatisierungstools beschleunigen diese Prozesse, indem sie so viele manuelle Aspekte wie möglich eliminieren, KI und maschinelles Lernen nutzen, wo möglich, sowie Berichte und Analysen, um das Testen dort zu konzentrieren, wo es am meisten benötigt wird. Im Folgenden geht es um die Anforderungen für Verifizierung und Validierung vom Standard abweicht und wie Testautomatisierung jeweils hilft.

Sicherheitsfunktionstests

Ein Vorteil automatisierter Funktionstests ist die Möglichkeit, Tests zu jeder Tages- und Nachtzeit durchzuführen, ohne dass ständig eine Person beteiligt sein muss. Automatisierte Tests laufen zudem schneller als manuelle Tests. Sie befolgen den Testplan genau und vermeiden mögliche menschliche Fehler wie die Verwendung falscher Testdaten oder das Auslassen von Teilen des Tests. Ein zusätzlicher Vorteil besteht darin, dass das QA-Team durch automatisierte Tests mehr Zeit hat, sich auf dringende Randfälle zu konzentrieren und Testszenarien für neue Module und Softwaresysteme zu schreiben.

Funktionstests treffen auch keine Annahmen über die Systemstruktur. Es testet nur, was das System ausmacht und was es zum Funktionieren bringt. Im Hinblick auf die Sicherheit stellen Funktionstests sicher, dass die Entwickler alle Sicherheitsanforderungen des Produkts erfüllt haben.

Leistungs- und Skalierbarkeitstests

Leistungstests bewerten, wie sich eine Anwendung unter bestimmten Bedingungen verhält, und analysieren die Ergebnisse, damit Sie etwaige Engpässe oder Blockaden identifizieren und beheben können, die einen reibungslosen Betrieb verhindern. Dies ist aus Sicherheitsgründen wichtig, da Angriffe beispielsweise durch Denial-of-Service-Angriffe versuchen können, den ordnungsgemäßen Betrieb zu blockieren.

Mit einer Last- und Leistungsteststrategie können Ihre Anwendungen besser auf unerwartete Anforderungen vorbereitet werden. Tools für Last- und Leistungstests stellen sicher, dass Ihr System plötzliche Datenverkehrsspitzen bewältigt und ein erstklassiges Benutzererlebnis bietet. Diese Tests erzeugen extreme Belastungen, um etwaige Fehler zu finden und sicherzustellen, dass Ihre Anwendung der Hitze standhält. Die Testautomatisierung macht es einfacher und schneller, eine Kombination von Leistungstestschritten parallel auszuführen.

Rand-/Randbedingungen, fehlerhafte Eingaben oder Missbrauchsfälle

Grenz- oder Randtestbedingungen sind solche, die weit über die üblichen Eingabe- oder Umgebungsbedingungen hinausgehen, die ein IACS-Produkt erwarten würde. Diese Testfälle liegen jedoch immer noch innerhalb der theoretischen Grenzen der Systemeingaben. In Bezug auf Benutzereingaben sind Randfälle solche, bei denen die Eingaben sehr lang sind oder Sonderzeichen enthalten können. Auf diese Weise werden beispielsweise SQL-Injections auf Websites durchgeführt. Im Hinblick auf IACS-Systeme kann dies auch extreme Sensoreingaben, Netzwerk- und Schnittstelleneingaben sowie Benutzer-/HMI-Zugriff umfassen.

Software-Testautomatisierungstools wie Parasoft C / C ++ test kann so konfiguriert werden, dass Grenz- und Extremtestfälle, auch Missbrauchsfälle genannt, verwendet werden und sogar automatisch Testfälle generiert werden, beispielsweise basierend auf internem Wissen über Softwareeinheiten. Diese Tests können auch zu einer Regressionstestsuite hinzugefügt werden, die regelmäßig und automatisch ausgeführt werden kann.

Dynamische Anwendungssicherheitstests

Dynamische Anwendungssicherheitstests (DAST) sind eine andere Form von Sicherheitstests wie die statische Analyse (SAST), sie funktionieren jedoch, während eine Anwendung des Systems ausgeführt wird. Diese Tools erkennen Laufzeitschwachstellen bei der Ausführung von Code. Sie weisen ein hohes Maß an Präzision auf, da erkannte Schwachstellen real sind. Sie können jedoch nur Schwachstellen in ausgeführtem Code und unter Bedingungen erkennen, die während des Tests vorliegen. IEC 62443 macht deutlich, dass alle Arten von Anwendungssicherheitstests durchgeführt werden sollten.

Rückverfolgbarkeit

Sicherheitsanforderungen in IACS-Systemen müssen überprüft und validiert werden. Dies erfordert eine Rückverfolgbarkeit zwischen der Anforderung, der Implementierung (normalerweise Quellcode) und den Tests, die sie validieren. Die manuelle Pflege dieser Links ist wahrscheinlich unmöglich, daher spielt die Automatisierung eine Schlüsselrolle, um die Rückverfolgbarkeit präzise und aktuell zu halten. Compliance-Aufzeichnungen und Dokumentation können bei Bedarf auch automatisiert werden.

Automatisierung der bidirektionalen Rückverfolgbarkeit

Tools für das Anwendungslebenszyklusmanagement umfassen ausgereifte Anforderungsmanagementfunktionen und dienen in der Regel als Drehscheibe für die Rückverfolgbarkeit, einschließlich Sicherheitsanforderungen und Bedrohungsmodellierung. Integrierte Softwaretestlösungen, wie sie Parasoft anbietet, vervollständigen die Überprüfung und Validierung von Sicherheitsanforderungen durch Automatisierung. Bereitstellen automatisierte bidirektionale Rückverfolgbarkeit zum ausführbaren Testfall enthält das Pass- oder Fail-Ergebnis und führt bis zum Quellcode, der die Anforderung implementiert.

Parasoft bietet bidirektionale Rückverfolgbarkeit von Arbeitselementen bis hin zu Testfällen und Testergebnissen – beide zeigen Rückverfolgbarkeitsberichte an Parasoft DTP sowie die Rückmeldung der Ergebnisse an das Anforderungsmanagementsystem.

Parasoft lässt sich in marktführende Anforderungsmanagement- und agile Planungssysteme wie Intland Codebeamer, Polarion von Siemens, Atlassian Jira, CollabNet VersionOne und TeamForge integrieren. Die Testautomatisierungslösungen von Parasoft, C/C++test, Jtest, dotTEST, SOAtest und Selenic, unterstützen die Zuordnung von Tests zu Arbeitselementen, die in diesen Systemen definiert sind, wie Anforderungen, Storys, Fehler und Testfalldefinitionen. DTP, das zentrale Berichts- und Analyse-Dashboard von Parasoft, verwaltet die Rückverfolgbarkeit.

Zusammenfassung

IEC 62443 legt Richtlinien und Prozesse zur Gewährleistung der Sicherheit von IACS-Produkten fest und deckt Aspekte wie sichere Codierung, Tests, Bereitstellung, Wartung und Entsorgung ab. Zu den wichtigsten Praktiken der IEC 62443 gehören die Einrichtung eines Cybersicherheitsmanagementsystems, die Durchführung von Sicherheitsrisikobewertungen, die Festlegung von Sicherheitsanforderungen, die Einführung eines „Secure-by-Design“-Ansatzes, die Implementierung sicherer Codierungsstandards und die Durchführung von Sicherheitsmaßnahmen Verifizierung und Validierung Testen.

Die Automatisierung von Softwaretests spielt bei diesen Schlüsselpraktiken eine entscheidende Rolle, insbesondere bei der sicheren Implementierung sowie der Sicherheitsüberprüfung und -validierung. Die statische Codeanalyse ist für die Unterstützung von Codeüberprüfungen und die Einhaltung sicherer Codierungsstandards von entscheidender Bedeutung. Darüber hinaus erkennt die statische Analyse Codierungsfehler, Schwachstellen und Schwachstellen schon früh im Entwicklungslebenszyklus.

Im Hinblick auf Sicherheitsüberprüfungs- und Validierungstests sind Tools zur Automatisierung von Softwaretests von entscheidender Bedeutung, um Tests in dem Zeitrahmen durchzuführen, der für die Markteinführung sicherer IACS-Produkte erforderlich ist. Dazu gehören die Beschleunigung von Testprozessen, die Sicherstellung der Einhaltung von Sicherheitsstandards und der Nachweis der Sorgfaltspflicht. Die automatisierte Rückverfolgbarkeit bei der Überprüfung und Validierung von Sicherheitsanforderungen ist von entscheidender Bedeutung, um sicherzustellen, dass Sicherheitsanforderungen erfüllt werden. Durch die Automatisierung bleibt auch die Dokumentation der Anforderungsvalidierung auf dem neuesten Stand, was letztendlich zu einer beschleunigten Compliance von IACS-Produkten beiträgt.

Statische Codeanalyse für die eingebettete Entwicklung