Eine Einführung in die Sicherheit von Webanwendungen und Brute-Force-Angriffe

Wer eine App angreifen kann, wie Sicherheitsverletzungen am häufigsten vorkommen und wie Sie Ihr Unternehmen vor Brute-Force-Angriffen durch böswillige Akteure schützen können

IT Beratung und Digitale TransformationUPDATED ON Dezember 15, 2021

Graphic for blog on tech niches

Da moderne Unternehmen und andere Organisationen zunehmend von der Nutzung von Webanwendungen abhängig sind, ist der Anreiz für böswillige Akteure, deren Sicherheit anzugreifen, gestiegen. Die Sicherheit von Webanwendungen sollte für alle App-Besitzer Priorität haben, wenn Benutzer- oder Unternehmensdaten, der Ruf oder Geld gefährdet sein könnten, falls eine App angegriffen wird.

Angriffe auf Webanwendungen bieten Eindringlingen unter anderem folgende Möglichkeiten:

  • Zugang zu den internen Ressourcen eines Unternehmens und zu sensiblen Informationen;
  • die Möglichkeit, das Funktionieren einer Anwendung zu stören oder die Geschäftslogik zu umgehen;
  • Finanzielle Gewinne für den Angreifer und finanzielle und rufschädigende Verluste für den Eigentümer von Webanwendungen.

Benutzer von Webanwendungen sind gefährdet, denn wenn ein Angriff erfolgreich ist, kann der Angreifer persönliche und finanzielle Daten stehlen, Aktionen auf Websites im Namen der Benutzer durchführen und ein System mit Malware infizieren.

In diesem Artikel geht es um die Arten von Angriffen, die Art und Weise, wie Bedrohungsakteure Ihr System schädigen können, und wie Sie Ihre Website, andere webbasierte Anwendungen und die wichtigen Daten Ihres Unternehmens schützen können.

Können wir Ihnen bei Ihrem nächsten Softwareentwicklungsprojekt helfen?

Flexible Modelle für Ihre Bedürfnisse!

Häufige Arten von Angriffen auf Webanwendungen

Es gibt verschiedene Arten von Angriffen, die dazu dienen, die Sicherheit von Webanwendungen zu verletzen. Sie unterscheiden sich je nach der Raffinesse der Art und Weise, mit der die Angreifer sensible Daten stehlen oder anderweitig Schaden anrichten wollen. Die gängigsten Angriffe sind:

1. Implementierung von SQL-Anweisungen

2. Ausführen von OS-Befehlen

3. Path Traversal

4. Сross-site scripting

5. Denial of Service

6. Сonnecting local files

7. Implementierung von externen XML-Entitäten

8. Herunterladen von beliebigen Dateien

9. Cross-Site Request Forgery

Eine der einfachsten, aber effektivsten Methoden, um auf gezielte Daten einer Webanwendung zuzugreifen, ist der Einsatz von Brute-Force-Angriffen. Bei diesem Ansatz setzt der Angreifer eine Code-Breaking-Software ein, um alle möglichen Kombinationen eines Passworts zu berechnen und zu testen, ob es sich um das richtige Passwort handelt. Mit zunehmender Länge des Kennworts steigt die Zeit, die im Durchschnitt benötigt wird, um das richtige Kennwort zu finden, exponentiell an. Das bedeutet, dass Benutzer das Risiko, Opfer eines Brute-Force-Angriffs zu werden, enorm verringern können, indem sie einfach sicherstellen, dass sie ein langes Passwort verwenden, das neben Buchstaben auch Symbole und Ziffern enthält.

Um auf eine Anwendung zuzugreifen, müssen wir in der Regel einen Benutzernamen und ein Passwort erstellen. Trotz jahrelanger Warnungen sind die Benutzer jedoch nicht immer sorgfältig genug, wenn es um die Wahl eines sicheren Passworts geht. Es ist immer noch nicht ungewöhnlich, dass Benutzer ein Passwort eingeben, das mit ihrer E-Mail, ihrem Namen, ihrem Nachnamen, ihrem Geburtsdatum usw. oder denen ihrer Familie verbunden ist. In extremen Fällen können Benutzer sogar ihre Anmeldedaten auf einen Post-it-note schreiben und auf ihrem Computerbildschirm hinterlassen.

Da das Ziel des Angriffs darin besteht, einen gültigen Benutzernamen und ein gültiges Passwort zu finden, ist es nicht so schwierig oder ungewöhnlich, wie man annehmen könnte, dass Eindringlinge ein paar Stunden damit verbringen, Instagram oder andere Social-Media-Profile eines bestimmten Benutzers oder einer Organisation auf der Suche nach einem unvorsichtigen Hinweis auf Anmeldedaten zu durchforsten.

Wege zur Implementierung eines Brute-Force-Angriffs

3 Dinge, die Sie im Falle eines Sicherheitsverstoßes bei Ihrer Webanwendung nicht tun sollten

BOCKIEREN SIE NICHT DIE IP

Nachdem sie festgestellt haben, dass ein Angriff stattgefunden hat, ist es üblich, dass App-Besitzer reaktiv die IP-Adresse des Eindringlings blockieren. Wir würden Ihnen jedoch raten, von dieser impulsiven Maßnahme Abstand zu nehmen, denn:

  • ein Eindringling dies leicht umgehen kann, indem er seine IP-Adresse dynamisch ändert
  • die Sperrung einer öffentlichen IP-Adresse andere Nutzer derselben Adresse ausschließen kann

DEN BENUTZER NICHT SPERREN

Eine weitere schlechte Idee ist es, Benutzer zu sperren, die sich mehrfach nicht angemeldet haben. Dies ist ein gefährlicher Ansatz. Ein potenzieller Eindringling kann viele gültige Benutzernamen ausprobieren, und Sie werden am Ende jede einzelne dieser Personen blockieren. Höchstwahrscheinlich wird dies die Benutzer verärgern und sie davon abhalten, Ihre Anwendung zu benutzen. Eine mildere Version dieses Ansatzes ist die vorübergehende Sperrung eines Kontos mit einer Antwort wie „Sie haben Ihr Passwort ein paar Mal hintereinander falsch eingegeben. Versuchen Sie es in 30 Sekunden noch einmal.“

KEINE CAPTCHA VERWENDEN

Captcha kann eine gute Möglichkeit sein, um zu bestätigen, dass ein Anmeldeversuch nicht von einem Roboter stammt. Aber es ist auch lästig für die Benutzer. Bei Anwendungen, bei denen die Benutzerfreundlichkeit im Vordergrund steht, sollte CAPTCHA als letztes Mittel betrachtet werden. Viele Sicherheitsteams für Webanwendungen verwenden eine leichtere Form des Captcha-Schutzes, bei der die Maßnahme nur dann eingesetzt wird, wenn ein potenziell verdächtiges Verhalten des Benutzerkontos eine Warnung auslöst. Vielleicht haben Sie schon bemerkt, dass die großen Google-Apps diesen Ansatz für Captcha als Sicherheitsmaßnahme verwenden.

Wie Sie Ihre Webanwendung vor Brute-Force-Angriffen schützen können

Nachdem wir uns nun mit den üblichen Ansätzen für die Sicherheit von Webanwendungen und den Reaktionen auf Verstöße beschäftigt haben, die in der Regel nicht besonders effektiv sind, stellt sich die Frage, was Sie tun können, um die Abwehrkräfte Ihrer Anwendung wirklich zu stärken.

Schritt #1. Definieren Sie, was Sie schützen wollen

Analysieren Sie, welche Art von Ressourcen und welchen Wert Sie vorrangig verteidigen sollten. Geld? Sensible Daten? Reputation? Eine gehackte App kann zu Verlusten in allen drei Bereichen führen und sollte natürlich um jeden Preis vermieden werden.

Schritt #2. Angriffe erkennen

Um einen Brute-Force-Angriff wirksam abzuwehren, müssen Sie ihn zunächst erkennen. Dazu müssen Sie Tools zur Überwachung des Netzwerkverkehrs Ihrer Webanwendung verwenden. Achten Sie auf Metriken und Protokolle durch automatisierte Überwachungstools. Die HTTP-Metriken sollten detailliert genug sein, um die URL und Methode jeder eingehenden Anfrage, den Status und die Anzahl der erzeugten Antworten zu bestimmen. Protokolle liefern detailliertere Informationen über jede Anfrage, die nicht immer gesammelt und als Metriken dargestellt werden können.

Schritt #3. Fordern Sie zusätzliche Sicherheitsfragen

Geheime Fragen können ein wirksames Mittel sein, um potenzielle Angreifer zu erkennen, ohne die Benutzererfahrung der regulären Benutzer Ihrer Webanwendung allzu sehr zu beeinträchtigen. Geheime Fragen und die entsprechenden Antworten werden im Profil eines Benutzers konfiguriert. Wenn ein Benutzer sich ein paar Mal nicht angemeldet hat, geben Sie ihm die Möglichkeit, seine Geheimfrage zu beantworten. Stellen Sie sicher, dass diese Fragen auch bei ungültigen Anmeldungen gestellt werden, damit der Angreifer nicht weiß, ob ein Konto wirklich existiert oder nicht.

Schritt #4. Latenzzeit einführen

Bei einem Brute-Force-Angriff wird ein Angreifer viele Versuche mit Passwörtern unternehmen. Die Implementierung einer kleinen Verzögerung zwischen fehlgeschlagenen Anmeldeversuchen kann den gesamten Prozess drastisch verlangsamen und ihn für einen Angreifer zu zeitaufwändig machen. Die zusätzliche Latenzzeit wird für echte Benutzer, die wahrscheinlich nur zwei oder drei Versuche benötigen, um ihre Anmeldedaten korrekt einzugeben, keine großen Unannehmlichkeiten mit sich bringen.

Schritt #5. Bei Brute-Force-Angriffen verwendete Trickwerkzeuge

Bei einem Brute-Force-Angriff können Penetrationstest-Tools wie THC Hydra verwendet werden. Wenn diese Tools Anfragen mit einem User-Agent-Header senden, der auf einen Standardwert eingestellt ist, ist dies ein verräterisches Zeichen für ein Angriffstool.

Durch die zufällige Rückgabe von 200-Status-Antworten für Anfragen mit einem solchen Header kann eine Anwendung den Angreifer täuschen, der dann nicht mehr in der Lage ist, zwischen korrekten und fehlgeschlagenen Versuchen zu unterscheiden. Das funktioniert auch bei Amateur-Hackern, die nicht wissen, wie sie die Anfrage-Header von Hydra ändern können. Beachten Sie, dass dies keine vollständig sichere Lösung ist, da man sich nicht immer auf die Request-Header verlassen kann.

Fazit

Die meisten Angriffe auf Webanwendungen sind nicht besonders raffiniert und können relativ leicht vermieden oder entdeckt werden, wenn man die oben genannten Ratschläge befolgt. Größere Anwendungen oder solche, die von Hackern aus verschiedenen Gründen als attraktive Ziele angesehen werden, können jedoch von raffinierteren Hackern angegriffen werden. Das technische Know-how, über das die besten modernen Cyberkriminellen verfügen, macht es möglich, Angriffe mit einem hohen Maß an Komplexität durchzuführen, auch durch eine Reihe von Aktionen, die zu verschiedenen Zeiten stattfinden und auf den ersten Blick nicht zusammenhängen.

Wenn Sie sich nicht sicher sind, ob Sie eine komplizierte Angriffsserie bewältigen können, und befürchten, dass Ihre Webanwendung ein potenzielles Ziel sein könnte, helfen wir Ihnen gerne. Setzen Sie sich einfach mit uns in Verbindung, indem Sie unten klicken!

K&C - Wir schaffen innovative Tech-Lösungen seit über 20 Jahren.

Kontaktieren Sie uns, um Ihre individuellen Bedürfnisse oder Ihr nächstes Projekt zu diskutieren.