G 4.87 Offenlegung vertraulicher Informationen bei Webanwendungen und Web-Services
Webseiten und Daten, die von einer Webanwendung oder einem Web-Service generiert und ausgeliefert werden, können vertrauliche Informationen enthalten, die nicht für die Nutzung der Webanwendung oder des Web-Service erforderlich sind (zum Beispiel Angaben zu Produkt und Versionsständen von Frameworks oder Informationen über Schnittstellen und Funktionen in WSDL-Dokumenten oder im UDDI-Register). Diese Informationen können einem Angreifer Hinweise zur Durchführung gezielter Angriffe geben. Wenn demzufolge Informationen unnötig offengelegt werden, kann dies einen erfolgreichen Angriff erleichtern. Hierbei können diese Informationen auch über weniger offensichtliche Übertragungswege übermittelt werden (zum Beispiel im HTTP-Header).
Beispiele:
- Es werden detaillierte Informationen über Sicherheitsmechanismen oder -attribute ausgegeben, die für einen Benutzer der Webanwendung oder des Web-Service nicht notwendig sind, aber Hinweise für potenzielle Angriffe geben (zum Beispiel "Geben Sie bitte die 6-stellige, numerische PIN ein" anstelle von "Geben Sie bitte die PIN ein"). Aufgrund dieser Information könnte ein Angreifer den möglichen Zeichenraum bei einem Brute-Force-Angriff einschränken und somit schneller eine gültige PIN ermitteln.
- Kommentare (zum Beispiel im HTML-Quelltext) können Informationen zu bekannten Fehlern, Funktionsweisen, eingesetzten Techniken und der angebundenen Infrastruktur beinhalten. Ein Angreifer kann hierdurch gezielt nach Schwachstellen in der Webanwendung, dem Web-Service und der Infrastruktur suchen und diese ausnutzen. Werden zum Beispiel die in der Entwicklungsphase verwendeten Zugangsdaten für eine Datenbank in Kommentaren erwähnt, können diese gegebenenfalls auch noch im produktiven Betrieb der Webanwendung für den unautorisierten Zugriff verwendet werden.
- Dateien mit unbekannter Dateiendung (zum Beispiel temporäre Dateien mit .tmp oder Backup-Dateien mit .bak von Skripten der Webanwendung) werden von der Webanwendung im Quelltext ausgeliefert. Auf diese Weise können vertrauliche Informationen wie fest kodierte Zugangsdaten ausgelesen werden. Darüber hinaus können von einem Angreifer Programmabläufe aus dem offengelegten Code auf Schwachstellen untersucht werden.
- In WSDL-Dateien werden die Schnittstellen von Web-Services definiert. Werden diese Dateien einem Angreifer offengelegt, kann er dadurch Informationen über die Schnittstellen und Aufrufparameter der angebotenen Web-Services erhalten, die Angriffe auf diese Schnittstellen deutlich erleichtern oder beschleunigen.