Insecure Deserialization

Was ist Insecure Deserialization?

Insecure Deserialization bezeichnet eine typische Schwachstelle in Webanwendungen, die regelmäßig in der OWASP Top 10 auftaucht. Dies ist eine Liste der Non-Profit-Organisation Open Web Application Security Project, die sich für Sicherheit von Webanwendungen und des Internets engagiert.

Beschreibung

Zur Funktionsweise von Webanwendungen gehört die Übertragung von Objekten, die Variablen und verschiedene Informationen umfassen. Solche Sammlungen von Daten werden zu einer Dateneinheit zusammengefasst, man spricht dabei von Serialisierung. Diese Einheit kann dann z.B. verschlüsselt oder signiert werden. Der umgekehrte Vorgang wird Deserialisierung genannt. Danach liegen wieder die Daten des Objekts als Einzelbestandteile vor.

Bei Insecure Deserialization können Angreifer bösartige Daten mithilfe von serialisierten Objekten übertragen, die bei der Deserialisierung unentdeckt bleiben. Dies passiert, wenn keine Integritätsprüfung durchgeführt wurde und deserialisierte Daten nicht bereinigt oder validiert werden.

Auswirkungen

Auswirkungen von ausgenutzter Insecure Deserialization hängen davon ab, wie das deserialisierte Objekt verwendet wird. Die Fernausführung von Programmcode oder die unautorisierte Ausführung von Befehlen ist möglich. In vielen Fällen ist die unsichere Deserialisierung nur eine Möglichkeit zum Übertragen bösartiger Daten, die sich auf eine andere Sicherheitsschwachstelle auswirken und so die Klassifizierung der allgemeinen Auswirkungen erschwert.
Um Insecure Deserialization auszunutzen, ist häufig manuelle Arbeit erforderlich, wodurch automatisierte Angriffe weniger wahrscheinlich sind. Wenn ein Angriff jedoch einmal für ein System erfolgreich war, kann er für alle Systeme, auf denen die gleichen Anwendungen ausgeführt werden, automatisiert werden.

Vermeidung

Deserialisierte Daten sind als zu validierende Benutzereingaben zu handhaben und nicht als vertrauenswürdige interne Daten. Zu beachten sind Sicherheitswarnungen, die Funktionen zur Serialisierung und Deserialisierung z. B. in Frameworks ausgeben können. Wenn ein serialisiertes Objekt zwischen zwei vertrauenswürdigen Systemen gesendet wird (z. B. zwischen Client und Server), ist sicherzustellen, dass das Objekt nicht geändert wurde. Dies kann mit einer Prüfsumme oder digitalen Signatur erfolgen. Zur Deserialisierung sind die sichersten Funktionsvarianten zu wählen.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte