Funktionsweise von Formularen
Websitebetreiber nutzen Formulare, um von Nutzern Daten entgegenzunehmen. Typische Anwendungsfälle sind Kontaktformulare, Bestellformulare oder Eingabemasken für Zugangsdaten.
Die Funktionsweise von Formularen ist in der Regel schnell erklärt:
- Beim Aufruf einer Formularseite werden zunächst die Informationen zum Aufbau der Formulareingabeseite vom Webserver an den Browser übertragen. Ein Formular besteht im Grundsatz mindestens aus den abzufragenden Datenfeldern, einem Absende-Button und aus einer Empfangs-URL.
- Beim Klick des Absende-Buttons werden die Formularinhalte an die in der Formulareingabeseite hinterlegte Empfangs-URL des Webservers gesendet. Der Webserver nimmt das ausgefüllte Formular zur anschließenden Weiterverarbeitung entgegen.
Die Absicherung umfasst die Übertragung der Formularinhalte…
Sofern personenbezogene Daten betroffen sind, muss die Übertragung der Formularinhalte vom Browser an die hinterlegte Empfangs-URL des Webservers besonders geschützt werden. § 13 Abs. 7 Nr. 2 a Telemediengesetz (TMG) verpflichtet Diensteanbieter insofern, technische und organisatorische Vorkehrungen zu treffen, die sicherstellen, dass ihre Website gegen die Verletzungen des Schutzes personenbezogener Daten gesichert ist. Das TMG nennt in diesem Zusammenhang insbesondere die Anwendung eines als sicher anerkannten Verschlüsselungsverfahrens. Daher sollten Übertragungen zwischen Browser und Webserver mit TLS nach dem Stand der Technik, also z. B. mit TLS 1.2 und Perfect Forward Secrecy, abgesichert werden. Genauere Informationen zum Stand der Technik von TLS finden Sie auch in unseren Blog.
… die Absicherung beginnt aber schon auf der Formularseite
Es ist jedoch nicht unbedingt ausreichend, nur die Übertragung der ausgefüllten Formularinhalte vom Browser zum Webserver abzusichern.
Schon die Übertragung des Formulars an den Browser sollte mit TLS abgesichert werden. Denn wenn die Übertragung des Formulars nicht geschützt ist, könnte ein Angreifer das Formular auf dem Transportweg über einen sog. Man-in-the-Middle-Angriff manipulieren. Ein solcher Angriff wäre z. B. möglich, wenn der Nutzer ungeschützt über einen öffentlichen Hotspot oder ein öffentliches Netzwerk surft. Ein Angreifer könnte dann die auf der Formulareingabeseite angegebene Empfangs-URL einfach von HTTPS auf HTTP ändern oder die Empfangs-URL gleich komplett austauschen.
Wenn die Formulareingabeseite hingegen über eine TLS-Verbindung an den Browser gesendet wird, kann der Angreifer diese Manipulation nicht vornehmen.
Die Verschlüsselung mittels HTTPS wahrt also nicht nur die Vertraulichkeit, sondern auch die Integrität der Formularinhalte.
Hinzu kommt ein weiterer, wichtiger Punkt: Die verschlüsselte Auslieferung der Formulareingabeseite erhöht auch das Sicherheitsgefühl des Nutzers des Formulars. Denn wenn die Formulareingabeseite nicht mittels HTTPS ausgeliefert wird, werden Nutzer möglicherweise befürchten, dass auch die Übertragung der Formularinhalte unverschlüsselt erfolgt.
Noch besser: Die komplette Webpräsenz schützen
Die verschlüsselte Übertragung sowohl der Formulareingabeseite als auch der eingetragenen Formularinhalte stellen den grundlegenden Schutz sicher.
Ein zusätzlicher Gewinn an Sicherheit kann aber erreicht werden, in dem die gesamte Webseite mit TLS abgesichert wird und generell keine unverschlüsselten HTTP-Verbindungen mehr angenommen werden. Denn über unverschlüsselte Teile der Webseite könnten immer noch klassische Man-in-the-Middle-Angriffe gestartet und die Inhalte der im Browser dargestellten Webseiten verändert werden. Zu den typischen Vorgehensweisen gehört das Einbetten von Phishingseiten, Malware oder Keyloggern, um Zugriff auf vertrauliche Daten oder IT-Systeme zu erhalten.
Ein weiterer Vorteil: Die komplette Umstellung der Webseite auf HTTPS erhöht das Google-Ranking und kann daher auch als SEO-Maßnahme verstanden werden.
Auch nach der Übertragung an den Webserver muss der Schutz personenbezogener Daten sichergestellt werden
Oftmals werden die Formularinhalte nicht direkt auf dem entgegennehmenden Webserver gespeichert, sondern von dort aus weiterverarbeitet. Die Formularinhalte könnten z.B. in einer weiteren Datenbank gespeichert werden, auf die bestimmte Nutzer über ein Backend zugreifen können. Gelegentlich werden die Formularinhalte auch als E-Mail vom Webserver an den eigentlichen Empfänger weitergeleitet.
Auch bei diesen Verarbeitungsschritten müssen die personenbezogenen Daten angemessen geschützt werden. Hier kommt es sehr auf eine Betrachtung im Einzelfall an. Werden die Daten nur im eigenen Unternehmensnetz transportiert und kann durch die Konfiguration des Netzwerkes und der Firewalls ein angemessener Schutz sichergestellt werden? Oder werden die Daten zur Weiterverarbeitung auch über das Internet transportiert? Im letztgenannten Fall sollten auch hier wieder verschlüsselte Verbindungen eingesetzt werden.
Wenn die Daten über E-Mail weitergeleitet werden, sollte auf jeden Fall eine sicher konfigurierte E-Mail-Infrastruktur (genauere Informationen finden sich hier) genutzt werden.
Erfolgt ein Zugriff auf die Formularinhalte über eine Datenbank muss auch hier die angemessene Sicherheit der Datenbank, der Übertragungswege, der Authentisierung etc. betrachtet werden.
Mit der Absicherung von Formularen ist es aber eigentlich nicht getan
Mit der Umsetzung der vorgeschlagenen Maßnahmen sollte ein angemessener Schutz der Formularinhalte sichergestellt werden können. Wie so häufig in der IT-Sicherheit gibt es neben dem Übertragungsweg auch noch weitere Angriffsvektoren, wie Injections, Cross-Site-Scripting oder Cross-Site-Request-Forgery, die beim sicheren Betrieb von Webseiten und Formularen beachtet werden sollten. Weitere Informationen zu diesen Themen und zu umzusetzenden Maßnahmen finden sich in unserer OWASP Top 10-Reihe.