EN

A08:2021 – Software- und Daten Integritätsfehler – Erklärt

In diesem Artikel:

Moderne Softwareentwicklung ist durch agile Prinzipien geprägt, die schnelle Veröffentlichungs- und Aktualisierungszyklen fördern. Die Kernkomponenten der agilen Methodik erfordern die Implementierung strenger Integritätsprüfungen, ohne die Angreifer bösartige Eingaben einspeisen können, die sich auf alle Phasen der Bereitstellungspipeline auswirken können. In den meisten Fällen ist unsicheres Design eine der häufigsten Ursachen, die zu einer breiten Reihe von Anwendungssicherheitsschwachstellen führen – allgemein bekannt als Software- und Datenintegritätsfehler.

In diesem Artikel werden Software- und Datenintegritätsfehler als eine der häufigsten bekannten Schwachstellen in modernen Anwendungen, Beispiele für solche Fehler und Präventionsstrategien vorgestellt.

Was sind Software- und Datenintegritätsfehler in den OWASP Top 10 2021?

Die Komplexität der Architekturen in modernen Update-Release-Zyklen zwingt Entwickler oft dazu, Plugins, Module und Bibliotheken aus öffentlichen Repositories, nicht vertrauenswürdigen Quellen und Content-Delivery-Netzwerken zu verwenden. Aufgrund dieser Komplexität kommt es zu Software- und Datenintegritätsfehlern (die als Designfehler eingestuft werden), wenn kritische Daten und Software-Updates in die Bereitstellungspipeline aufgenommen werden, ohne dass ihre Integrität überprüft wird. Ohne angemessene Validierung machen Software- und Datenintegritätsfehler Anwendungen anfällig für die unbefugte Offenlegung von Informationen, die Gefährdung des Systems oder das Einfügen von bösartigem Code.

Moderne Softwarebereitstellungspipelines enthalten automatische Aktualisierungsfunktionen, die die Lebenszyklen durch das Herunterladen von Aktualisierungen und deren Anwendung ohne inhärente Berechtigungen rationalisieren. Hacker können solche Funktionen ausnutzen, indem sie einen Man-in-the-Middle-Angriff durchführen, um während des Aktualisierungsvorgangs bösartigen Code in die Pipeline einzuschleusen. Dies führt dazu, dass beschädigte Payloads bereitgestellt und direkt auf Anwendungsinstallationen ausgeführt werden. 

Die Schwachstelle für Software- und Datenintegritätsfehler ist ein neuer Eintrag in den OWASP Top Ten 2021 (A08). Der Eintrag deckt verschiedene Schwachstellen in der Anwendungssicherheit ab, die zu einer unzureichenden Integritätsprüfung führen können. Einige dieser Szenarien, die zu Integritätsfehlern führen, sind:

  • Fehlerhafte Annahmen über die verwendeten serverseitigen und clientseitigen Komponenten
  • Veraltete oder nicht unterstützte Software von Drittanbietern
  • Unzureichende Prüfung auf Sicherheitslücken
  • Fehlerhafte Eingabevalidierung in der gesamten Pipeline
  • Fehlende Framework-/Plattform-Patches
  • Fehlende Unit-Tests
  • Unsichere Komponentenkonfigurationen

Vermeidung von Software- und Datenintegritätsfehlern

Einige Techniken zur Vermeidung von Integritätsverletzungen umfassen:

Verwendung digitaler Signaturen zur Überprüfung von Software-Komponenten

Eine digitale Signatur ist eine elektronische Unterschrift, mit deren Hilfe der Ursprung einer digitalen Nachricht oder Datei identifiziert werden kann. Diese Signaturen verwenden häufig Infrastrukturmuster mit öffentlichem Schlüssel, um sicherzustellen, dass die zwischen den Parteien ausgetauschten Daten privat und unverändert bleiben.

Teams sollten Digital Signage-Lösungen einsetzen, die die Codesignierung, Verschlüsselung und Authentifizierung über CI/CD-Pipelines hinweg automatisieren. Dies erleichtert eine reibungslosere Komponentenüberprüfung und gewährleistet so die Integrität, ohne die Geschwindigkeit des Lieferzyklus zu beeinträchtigen.

Sichere Repositories für Bibliotheken und Abhängigkeiten verwenden

Entwickler und Sicherheitsexperten sollten sicherstellen, dass öffentliche Registraturen, Bibliotheken oder Abhängigkeiten mit dem Repository eines sicheren Versionskontrollsystems verbunden sind. In selbst gehosteten Repositories sollten Entwickler signierte Übertragungen und eine mehrstufige Authentifizierung implementieren, um den Ursprung einer Aktualisierung vor der Übertragung von Änderungen festzustellen. Darüber hinaus sollten für jedes Repository entsprechende Zugriffsrollen definiert werden, die es nur Entwicklern mit gültigen Berechtigungen erlauben, Code bereitzustellen.

Sichere Code-Reviews einführen

Jede in der Anwendung verwendete Softwarekomponente sollte einer unabhängigen, manuellen und/oder automatisierten Überprüfung auf Anwendungsebene unterzogen werden. Bei dieser Überprüfung sollte der Code auf Cyber-Bedrohungen untersucht werden, die die Verfügbarkeit, Integrität und Vertraulichkeit der Anwendung gefährden. Diese Vorgehensweise trägt dazu bei, die Angriffsfläche erheblich einzuschränken und erleichtert die Behebung von Problemen, bevor der Code in die Bereitstellungspipeline aufgenommen wird.

Implementierung eines Sicherheitsprogramms für die Software-Lieferkette

Ein Sicherheitstool für die Lieferkette hilft dabei, Schwachstellen in Verbindung mit Software von Drittanbietern oder Open-Source-Bibliotheken zu erkennen und zu beseitigen. Ein adäquates Programm zur Verwaltung der Sicherheit in der Lieferkette kombiniert die Grundlagen der Cybersicherheit und des Risikomanagements und ermöglicht es den Teams, Schwachstellen effizient zu beheben und ein Abdriften der Sicherheitskontrollen zu verhindern. Zu den beliebten Lösungen für das Sicherheitsmanagement in der Lieferkette gehören OWASP CycloneDX und das OWASP Dependency-Check Project.

Beispiele für Software-Integritätsmängel

Einige häufig auftretende Fehlkonfigurationen der Softwareintegritätssicherheit sind:

Deserialisierung von nicht vertrauenswürdigen Daten

Bei der Deserialisierung wird eine Folge von Byteströmen in ihre ursprüngliche Form (Objekte) zurückverwandelt. Angenommen, die Anwendung überprüft die Gültigkeit der ursprünglichen Objektdaten während der Deserialisierung nicht in angemessener Weise. In diesem Fall können Angreifer das Eingabe-Nutzdatenobjekt manipulieren, um die Anwendung zur Ausführung von bösartigem Code zu zwingen. Eine unsichere Deserialisierung kann auch zu Angriffen wie der Injektion von bösartigem Code führen, um die Anwendungslogik zu verändern oder beliebige Befehle mit erweiterten Rechten auszuführen.

Verlassen auf Cookies ohne Validierung und Integritätsüberprüfung

Anwendungen verlassen sich in der Regel auf die Existenz/Werte von Cookies, um kritische Sicherheitskontrollen durchzuführen, versäumen es aber oft zu überprüfen, ob das Cookie für den zugehörigen Benutzer gültig ist. Aufgrund der fehlenden Integritätsprüfung können Hacker clientseitigen Code aufrufen, um Cookies zu ändern, die bösartige Eingaben liefern, einen Injektionsangriff durchführen oder Authentifizierungskontrollen umgehen.

Herunterladen von Code ohne Integritätsüberprüfung

Wenn ein Anwendungsserver einen Quellcode herunterlädt und ausführt, ohne den Code auf seine Integrität und Herkunft zu überprüfen, können Hacker die Anwendung dazu verleiten, bösartigen Code von nicht vertrauenswürdigen Websites herunterzuladen. Solche Angriffe können auch zur Ausführung bösartiger Befehle führen, wodurch sensible Informationen gestohlen oder Backend-Server kompromittiert werden. 

Unsachgemäß kontrollierte Änderung dynamisch bestimmter Objektattribute

Eine Anwendung akzeptiert in der Regel Eingabedaten von einer Komponente, die zu aktualisierende Objektattribute angibt, ohne zu kontrollieren, welche Attribute geändert werden können. Angreifer können unerwartet Objektattribute ändern, die explizit für den internen Gebrauch erstellt wurden, mit der alleinigen Absicht, eine systemweite Inbesitznahme herbeizuführen. Zu den inhärenten sprachspezifischen Schwachstellen, die Software-Integritätsfehler begünstigen, gehören Auto-Binding, Mass Assignment (Ruby), Object Injection (PHP), usw.

Nicht vertrauenswürdiger Suchpfad

Bei Servern, die einen externen Suchpfad für den Zugriff auf kritische Ressourcen wie ausführbare Programme oder DLLs verwenden, können Angreifer den Pfadwert an einen Ort ändern, der unter ihrer direkten Kontrolle steht. Wenn der Server die bösartige Ressource ausführt, die sich im nicht vertrauenswürdigen Suchpfad befindet, können Angreifer auf nicht autorisierte Dateien zugreifen, Daten an unerwartete Ziele senden, bösartige Updates ausführen oder die Konfiguration der Anwendung ändern.

FAQs zu Software- und Datenintegritätsfehlern

Was sind die Hauptkategorien von Software-Integritätsrisiken?

Zu den Cyber-Risikokategorien, die auf die Datenintegrität zurückgeführt werden können, gehören:

  • Menschliches Versagen – Benutzer begehen Fehler, die gegen Sicherheitsprotokolle verstoßen
  • Malware und Viren – bösartige Programme, die die Funktion der Anwendung verändern
  • Übertragungsfehler – Datenveränderung bei der Übertragung zwischen Systemen

Wie kann Crashtest Security bei Integritätsfehlern helfen?

Crashtest Security bietet zahlreiche Funktionen, die helfen, Integritätsmängel abzumildern, wie zum Beispiel:

  • Automatisierte Penetrationstests – Die Plattform hilft bei der Durchführung regelmäßiger Unit-Tests und der Erstellung von Bedrohungsmodellen, um anfällige Komponenten aus der Pipeline herauszuhalten
  • Schwachstellen-Scanning – Dazu gehört das automatische Scannen nach bekannten Schwachstellen, was die proaktive Prävention fördert. Das Tool lässt sich nahtlos in einen Entwicklungsstapel integrieren, um Schwachstellen-Scans zur frühzeitigen Erkennung von Integritätsfehlern durchzuführen. 
  • Schnelle Sicherheitsbewertungen – Benchmarking der Anwendungssicherheit anhand der OWASP-Top-Ten-Liste.

Erhalten Sie jetzt kostenlos einen schnellen Sicherheitsbericht für Ihre Website

Wir analysieren derzeit https://example.com
Wir scannen derzeit https://example.com
Status des Scans: In Bearbeitung
Scan target: http://example.com/laskdlaksd/12lklkasldkasada.a
Datum: 23/05/2023
Crashtest Security Suite prüft auf:
Information disclosure Known vulnerabilities SSL misconfiguration Open ports
Scanauftrag ausfüllen
Bitte geben Sie Ihre Daten ein, um die schnelle Sicherheitsüberprüfung zu erhalten.
Ein Sicherheitsspezialist analysiert gerade Ihren Scan-Bericht.
Bitte geben Sie Ihre Telefon-/Handynummer an, damit wir Ihre Identität überprüfen können:
Vielen Dank.
Wir haben Ihren Antrag erhalten.
Sobald Ihr Sicherheitsaudit fertig ist, werden wir Sie benachrichtigen.