Thema der vorliegenden Arbeit ist es, den Zusammenhang herzustellen zwischen technischer beziehungsweise Sicherheitsschuld und den Prozessen der Validierung und Verifikation. Dazu wird im Folgenden dargestellt, welche Einflüsse im Zuge der Softwareentwicklung Sicherheitsschulden bedingen und wie diesen mit der Verifikation und Validierung begegnet werden kann. Weiterhin werden die Common Criteria des ISO/IEC Standards 15408 vorgestellt und deren Einfluss auf den Zusammenhang analysiert.
Nacharbeiten an Software gehören zum alltäglichen Umgang mit sowie zum Entwicklungsprozess von informationstechnischen Systemen und erfolgen in Form von Anpassungen, Updates, Wartung oder Refactoring. Wie in vorherigen Modulen gezeigt wird, kann bereits im Rahmen des Requirements Engineering, der Spezifikation sowie der Architekturerstellung die frühzeitige Erkennung und Behebung von Fehlern deren Manifestation und nachfolgend kostenintensive Nacharbeiten früh verhindert werden. Dieses Vorgehen wird beispielsweise in den Prinzipien der Software-Qualitätssicherung adressiert. Zur Entwicklung von Software gehört ebenfalls das Verständnis, dass die Fehlerfreiheit und Perfektion zwar angestrebt, aber selten erreicht werden kann. Dies gelte folglich auch für die Sicherheit: um die Korrektheit diesbezüglich zu verbessern, erfolge eine Sicherheitsbewertung auf Basis der Verifikation sowie der Validierung der sicherheitsrelevanten Anforderungen. Die Entwicklung funktionsfähiger Software finde sich demnach in einem Spannungsfeld zwischen Leistungsdruck und kostenintensiven Nacharbeiten wieder. Cunningham (1992) umschreibt darauf aufbauend die Auswirkungen einer Softwareentwicklung, die kurzfristige Kundeninteressen oder Beschränkungen wie Lieferfristen gegenüber einer sorgfältigen Implementierung priorisiert, als „Schulden“. Diese seien zunächst förderlich für die Entwicklung eines Objektes, solange sie zeitnah nach der Fertigstellung durch Anpassungen beglichen würden. Ein Aufschieben der Schulden, also das Belassen des fehlerhaften Codes, würde jedoch zu Zinszahlungen („interest“) führen, die abhängig von der Schulden-höhe die Organisation zum Erliegen bringen könnten. Abgeleitet aus dem Begriff der technischen Schuld und im Rahmen des Themenfelds „Security by Design“ von besonderem Interesse, ist die sogenannte Sicherheitsschuld, die beschreibt, wie Designentscheidungen ein technisches Umfeld schaffen, das nicht in der Lage ist, Bedrohungen angemessen zu begegnen.
Inhaltsverzeichnis
1. Einleitung
2. Sicherheitsschulden
2.1 Definition der Sicherheitsschuld
2.2 Entstehung von Sicherheitsschulden
2.3 Verifikation und Validierung
2.3.1 Verifikation: Definition und Durchführung
2.3.2 Validierung Definition und Durchführung
2.4 Common Criteria ISO/IEC 15408
3. Zusammenfassung
Zielsetzung & Themen
Die vorliegende Seminararbeit untersucht den Zusammenhang zwischen der Entstehung von Sicherheitsschulden in informationstechnischen Systemen und den komplementären Prozessen der Verifikation und Validierung. Das Ziel ist es aufzuzeigen, wie durch eine fundierte Anwendung dieser Qualitätssicherungsmethoden sowie die Nutzung internationaler Standards wie der Common Criteria (ISO/IEC 15408), die Anhäufung von Sicherheitsschulden reduziert und die Resilienz von Softwareprodukten nachhaltig gestärkt werden kann.
- Entstehungsursachen und Definition von Sicherheitsschulden im Softwarelebenszyklus
- Gegenüberstellung von Verifikation und Validierung zur Qualitätssicherung
- Methoden der Verifikation: Code Reviews, Modellprüfungen und symbolische Programmausführung
- Analyse der Common Criteria (ISO/IEC 15408) zur Sicherheitsbewertung
- Strategien zur aktiven Reduzierung von Sicherheitsschulden in der Entwicklungspraxis
Auszug aus dem Buch
2.1 Definition der Sicherheitsschuld
Die Begriffe der technischen sowie der Sicherheitsschulden wurden bereits eingeführt, wobei sie wesentliche Eigenschaften teilen: zum einen liegt ihnen das Prinzip der Eventualverbindlichkeit zu Grunde. Dieser Begriff, den Lunkeit und Zimmer (2021) zur Beschreibung der Wahrscheinlichkeit einer Zahlungspflicht verwenden, ist dem Handelsgesetzbuch (HGB §251) entlehnt (Bundesministerium der Justiz 2022). Er bedeutet, dass für ein zunächst abstraktes Risiko eine Bürgschaft eingegangen wird und das Eintreten eines Ereignisses nicht entscheidbar ist (Lunkeit und Zimmer 2021: S.305). Zum anderen würden sowohl Sicherheits- als auch technische Schulden zeitweise nur bedingt wahrgenommen. Für Endbenutzer seien sie sogar weitgehend transparent.
Im Einzelnen würden sich technische Schulden in erschwerter Wartung und Weiterentwicklung von Software äußern, die die Möglichkeiten zur Portierbarkeit und Interoperabilität einschränkten oder die Kosten dafür wesentlich erhöhten. Sicherheitsschulden hingegen bedingten einen instabilen Betrieb der Software und würden sich beispielsweise in erfolgreich ausgeführten Angriffen auf das System widerspiegeln. (Lunkeit und Zimmer 2021: S.306) Eine ergänzende Beschreibung wurde von Huopio (2020) gefunden: die Sicherheitsschuld sei demnach die Menge an Arbeit, die unvollständig erledigt wurde, um andererseits kurzfristige Entwicklungsfortschritte zu ermöglichen. Sie finde sich vor Allem in Industriezweigen, bei denen Systeme eine lange Lebensdauer vorweisen und neue Funktionen in der Mitte des Lebenszyklus entwickelt würden: Luft- und Seefahrt, Energiewirtschaft sowie Militärwesen.
Wie bei Lunkeit und Zimmer (2021) wurde auch bei Huopio (2020) gefunden, dass alle Softwareentwicklungsprojekte in gewissem Umfang Sicherheitsschulden anhäufen. Erhöhe sich dieser Umfang jedoch auf eine unkontrollierbare Menge, werde Code produziert, der schwer zu warten sei und sich in ungeeigneter Architektur manifestiere. (Huopio 2020: S.169, 170)
Zusammenfassung der Kapitel
1. Einleitung: Dieses Kapitel führt in das Spannungsfeld zwischen kurzfristigem Entwicklungsdruck und dem Anspruch an fehlerfreie, sichere Software ein und definiert das Thema Sicherheitsschulden sowie die Relevanz der Validierung und Verifikation.
2. Sicherheitsschulden: Das Hauptkapitel analysiert die Definition und Entstehung von Sicherheitsschulden, erläutert die Methoden der Verifikation (Code Reviews, Modellprüfungen, symbolische Programmausführung) sowie der Validierung (Softwaretests) und stellt den ISO/IEC-Standard 15408 vor.
3. Zusammenfassung: Das abschließende Kapitel fasst die zentralen Erkenntnisse über die Ursachen von Sicherheitsschulden und die Möglichkeiten zu deren Reduktions durch strukturierte Prüfprozesse und internationale Sicherheitsstandards nochmals prägnant zusammen.
Schlüsselwörter
Sicherheitsschulden, Security by Design, Verifikation, Validierung, Common Criteria, ISO/IEC 15408, Software Engineering, Code Review, Modellprüfung, IT-Sicherheit, Sicherheitsanforderungen, Qualitätsmanagement, Schwachstellenanalyse, Softwaretest, Evaluation Assurance Level.
Häufig gestellte Fragen
Was ist das zentrale Thema dieser Arbeit?
Die Arbeit behandelt das Problem der Sicherheitsschulden im Software Engineering und zeigt auf, wie diese durch systematische Verifikations- und Validierungsprozesse identifiziert und reduziert werden können.
Welche Themenfelder werden schwerpunktmäßig betrachtet?
Die Themenfelder umfassen die Definition und Entstehung von Sicherheitsschulden, die Abgrenzung von Verifikation und Validierung sowie die praktische Anwendung der Common Criteria zur Sicherheitsbewertung.
Was ist das primäre Ziel der Untersuchung?
Das Ziel ist es, ein Verständnis für das Spannungsfeld zwischen Entwicklungsgeschwindigkeit und Sicherheitsintegrität zu schaffen und Methoden zur nachhaltigen Vermeidung von Sicherheitsschulden aufzuzeigen.
Welche wissenschaftlichen Methoden werden angewandt?
Die Arbeit basiert auf einer fundierten Literaturanalyse und einer deskriptiven Darstellung von Software-Engineering-Methoden und Sicherheitsstandards, unterstützt durch die Systematisierung verschiedener Test- und Prüfverfahren.
Was wird im Hauptteil behandelt?
Im Hauptteil werden sowohl theoretische Grundlagen der Sicherheitsschulden als auch spezifische technische Prüfverfahren wie Code Reviews, Modellprüfungen und symbolische Programmausführung detailliert erläutert.
Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?
Die wichtigsten Schlagworte sind Sicherheitsschulden, Security Engineering, Verifikation, Validierung, Common Criteria und Softwarequalität.
Welche Bedeutung haben die Common Criteria (ISO/IEC 15408) für die Reduzierung von Sicherheitsschulden?
Die Common Criteria bieten ein standardisiertes, international anerkanntes Rahmenwerk, mit dem die funktionale Sicherheit von IT-Produkten bewertet und vergleichbar gemacht werden kann, was Herstellern hilft, Schwachstellen systematisch zu adressieren.
Warum ist das Testen allein laut der Arbeit nicht ausreichend, um Sicherheitsschulden zu vermeiden?
Die Arbeit stellt heraus, dass Testen oft nur eine Momentaufnahme der Existenz von Fehlern darstellt, aber keine fehlerhafte Architektur verbessert; daher ist eine begleitende Analyse von Design und Spezifikation unerlässlich.
- Quote paper
- Lennart Loose (Author), 2022, Security by Design. Security Engineering informationstechnischer Systeme, Munich, GRIN Verlag, https://www.grin.com/document/1266988