Softwarehaftung: Fünf Tipps für die Zukunft

foto freepik

Wie sich Softwareanbieter auf ihre zunehmende Verantwortung vorbereiten können.

 

In der Vergangenheit waren Softwareanbieter von der Haftung für Sicherheitsverletzungen durch Mängel an ihren Produkten weitgehend verschont. Mit der zunehmenden Abhängigkeit von Technologie und der Häufigkeit und Raffinesse von Cyberangriffen zeichnet sich jetzt jedoch ein Wandel ab.

Regulierungsbehörden und Gesetzgeber erwägen, die Softwareanbieter stärker zur Verantwortung zu ziehen und die Folgen eines Cyberangriffs zu übernehmen, wenn ihre Produkte nicht ein gesetzlich vorgeschriebenes Mindestmaß an Sicherheit bieten.

Die US-Regierung unter Joe Biden hat mit der kürzlich veröffentlichten National Cybersecurity Strategy den ersten Schritt in diese Richtung unternommen.

Die Übertragung der Verantwortung hätte unterschiedliche Folgen für die Softwareanbieter. Beispielsweise könnte die zusätzliche Verantwortung für bestimmte Qualitätsstandards von Softwareprodukten und -dienstleistungen zu höheren Kosten oder Änderungen in den Herstellungsverfahren führen.

Möglicherweise müssen die Anbieter mehr in Tests, Qualitätssicherung und Security-Maßnahmen investieren. Darüber hinaus kann eine verschärfte Haftung auch zu Änderungen bei Softwareverträgen und Garantien führen, da sich die Anbieter gegen mögliche Klagen und Schäden aufgrund von Softwarefehlern absichern müssen.

Eine Verlagerung der Verantwortung kann aber auch das Vertrauen der Kunden erhöhen, da sich die Anbieter stärker auf die Suche und Behebung von Schwachstellen konzentrieren müssten.

»Letztendlich kann die Verlagerung der Softwarehaftung Auswirkungen sowohl auf die Softwareanbieter als auch auf die Endnutzer haben«, erklärt Marc Ahlgrim, Digital Transformation Specialist Risk Mitigation, Compliance and GDPR bei Veritas Technologies. »Jede Organisation muss selbst entscheiden, welcher Ansatz für sie am besten geeignet ist – und zwar vor allem auf Grundlage ihrer spezifischen Anforderungen und ihrer jeweiligen Risikobereitschaft.«

 

Veritas hat fünf Best Practices zusammengestellt, die Unternehmen anwenden können, um sichere Softwareanwendungen zu entwickeln:

  1. Sichere Codierung und Bedrohungsmodellierung

Eine sichere Codierung ist für die Entwicklung sicherer und robuster Anwendungen unerlässlich. Zu ihren wichtigsten Bestandteilen gehören die Eingabevalidierung, die Authentifizierung und Autorisierung, eine sichere Kommunikation, Fehlerbehandlung, Zugriffskontrolle sowie Sicherheit bei der Konfiguration, ebenso wie die Überprüfung des Codes.

Softwarehersteller sollten auch potenzielle Sicherheitslücken in einem System oder einer Anwendung identifizieren und unverzüglich Maßnahmen zu deren Behebung ergreifen. Dazu zählen unter anderem das Identifizieren von Schwachstellen im Design, in der Konfiguration oder in der Implementierung der Anwendung, die Erkennung potenzieller Angriffsvektoren sowie das Einrichten von Sicherheitskontrollen.

  1. Software Bill of Materials Management (SBOMs)

SBOMs beinhalten alle Komponenten, aus denen eine Softwareanwendung besteht, einschließlich Bibliotheken und Frameworks. Als wesentlicher Bestandteil der Softwareentwicklung können SBOMs dabei helfen, potenzielle Schwachstellen zum Beispiel in Lieferketten, Risiken in Komponenten und Abhängigkeiten von Drittanbietern zu identifizieren. Außerdem unterstützen sie Unternehmen bei der Einhaltung von Branchenvorschriften und -standards und der Zusammenarbeit zwischen verschiedenen Entwicklungsteams. Mithilfe von SBOMs können Unternehmen ihr Risikomanagement in der Lieferkette verbessern, Sicherheitsverletzungen eindämmen und für eine bessere Einhaltung von Open-Source-Lizenzanforderungen sorgen.

  1. Penetrationstests und sicheres Konfigurationsmanagement

Penetrationstests bilden das zentrale Element einer umfassenden Sicherheitstest-Strategie. Das Konfigurationsmanagement beinhaltet die Definition und Durchsetzung von Sicherheitsrichtlinien und Best Practices für die Systemkonfiguration. Ein sicheres Konfigurationsmanagement umfasst mehrere zentrale Komponenten wie Standardkonfigurationen, Änderungsmanagement, Sicherheitskontrollen sowie das Schwachstellen- und Patchmanagement. Damit werden häufige Sicherheitslücken in Anwendungen vermieden.

  1. Zugriffskontrolle und Sicherheitsschulungen

Sensible Daten, Funktionen und Ressourcen sollten nur autorisierten Benutzern oder Systemen zugänglich sein.

Sicherheitsschulungen vermitteln den Entwicklern die notwendigen Fähigkeiten und Kenntnisse, um sichere Software zu entwickeln und Schwachstellen einzudämmen.

  1. Reaktion auf Vorfälle und kontinuierliche Überwachung

Klar definierte Reaktionen auf Sicherheitsvorfälle und Schwachstellen in Anwendungen sind ein wesentlicher Bestandteil der Softwareentwicklung. Die Hersteller sollten ihre Systemprotokolle, den Netzwerkverkehr und das Benutzerverhalten kontinuierlich auf Anzeichen von Sicherheitslücken oder -verletzungen analysieren.

 

»Best Practices können Unternehmen helfen, sichere und zuverlässige Softwareanwendungen zu entwickeln, die gegen potenzielle Bedrohungen und Schwachstellen resistent sind. Es ist wichtig, dem Thema Security in jeder Phase der Softwareentwicklung Priorität einzuräumen, um unbefugten Zugriff zu verhindern und vertrauliche Daten zu schützen«, so Ahlgrim abschließend.