Trotz ihrer Bequemlichkeit gibt es auch Nachteile, wenn man sich bei Geschäftsprozessen auf Webanwendungen verlässt.

Eine Sache, die alle Geschäftsinhaber anerkennen und vor der sie sich schützen müssen, ist das Vorhandensein von Software-Schwachstellen und Bedrohungen für Webanwendungen.

Es gibt zwar keine 100%ige Garantie für Sicherheit, aber es gibt einige Schritte, die man unternehmen kann, um Schäden zu vermeiden.

Wenn Sie ein CMS verwenden, dann zeigt der jüngste Hacking-Bericht von SUCURI, dass mehr als 50% der Websites mit einer oder mehreren Sicherheitslücken infiziert sind.

Wenn Sie neu im Bereich Webanwendungen sind, finden Sie hier einige gängige Bedrohungen, auf die Sie achten und die Sie vermeiden sollten:

Falsche Sicherheitskonfiguration

Security-Misconfiguration-1

Eine funktionierende Webanwendung wird in der Regel von einigen komplexen Elementen unterstützt, die ihre Sicherheitsinfrastruktur ausmachen. Dazu gehören Datenbanken, Betriebssysteme, Firewalls, Server und andere Anwendungssoftware oder Geräte.

Was viele nicht wissen, ist, dass alle diese Elemente regelmäßig gewartet und konfiguriert werden müssen, damit die Webanwendung ordnungsgemäß funktioniert.

Bevor Sie eine Webanwendung nutzen, sollten Sie mit den Entwicklern sprechen, um sich über die Sicherheits- und Prioritätsmaßnahmen zu informieren, die für die Entwicklung der Anwendung getroffen wurden.

Planen Sie, wann immer möglich, Penetrationstests für Webanwendungen ein, um zu testen, ob sie mit sensiblen Daten umgehen können. Auf diese Weise können Sie Schwachstellen in Webanwendungen sofort aufdecken.

Auf diese Weise können Sie Schwachstellen in Webanwendungen schnell finden.

Malware

Das Vorhandensein von Malware ist eine weitere der häufigsten Bedrohungen, vor denen sich Unternehmen in der Regel schützen müssen. Das Herunterladen von Malware kann schwerwiegende Folgen haben, wie z.B. die Überwachung von Aktivitäten, den Zugriff auf vertrauliche Informationen und Backdoor-Zugang zu groß angelegten Datenverletzungen.

Malware kann in verschiedene Gruppen eingeteilt werden, da sie unterschiedliche Ziele verfolgt – Spyware, Viren, Ransomware, Würmer und Trojaner.

Malware

Um dieses Problem zu bekämpfen, stellen Sie sicher, dass Sie Firewalls installieren und auf dem neuesten Stand halten. Vergewissern Sie sich auch, dass alle Ihre Betriebssysteme aktualisiert wurden. Sie können auch Entwickler und Antispam-/Virenexperten beauftragen, Präventivmaßnahmen zur Entfernung und Erkennung von Malware-Infektionen zu entwickeln.

Stellen Sie außerdem sicher, dass Sie wichtige Dateien in externen sicheren Umgebungen sichern. Das bedeutet im Wesentlichen, dass Sie im Falle einer Aussperrung auf alle Ihre Daten zugreifen können, ohne dass Sie aufgrund von Ransomware bezahlen müssen.

Überprüfen Sie Ihre Sicherheitssoftware, die verwendeten Browser und Plugins von Drittanbietern. Wenn es Patches und Updates für die Plugins gibt, stellen Sie sicher, dass Sie sie so schnell wie möglich aktualisieren.

Injektionsangriffe

Injektionsangriffe sind eine weitere häufige Bedrohung, nach der Sie Ausschau halten sollten. Diese Arten von Angriffen gibt es in einer Vielzahl von verschiedenen Injektionsarten und sind darauf ausgerichtet, die Daten in Webanwendungen anzugreifen, da Webanwendungen Daten benötigen, um zu funktionieren.

Je mehr Daten erforderlich sind, desto mehr Möglichkeiten bieten sich für Injektionsangriffe. Einige Beispiele für diese Angriffe sind SQL-Injection, Code-Injection und Cross-Site-Scripting.

BeiSQL-Injection-Angriffen wird in der Regel die Kontrolle über die Datenbank des Website-Besitzers durch die Einspeisung von Daten in die Webanwendung entwendet. Die injizierten Daten geben der Datenbank des Website-Besitzers Anweisungen, die nicht vom Website-Besitzer selbst autorisiert wurden.

Dies führt zu Datenlecks, Entfernung oder Manipulation von gespeicherten Daten. Bei der Code-Injektion hingegen wird Quellcode in die Webanwendung injiziert, während beim Cross-Site-Scripting Code (Javascript) in den Browser injiziert wird.

Diese Injektionsangriffe dienen in erster Linie dazu, Ihrer Webanwendung Anweisungen zu geben, die nicht autorisiert sind.

Um dies zu bekämpfen, sollten Unternehmen Techniken zur Eingabevalidierung und eine robuste Kodierung einsetzen. Außerdem sollten sie die Prinzipien dergeringsten Privilegienanwenden, damit die Benutzerrechte und die Autorisierung von Aktionen auf ein Minimum beschränkt werden.

Phishing-Betrug

Phishing-Betrugsangriffe sind in der Regel involviert und greifen direkt in die E-Mail-Marketingbemühungen ein. Diese Art von Bedrohungen sind so gestaltet, dass sie wie E-Mails aussehen, die von legitimen Quellen stammen, mit dem Ziel, an sensible Informationen wie Anmeldeinformationen, Bankkontonummern, Kreditkartennummern und andere Daten zu gelangen.

Wenn der Betroffene die Unterschiede und Anzeichen dafür, dass die E-Mails verdächtig sind, nicht erkennt, kann dies tödlich sein, da er darauf reagieren könnte. Sie können aber auch dazu benutzt werden, Malware zu verschicken, die nach dem Anklicken Zugriff auf die Daten des Benutzers erlangt.

Phishing-Scam

Um solche Vorfälle zu verhindern, sollten Sie sicherstellen, dass alle Mitarbeiter in der Lage sind, verdächtige E-Mails zu erkennen.

Es sollten auch vorbeugende Maßnahmen ergriffen werden, damit weitere Aktionen durchgeführt werden können.

Zum Beispiel das Scannen von Links und Informationen vor dem Herunterladen sowie die Kontaktaufnahme mit der Person, an die die E-Mail gesendet wurde, um deren Legitimität zu überprüfen.

Brute-Force-Angriff

Dann gibt es noch Brute-Force-Angriffe, bei denen Hacker versuchen, Passwörter zu erraten und sich gewaltsam Zugang zu den Daten des Inhabers der Webanwendung zu verschaffen.

Es gibt keine effektive Möglichkeit, dies zu verhindern. Unternehmen können diese Art von Angriffen jedoch abwehren, indem sie die Anzahl der Anmeldungen begrenzen und eine Technik einsetzen, die als Verschlüsselung bekannt ist.

Indem Sie sich die Zeit nehmen, Daten zu verschlüsseln, stellen Sie sicher, dass es für Hacker schwierig ist, sie für andere Zwecke zu nutzen, es sei denn, sie verfügen über Verschlüsselungsschlüssel.

Dies ist ein wichtiger Schritt für Unternehmen, die sensible Daten speichern müssen, um weitere Probleme zu vermeiden.

Entfernte Code-Ausführung (RCE)

Remote Code Execution(RCE), auch bekannt als Remote Code Evaluation, ist ein Cyberangriff, bei dem Angreifer aus der Ferne bösartigen Code oder Befehle auf einem Zielcomputer oder -netzwerk ausführen, ohne dass sie physischen Zugriff auf das Gerät oder Netzwerk benötigen. Ein RCE-Angriff erfordert keine Autorisierung oder Authentifizierung der potenziellen Opfer und kann unabhängig vom geografischen Standort eines Geräts erfolgen.

Remote-Code-Execution-RCE

Angreifer scannen das Internet in der Regel nach Computern mit Schwachstellen, die eine Remotecode-Ausführung ermöglichen können. Sobald anfällige Geräte identifiziert sind, werden Angriffe gestartet, um Zugang zu den Geräten zu erhalten. Sobald sie Zugang zu einem Gerät erhalten haben, starten sie RCE-Angriffe.

Da ein RCE-Angriff es böswilligen Akteuren ermöglicht, bösartigen Code auf einem Gerät auszuführen, ohne dass eine Autorisierung erforderlich ist, sind die möglichen Aktionen nahezu unbegrenzt.

Angreifer können die Kontrolle über das Gerät übernehmen, Code ausführen, um weitere Malware zu installieren, Cyberspionage auf dem Gerät betreiben, das Gerät nutzen, um Zugang zu weiteren Geräten im Netzwerk zu erhalten, sensible Daten stehlen oder das Gerät sogar in ein Botnet einbinden. Aus diesem Grund ist ein RCE-Angriff in der Regel ein schwerwiegender Angriff, der sofortige Aufmerksamkeit erfordert.

Cross-Site Request Forgery (CSRF)

Cross-Site-Request-Forgery

Wenn Sie sich bei einer Website anmelden, wird in der Regel ein Zugriffstoken generiert, um Ihnen den Zugriff auf die Website zu ermöglichen. Außerdem wird eine Sitzung erstellt, um zu verfolgen, wer sich über Ihren Browser bei der Website angemeldet hat. Auf diese Weise müssen Sie sich nicht jedes Mal neu anmelden, wenn Sie über Ihren Browser eine Anfrage an die Website stellen.

Wenn Sie sich zum Beispiel bei Ihrem PayPal-Konto angemeldet haben, können Sie eine andere Registerkarte öffnen und Ihre Rechnungen einsehen oder sogar Zahlungen vornehmen, ohne sich erneut anmelden zu müssen. Im Wesentlichen stellen Sie Anfragen an Paypal, ohne dass Paypal Sie dazu auffordert, sich erneut anzumelden, da in Ihrem Browser eine aktive authentifizierte Sitzung besteht, die mit Ihrem Konto verknüpft ist.

Ein Cross-Site Request Forgery(CSRF)-Angriff nutzt diese Funktionalität aus. Ein Angreifer nutzt Social Engineering, um Sie dazu zu bringen, sich bei Ihrem Konto anzumelden. Sobald Sie eingeloggt sind, werden Sie aufgefordert, auf einen Link zu klicken, um eine Webseite zu besuchen.

Wenn Sie auf den Hyperlink klicken, wird auch eine versteckte gefälschte Anfrage an die Website, bei der Sie sich angemeldet haben, ausgeführt. Da Sie bereits angemeldet sind, kann die Website nicht erkennen, dass die Anfrage gefälscht ist und führt die Anfrage des Angreifers aus. Auf diese Weise können Angreifer Aktionen wie das Abheben von Geldbeträgen von Ihren eingeloggten Konten durchführen.

CSRF-Angriffe werden in der Regel über soziale Medien oder bösartige E-Mails verbreitet, um das Vertrauen von Webanwendungen auszunutzen, bei denen die Benutzer bereits angemeldet sind und aktive, authentifizierte Sitzungen haben.

Defekte Authentifizierung und Sitzung

Um vor Angriffen sicher zu sein, implementieren Anwendungen in der Regel Authentifizierung und Sitzungen, um die Identität der Benutzer zu überprüfen. Manchmal werden Authentifizierung und Sitzungen jedoch falsch implementiert oder haben schwache Passwortrichtlinien. Dies führt zu Schwachstellen, die von Angreifern ausgenutzt werden können, um unbefugten Zugriff auf Benutzerkonten zu erhalten und die Identität legitimer Benutzer anzunehmen.

Broken-Authentication-and-Session

Angriffe auf fehlerhafte Authentifizierung und Sitzungen nutzen hauptsächlich die Schwachstellen aus, die sich aus einer unsachgemäßen Authentifizierung und Sitzungsverwaltung ergeben. Beispiele für diese Schwachstellen sind Sitzungen, die nicht ablaufen, wenn sich ein Benutzer abmeldet, so dass Angreifer die Sitzungen erneut verwenden können, um auf Benutzerkonten zuzugreifen. Angreifer können auch Sitzungs-IDS abfangen und stehlen, während sie vom Server an den Benutzer übertragen werden.

Systeme, die schwache oder leicht zu erratende Passwörter zulassen, werden ebenfalls häufig Opfer solcher Angriffe. Angreifer können diese Systeme mit Brute-Force-Methoden erzwingen oder Credential Stuffing auf den Systemen durchführen, um Zugang zu den Benutzerkonten zu erhalten und sich als Benutzer auszugeben.

Unsichere direkte Objektreferenzen

Bei unsicheren direkten Objektreferenzen (IDOR) handelt es sich um einen Angriff, bei dem eine Anwendung auf der Grundlage von Benutzereingaben direkten Zugriff auf interne Dateien oder Objekte gewährt, ohne dass eine ordnungsgemäße Autorisierung erforderlich ist. IDOR-Angriffe werden durch die Manipulation von Eingabedaten ausgeführt, die über URLs, Formulare oder andere Benutzereingaben in einer Webanwendung bereitgestellt werden

Betrachten Sie zum Beispiel die folgende URL, die zu einem fiktiven Krankenhaus gehört:

https://statehospital.org/getPatientRecord?ID=234195

Die URL soll Patientendaten abrufen. In diesem Fall ruft sie die Datensätze des Patienten mit der ID 234195 ab. Was passiert jedoch, wenn Sie den ID-Teil der URL in ID=1356 ändern und die Anfrage wie unten gezeigt ausführen?

https://statehospital.org/getPatientRecord?ID=1356 

In einer Anwendung mit einer unsicheren Schwachstelle für direkte Objektreferenzen werden Sie die Datensätze des Patienten mit der ID 1356 abrufen, ohne dass Sie irgendeine Form der Authentifizierung vornehmen müssen.

Da der ID-Teil der URL verwendet wird, um direkt auf die in der Datenbank gespeicherten Datensätze zuzugreifen, kann ein Angreifer die URL ändern, um auf die Datensätze anderer Patienten zuzugreifen, die mit anderen IDs verknüpft sind, ohne irgendeine Form der Authentifizierung oder Autorisierung vornehmen zu müssen. IDOR-Angriffe führen oft zum Verlust von sensiblen Daten.

Wie geht man mit Bedrohungen um?

How-to-Deal-With-Threats

Die Beseitigung von Sicherheitsbedrohungen ist die wichtigste Aufgabe für jedes Unternehmen, das Web- und native Anwendungen entwickelt. Außerdem sollte dies nicht als nachträglicher Gedanke eingebaut werden.

Die Anwendungssicherheit wird am besten vom ersten Tag der Entwicklung an berücksichtigt. Um diese Entwicklung auf ein Minimum zu beschränken, sollten wir uns einige Strategien ansehen, die Ihnen helfen, robuste Sicherheitsprotokolle zu erstellen.

Diese Liste von Maßnahmen zur Sicherheit von Webanwendungen ist nicht erschöpfend und kann auch kombiniert angewendet werden, um ein gesundes Ergebnis zu erzielen.

#1. SAST

Static Application Security Testing (SAST) wird eingesetzt, um Sicherheitsschwachstellen während des Softwareentwicklungszyklus (SDLC) zu identifizieren.

Es arbeitet hauptsächlich mit dem Quellcode und den Binärdateien. SAST-Tools arbeiten Hand in Hand mit der Anwendungsentwicklung und warnen vor Problemen, sobald sie entdeckt werden.

Die Idee hinter der SAST-Analyse ist es, eine “Inside-Out”-Evaluierung durchzuführen und die Anwendung vor der öffentlichen Freigabe zu sichern.

Es gibt viele SAST-Tools, die Sie hier bei OWASP ausprobieren können.

#2. DAST

Während SAST-Tools während des Entwicklungszyklus eingesetzt werden, wird Dynamic Application Security Testing (DAST) am Ende des Zyklus verwendet.

Lesen Sie auch: SAST vs. DAST

Dabei wird ein “Outside-in”-Ansatz verfolgt, ähnlich wie bei einem Hacker, und man benötigt keinen Quellcode oder Binärdateien, um eine DAST-Analyse durchzuführen. Sie wird an einer laufenden Anwendung durchgeführt, im Gegensatz zu SAST, das an statischem Code durchgeführt wird.

Folglich sind die Abhilfemaßnahmen teuer und langwierig in der Anwendung und werden oft in den nächsten Entwicklungszyklus integriert, wenn sie nicht entscheidend sind.

Abschließend finden Sie hier eine Liste von DAST-Tools, mit denen Sie beginnen können.

#3. SCA

Bei der Software Composition Analysis (SCA) geht es um die Absicherung von Open-Source-Fronten Ihrer Anwendung, sofern diese vorhanden sind.

Während SAST dies bis zu einem gewissen Grad abdecken kann, eignet sich ein eigenständiges SCA-Tool am besten für die gründliche Analyse aller Open-Source-Komponenten auf Konformität, Schwachstellen usw.

Dieser Prozess wird während des SDLC zusammen mit SAST eingesetzt, um die Sicherheit besser abzudecken.

#4. Penetrationstest

Auf einer hohen Ebene funktioniert Penetration Testing ähnlich wie DAST, indem eine Anwendung von außen angegriffen wird, um Sicherheitslücken zu finden.

Doch während DAST meist automatisiert und kostengünstig ist, werden Penetrationstests manuell von Experten (ethischen Hackern) durchgeführt und sind eine kostspielige Angelegenheit. Es gibt zwar auch Pentest-Tools, die eine automatische Prüfung durchführen, aber die Ergebnisse können im Vergleich zu manuellen Tests nicht sehr tiefgründig sein.

#5. RASP

Runtime Application Self-Protection (RASP) trägt, wie der Name schon sagt, dazu bei, Sicherheitsprobleme in Echtzeit zu verhindern. RASP-Protokolle sind in die Anwendung eingebettet, um Schwachstellen zu vermeiden, die andere Sicherheitsmaßnahmen aushebeln können.

RASP-Tools überprüfen alle Eingabe- und Ausgabedaten auf eine mögliche Ausnutzung und helfen, die Integrität des Codes zu wahren.

Letzte Worte

Die Sicherheitsbedrohungen entwickeln sich mit jeder Minute weiter. Und es gibt keine einzelne Strategie oder ein Tool, das das für Sie beheben kann. Die Bedrohung ist vielschichtig und sollte dementsprechend behandelt werden.

Bleiben Sie außerdem auf dem Laufenden, lesen Sie Artikel wie diesen und haben Sie einen engagierten Sicherheitsexperten an Bord, der seinesgleichen sucht.

PS: Wenn Sie mit WordPress arbeiten, sollten Sie sich einige Web Application Firewalls ansehen.