Top 10 der Fehler bei Web-Applikationen

Die zehn größten Schwachstellen in Web-Anwendungen

Platz 8: Insecure Cryptographic Storage

In vielen Web-Anwendungen fehlen kryptografische Funktionen oder sind schlecht implementiert. Dabei sind die Verschlüsselung schützenswerter Daten wie Zugangs- und Kreditkarteninformationen oder die Nicht-Vorhersagbarkeit etwa von Session-Tokens wichtige Mechanismen zur Absicherung einer Web-Applikation. Allerdings gewährleisten kryptografische Funktionen nicht zwingend, dass Daten und Tokens auch wirklich geschützt sind.

Mitunter werden eigenentwickelte, schwache (etwa SHA-1 oder MD5) oder fehlerhaft implementierte Algorithmen verwendet, die gebrochen werden können und somit keinen Schutz bieten. Zudem werden die kryptografischen Schlüssel häufig an unsicheren Stellen (etwa in der Anwendung herunterladbar) aufbewahrt, wodurch die Sicherheit des gesamten Verschlüsselungsmechanismus aufgehoben wird.

Platz 9: Insecure Communications

Bei dieser Art von Schwachstelle werden sensible Daten über einen unsicheren Kommunikationskanal im Klartext oder nur teilweise beziehungsweise unsicher verschlüsselt übertragen. In diesen Fällen kann ein Angreifer durch passives Mitlesen oder eine Man-in-the-Middle-Attacke auf die transferierten Daten zugreifen.

Vor allem bei der Übermittlung vertraulicher Informationen wie Zugangs-, Zahlungs- oder Kundendaten ist es notwendig, die Datenkommunikation zu verschlüsseln. Jedoch gibt es Web-Anwendungen, die nur den Austausch der Login-Informationen über einen sicheren Übertragungskanal abwickeln und die anschließende Kommunikation unverschlüsselt lassen. Dabei wird häufig vergessen, dass auch bei den folgenden Anfragen sicherheitsrelevante Authentifizierungsinformationen wie Session-Tokens übertragen werden. Das ermöglicht dem Angreifer, unverschlüsselte Tokens mitzulesen und sich mit der fremden Identität bei der Web-Anwendung zu authentisieren.