Unternehmenswebseiten im Mittelstand: So vermeiden Sie Hackangriffe
IT-Sicherheit ist nicht erst seit gestern eines der wichtigsten Themen für Unternehmen. Mit Notfallplänen für den Worst Case, Security-Beratung und allerlei Compliance-Richtlinien wird versucht, diesem Thema zu begegnen. Ein sehr einfacher, aber oft vergessener Faktor hierbei ist die eigene Website. Denn 13% der Fälle von gravierenden Sicherheitsvorfällen entstehen durch das Hacking von unsicheren Unternehmenswebsites.
Die aktuelle YouGov-Studie zum Thema IT-Sicherheit kommt trotzdem zu einem ernüchternden Ergebnis: 39% der befragten IT-Verantwortlichen halten ihre Website nur für teilweise sicher und 11% sehen sie als unsicher an. Wir zeigen Ihnen die fünf wichtigsten Faktoren, die ein Sicherheitsrisiko darstellen, und Ansätze, wie sie dagegen vorgehen können.
Injection – Manipulation von Eingabeverarbeitung
Injection-Schwachstellen beziehen sich auf SQL-, OS- oder LDAP-Injection. Dabei werden nicht vertrauenswürdige Daten von einem Interpreter als Abfrage oder Teil eines Kommandos verarbeitet. Dadurch können Angreifer die Eingabedaten so manipulieren, dass nicht vorhergesehene Kommandos ausgeführt oder ohne Autorisierung auf Daten zugegriffen werden kann.
Dieses Problem betrifft vor allem Schnittstellen und kann gelöst werden, indem eine sichere API verwendet wird. Diese muss die direkte Nutzung des Interpreters unterbinden bzw. nur typgebunde Nutzung erlauben. Ein Whitelisting-Ansatz ist hier ein sicherer Weg. Dabei sind nur bestimmte Funktionen erlaubt und die restlichen gesperrt. Zusätzlich können Sie sich absichern, indem Sie sicherstellen, dass Nutzerdaten entsprechend validiert und gefiltert werden oder durch eine entsprechende Sanitizer-Funktion laufen.
Fehler in der Authentifizierung können zu Hacking führen
Anwendungsfunktionen zur Authentifizierung und für das Session-Management sind die zweite große Schwachstelle vieler Websites. Durch eine falsche Implementierung können Angreifer Passwörter und Session-Token manipulieren. Dies führt dazu, dass sie die Identität anderer Benutzer annehmen können. So können sie sich vorübergehend oder dauerhaft als ein anderer Nutzer ausgeben und dadurch unter Umständen Zugriff auf ihr Backend erhalten. Auch der Zugriff auf andere sensible Daten Ihres Unternehmens oder Ihrer Nutzer ist denkbar.
Implementieren Sie eine Zwei- oder Mehrfaktor-Autorisierung für Ihre Nutzer. Insbesondere Benutzer mit administrativen Rechten gilt es hier zu schützen, da dadurch der größte Schaden entstehen kann. Lassen Sie außerdem keine „Standardbenutzer“ anlegen bzw. bitten Sie Ihren Administrator oder Dienstleister, diese zu löschen. Insbesondere Benutzernamen wie „Admin“ oder „Administrator“ mit beispielsweise dem Unternehmensnamen als Passwort sind dringend zu vermeiden.
Vertraulichkeitsverlust der Daten – Hauptziel des Hacking
Sensible Daten wie Finanz- oder Kundendaten oder personenbezogene Informationen müssen besonders geschützt werden. Durch das Auslesen oder Modifizieren dieser Daten können Angreifer Identitätsdiebstahl oder Kreditkartenbetrug begehen. Meistens liegt das Problem hierbei in der unzureichenden Verschlüsselung der Daten. Aber auch Fälle, in denen Angreifer die entsprechenden Schlüssel stehlen konnten, sind vorgekommen.
Die Lösung hierfür ist relativ simpel: Speichern und übertragen Sie niemals Daten in Klartext, also unverschlüsselt. Diese Regel klingt sehr einfach. Allerdings kommt es regelmäßig auch bei großen Unternehmen vor, dass Benutzerdaten und –Passwörter als Klartext in Textdateien gespeichert werden. Dies ist in den letzten Jahren unter anderem Facebook und Sony passiert.
Bei der Verschlüsselung sollten Sie sichere Methoden und Algorithmen verwenden (z.B. BSI TR-02102). Auch verschiedene Sicherheitsstufen für unterschiedlich sensible Daten und entsprechend unterschiedliche Sicherungsverfahren können helfen, Angreifer abzuwehren.
Hacking durch Bösartige XML-Uploads
XML-Verarbeiter können von Angreifern verwendet werden, wenn diese XML direkt hochladen können. Auch die Aufnahme schädlicher Inhalte oder die Veränderung von normalerweise unbedenklichen XML-Dateien bietet Angriffsflächen. Hierzu wird entsprechend anfälliger Code manipuliert oder Abhängigkeiten und Integrationen ausgenutzt. Insbesondere bei älteren XML-Prozessoren ist die Spezifikation einer externen Entität standardmäßig erlaubt. Auch hier gilt es also, Ihr System möglichst aktuell zu halten.
Mit sogenannten SAST-Tools können Sie erkennen, inwiefern Schwachstellen vorhanden sind, da diese die Abhängigkeiten und Konfigurationen der XML-Verarbeitung erkennen. Diese sind den sogenannten DAST-Tools deutlich überlegen, da diese zusätzliche manuellen Schritte erfordern, um Probleme zu erkennen. Hierzu müssen auch Ihre Anwender geschult werden. Deshalb sind die Überprüfung Ihrer XML-Verarbeiter durch SAST-Tools und die regelmäßige Aktualisierung Ihrer Webanwendungen unverzichtbar, um Ihre Websites vor XML-Uploads zu schützen.
Fehler in der Zugriffskontrolle
Zugangskontrollen, zum Beispiel zu Ihrem Backend oder geschützten Kundenbereichen sind natürlich unabdingbar. Auch hier können Sie mit SAST- oder DAST-Tools fehlende Kontrollmechanismen erkennen. Allerdings können Sie damit nicht überprüfen, ob bestehende Kontrollen korrekt funktionieren. Je nach verwendetem Framework können Sie das allerdings automatisch erkennen lassen. Diese automatische Erkennung zusammen mit entsprechenden Funktionstests fehlt allerdings oftmals, insbesondere bei noch in der Entwicklung befindlichen Anwendungen.
Um diese Angriffe zu verhindern, müssen Sie Ihre Zugriffskontrollen wirksam und nicht-manipulierbar gestalten. Hierzu muss diese entweder im vertrauenswürdigen serverseitigen Code oder über eine Serverless API betrieben werden. Nur dann ist sichergestellt, dass potentielle Angreifer diese Prüfung und die dazu verwendeten Metadaten nicht manipulieren können. Auch die standardmäßige Verweigerung aller Zugriffe, außer auf eindeutig öffentliche Ressourcen ist eine Möglichkeit, diese Gefahr einzudämmen. Schlussendlich eignen sich allerdings manuelle Tests am besten, um möglicherweise unsichere Zugriffskontrollen zu erkennen. Hierzu können HTTP-Methoden (GET, PUT, etc.) Controller oder direkte Objektreferenzen verwendet werden.
Mit diesen 5 Tipps können Sie bereits einen Großteil der üblichen Schwachstellen von Websites und Webanwendundungen beheben bzw. ausschließen. Besprechen Sie diese Themen am besten mit Ihrem Webseitenverantwortlichen. Stellen Sie sicher, dass Ihre Systeme jederzeit auf dem neuesten technischen Stand sind. Nur so können Sie potentiellen Angreifern einen Schritt voraus sein. Denn insbesondere weit verbreitete Entwicklungsumgebungen und Frameworks werden von Hacking-Experten ausgiebig auf potentielle Schwachstellen überprüft. Dies erspart Ihnen den Aufwand der manuellen Schwachstellenfindung.
Sicherheit nicht nur für Ihre Website, sondern Ihre ganze IT-Infrastruktur?