Die Sicherheit von Webanwendungen weckt Aufregung und Interesse.
Das gilt nicht nur für Unternehmen, sondern auch für Anwendungsnutzer, die sich zunehmend für Sicherheit interessieren, weil sie sich der Gefahren von Cyberangriffen bewusst sind.
Sicherheitsfragen gehören neben Skalierbarkeit, Leistung und Benutzererfahrung vielleicht zu den wichtigsten Themen, die bei der Konzeption und Entwicklung von Webanwendungen besondere Aufmerksamkeit erfordern.
Der Grund dafür liegt auf der Hand und ist verständlich. Eine Anwendung, die nicht ausreichend gesichert ist und daher ein Risiko für ihre Besitzer und Benutzer darstellt, ist eine Anwendung, deren Fiasko auf dem Markt nur eine Frage von Monaten ist.
Fehlerhafte, unterentwickelte und dilettantische Sicherheitsmaßnahmen werden eher früher als später zu Problemen führen.
Wir sollten bedenken, dass die Tätigkeit eines Unternehmens zwar lokal sein kann, seine Online-Präsenz aber immer global ist.
Die Gefahr von Anschlägen besteht immer, sie hat keine spezifische Quelle, und es ist unmöglich, das Gebiet zu bestimmen, aus dem sie stammen könnte. Deshalb ist es für jede Unternehmensgröße sinnvoll, über die Sicherheit von Webanwendungen nachzudenken.
Es ist auch schwierig, potenzielle Angreifer zu identifizieren. Dabei kann es sich um Einzelpersonen (Hacker), Organisationen (z. B. organisierte kriminelle Gruppen) oder auch um andere Nationen handeln, die ihre Einrichtungen für einen Angriff nutzen.
Auch Software verschiedener Art kann ein Angreifer sein, was keine vorsätzliche Handlung einer bestimmten Person erfordert. Sie verbreitet sich wahllos wie ein Virus.
Mit anderen Worten: Wir müssen immer darauf vorbereitet sein, einen Angriff abzuwehren, der von verschiedenen Orten ausgehen kann, auf verschiedenen Ebenen stattfindet und unterschiedlich komplex und schädlich ist.
Die Entwicklung der Technologie bedeutet die Entwicklung von Bedrohungen sowie von Methoden, Techniken und Werkzeugen, um diese zu minimieren, zu erkennen und zu beseitigen.
Heutzutage bedeutet Schutz nicht nur, dass man bereit ist, einen Angriff wirksam abzuwehren, sondern auch, dass eine solide Prävention erforderlich ist.
Dies führt uns zu einigen wichtigen Fragen, auf die wir im folgenden Artikel Antworten suchen werden. Was ist die Sicherheit von Webanwendungen? Was sind die häufigsten Bedrohungen und Sicherheitsschwachstellen?
Welche Methoden werden zur Abwehr von Bedrohungen empfohlen? Was sind die bewährten Verfahren zur Sicherung von Webanwendungen?
Das sind genau die Themen, mit denen wir uns heute befassen werden.
Wie immer wünschen wir Ihnen eine angenehme Lektüre!
Das wachsende Problem der Sicherheit von Webanwendungen
Bevor wir das Konzept der Sicherheit von Webanwendungen definieren, sollten wir uns über die Art und das Ausmaß des Problems im Klaren sein.
Ein guter Ansporn dafür ist der Accenture-Bericht "The state of cybersecurity resilience 2021", aus dem klar hervorgeht, dass das Problem der Gewährleistung der Sicherheit von Anwendungen und ihren Benutzern zu einem dringenden Problem wird.
Laut dem Bericht von Accenture:
- Die Zahl der Cyberangriffe auf Unternehmen steigt von Jahr zu Jahr.
- Auch der Umfang der Budgets und der Investitionen in die Sicherheit nimmt rapide zu.
Ebenso interessante, anschauliche und beeindruckende Daten liefert ein anderer Accenture-Bericht, "Cyber Threat Intelligence Report", der wiederum zeigt, dass im Jahr 2020:
- Bei mehr als 60 % der Cyberangriffe wurden Daten erpresst.
- Ransomware-Eindringlinge verursachten durchschnittlich zwölf Tage Ausfallzeit für Anwendungen.
Wenn wir uns einen weiteren Accenture-Bericht ansehen, die "Eighth Annual Cost of Cybercrime Study", die sich mit der Kostenfrage befasst, werden wir feststellen, dass das Ausmaß des Problems gravierend ist.
Die durchschnittlichen Reparaturkosten nach einem Malware-Angriff beliefen sich auf 2,4 Millionen Dollar, und die durchschnittliche Reparaturdauer betrug 50 Tage.
Die derzeitigen Trends werden sich in Zukunft noch verstärken, und alles deutet darauf hin, dass die Kosten der Internetkriminalität jährlich um etwa 15 % steigen werden. Zumindest besagen die verschiedenen Schätzungen, die in dem Artikel "Cybercrime To Cost The World $10.5 Trillion Annually By 2025" diskutiert werden.
Das Gesamtbild, das sich aus den oben genannten Berichten und vielen anderen Quellen ergibt, ist ziemlich klar.
Die Sicherheit von Webanwendungen ist ein Thema, das schon jetzt den Markt bestimmt, und sie wird noch wichtiger werden.
Gleichzeitig stellt sich das Problem, die für die Sicherheit aufgewendeten Mittel angemessen zu verteilen.
Außerdem stellt sich das Problem, effiziente, wirksame und kosteneffiziente Lösungen zu finden.
Böswillige Angriffe auf Webanwendungen sind die Quelle der folgenden Probleme:
- Sachschäden (z. B. ein beschädigter Server)
- Schädigung der Markenidentität
- Finanzieller Schaden
- Schädigung der Wirtschaft
- Schäden für Gesellschaft und Markt (z. B. Untergrabung des öffentlichen Vertrauens in digitale Produkte)
- Psychologische Schäden (Traumata im Zusammenhang mit den durch die angegriffenen Anwendungen verursachten Schäden)
Was ist die Sicherheit von Webanwendungen?
Unter der Sicherheit von Webanwendungen (Web AppSec) versteht man die Implementierung geeigneter Mechanismen, Standards, Sicherheitsvorkehrungen, Protokolle und Werkzeuge, die in ihrem Zusammenspiel einen zuverlässigen Betrieb der Anwendung auch während eines Cyberangriffs ermöglichen.
Wenn wir den Begriff Webanwendungssicherheit sehen, sollten wir an Prozesse, Technologien und Methoden zum Schutz von Servern, der Infrastruktur von Webanwendungen und Webdiensten vor Angriffen denken.
Die Sicherheit von Webanwendungen ist vor allem wichtig für:
- Schutz von Benutzern und Unternehmen vor Datendiebstahl
- Sicherstellung der Kontinuität des Anwendungsbetriebs
Wenn wir über die Sicherheit von Webanwendungen schreiben, haben wir auch vorbeugende Maßnahmen im Sinn, wie das Auffinden, Beheben und Beseitigen von Sicherheitslücken.
In erster Linie beziehen wir uns auf den Schutz von Webanwendungen mit den folgenden Lösungen:
- Web Application Firewalls – WAF
- Multi-Factor Authentication – MFA
- Cookies Validierung
- Validierung von Benutzereingaben
Zum Thema Sicherheit ist anzumerken, dass es praktisch unmöglich ist, eine Webanwendung, einen Webdienst oder eine mobile Anwendung ohne Schwachstellen zu erstellen.
Eine makellose Anwendung ohne Mängel, Unvollkommenheiten oder Fehler ist eher ein Konzept, ein Ideal, das man anstrebt, als eine realistische Möglichkeit.
Jede Software hat Schwachstellen, die mehr oder weniger gefährliche Bedrohungen hervorrufen. Die Sicherheit von Webanwendungen ist ein Prozess, bei dem die ständige Kontrolle des Anwendungsbetriebs, die Beseitigung von Fehlern und die Beseitigung potenzieller Ursachen von Bedrohungen eine wichtige Rolle spielen.
Um eine Webanwendung zu sichern, ist es daher nicht nur notwendig, sie regelmäßig auf Sicherheitslücken zu überwachen und diese zu schließen, sondern auch die internen Verfahren und eine Sammlung bewährter Praktiken kontinuierlich zu verbessern, um das Sicherheitsniveau der Anwendung zu erhöhen.
Welches sind die gängigsten Formen von Angriffen auf eine Webanwendung?
Wir sprechen von Sicherheitslücken, wenn eine Funktion einer Anwendung oder des Ökosystems, in dem sie betrieben wird, es jemandem ermöglicht, ohne die Erlaubnis des Eigentümers auf eine Ressource/Daten zuzugreifen oder sie zu bearbeiten.
Eine Sicherheitslücke ist ein unbeabsichtigter oder absichtlicher Fehler in einer Software, durch den Unbefugte, ob absichtlich oder unabsichtlich, eine Operation in einer Anwendung durchführen können, die den Benutzer einem Daten- oder Identitätsverlust aussetzen oder die weitere Nutzung der Anwendung verhindern kann.
Die häufigsten Ursachen für Sicherheitslücken in Webanwendungen sind:
- Komplexität (eines Systems), die die Fehlerwahrscheinlichkeit erhöht
- Vertrautheit — Ausnutzung von offenem Code, Hardware, deren Schwachstellen gut bekannt sind
- Fehler des Betriebssystems
- Fehler im Quellcode
- Falsch konfigurierte Systemkomponenten
- Schlechte Authentifizierungspraktiken
- Fehlen einer starken Verschlüsselung
Ein Angriff auf eine Webanwendung wird häufig als Versuch definiert, ihre Sicherheit zu verletzen, um Zugang zu vertraulichen Daten zu erhalten oder die Anwendung als Werkzeug für Angriffe auf Anwendungsbenutzer oder andere IT-Systeme zu nutzen.
Zu den beliebten Methoden, mit denen Hacker die Sicherheit brechen und Schwachstellen ausnutzen, gehören:
- SQL Injections — beinhaltet die Verwendung von bösartigem SQL-Code, um unbefugten administrativen Zugriff zu erhalten.
- Cross-Site Scripting (XSS) — beruht ebenfalls auf der Einspeisung von bösartigem Code direkt in die Anwendung, um letztlich den Browser des Benutzers anzugreifen und Zugriff auf mehrere Funktionen zu erhalten (z. B. Kamera, Geolokalisierung).
- Cross-Site Request Forgery (CSRF) — beinhaltet die Verwendung einer bösartigen Webanwendung, die einen unerwünschten Vorgang auf einer Website durchführt, auf der der Benutzer angemeldet ist.
- Denial of Service DoS und Distributed Denial of Service DDoS — basieren auf der Überlastung der Anwendungsinfrastruktur durch die Generierung großer Datenmengen und Abfragen.
Nach einer anderen Klassifizierung, bei der das Hauptunterscheidungskriterium das Ziel des Angriffs ist, können wir zwischen Bedrohungen unterscheiden, die auf das Ziel ausgerichtet sind:
- Kunden und Benutzer einer App
- Anwendungsdienste
- Zugangsebene
Die Kunden sind Bedrohungen in Form von:
- Cross-Site Request Forgery
- Cross-Site Scripting
- Session Hijacking
- Malware
- Malicious Scripts
- Certificate Forging
Zu den Angriffszielen gehören sehr oft auch Komponenten, Geräte und Tools, ohne die eine Webanwendung nicht funktionieren kann.
Anfällig für Angriffe sind vor allem folgende Personen:
- Elemente der Infrastruktur
- Frameworks
- Bibliotheken
- Plug-in
- Interner Kode
Anwendungsdienste werden am häufigsten angegriffen durch:
- SQL Injection oder XSS
- Malware
- DoS und DDoS
- Cross-Site Request Forgery
Die Zugriffsschicht, die es den Benutzern ermöglicht, sich zu authentifizieren und die Berechtigung zum Zugriff auf eine Anwendung zu erhalten, ist ein sehr häufiges Ziel von Angriffen.
Es wird geschätzt, dass über 30 % aller bösartigen Angriffe auf Webanwendungen über diese Schicht erfolgen.
Die Zugangsebene wird am häufigsten angegriffen durch:
- Credential Theft
- Credential Stuffing
- Session Hijacking
- Phishing
Testen der Sicherheit von Webanwendungen
Die Durchführung regelmäßiger, geplanter und verschiedener Tests von Webanwendungen ist heute ebenso selbstverständlich wie notwendig.
Der Begriff der Sicherheit von Webanwendungen ist ein Konzept, das in erster Linie auf den prozessualen Charakter solcher Aktivitäten hinweist.
Das Testen der Sicherheit von Webanwendungen wird häufig als ein Prozess definiert, bei dem eine Anwendung in Bezug auf Sicherheit, implementierte Schutzmaßnahmen und auftretende Schwachstellen getestet und analysiert wird.
Das Ergebnis dieser Aktivitäten ist ein Bericht, der die Sicherheitsstufe und den Status der Webanwendung bestimmt.
Sicherheitstests messen das Sicherheitsniveau von Webanwendungen mithilfe manueller und/oder automatisierter Sicherheitstesttechniken, -methoden und -werkzeuge.
Es ist erwähnenswert, dass die Sicherheit von Webanwendungen kein Dauerzustand ist, sondern als Prozess zu betrachten ist.
Die Sicherheit muss kontinuierlich verbessert, erweitert, sichergestellt und durch verschiedene Tests überprüft werden, mit denen Schwachstellen aufgespürt und behoben werden können.
Die häufigsten Arten von Sicherheitstests sind:
- Dynamic Application Security Testing (DAST) — dies sind automatisierte Tests, die für die Sicherheitsprüfung von internen Anwendungen mit geringem Risiko empfohlen werden.
- Static Application Security Testing (SAST) — wird empfohlen, um Fehler zu erkennen, ohne eine Anwendung in einer Produktionsumgebung zu starten.
- Penetrationstests — werden für das Testen von Anwendungen mit kritischer Bedeutung empfohlen; ihr Hauptziel ist es, fortgeschrittene Angriffsszenarien zu erkennen.
Weitere Möglichkeiten zur Verbesserung der Sicherheit von Webanwendungen
Bei der Verbesserung der Sicherheit von Webanwendungen geht es nicht nur um das Testen, sondern auch um vorbeugende Maßnahmen, die das Risiko eines Angriffs verringern sollen.
Die Mindestzugangsregelung und die Regel des begrenzten Vertrauens tragen zur Risikominderung bei, indem der Zugang für verschiedene Benutzergruppen unterschiedlich geregelt wird. Nicht jeder Benutzer benötigt die gleichen Berechtigungen.
Die Berechtigungen der obersten Ebene sollten in der Regel nur einer kleinen Gruppe von Benutzern angeboten werden.
Eine weitere Möglichkeit, einen Angriff abzuwehren, ist die Validierung von Benutzereingaben. Die Texteinträge und Anhänge in verschiedenen Formaten sind häufig Ziel von Angriffen und sollten validiert werden.
Die Validierung erfolgt häufig an:
- Datentyp (z. B. numerische Daten)
- Datenformat (z. B. gemäß XML-Schemata)
- Datenwert (z. B. Länge)
Die Eingabedaten werden auch im Hinblick auf ihre Syntax, Korrektheit und Kompatibilität mit der in der Anwendung implementierten Geschäftslogik validiert.
Auch bei der Validierung von Eingabedaten lohnt es sich, bis zum Beweis des Gegenteils die Vermutung der Feindseligkeit von Eingabedaten anzuwenden.
Um die Verarbeitung falscher und fragwürdiger Daten zu verhindern, müssen wir nur korrekt eingegebene Daten verarbeiten.
Bewährte Verfahren und allgemein anerkannte Tools verbessern das Sicherheitsniveau unserer Anwendung erheblich. Die Implementierung von Zwei-Faktor-Authentifizierungsmechanismen, die Fehlerüberwachung, die sanfte Löschung von Daten, die Einhaltung der DSGVO und die Implementierung von Werkzeugen, die zusätzliche Sicherheitsmechanismen wie AWS WAF oder Shield bieten, verbessern die Sicherheit unserer Anwendung erheblich.
Darüber hinaus sorgen regelmäßige Backups, Verschlüsselung und gute Krisenmanagementverfahren für eine kontinuierliche und stabile Anwendungsentwicklung.
Sicherheit von Webanwendungen. Zusammenfassung
- Die Sicherheit von Webanwendungen ist ein Thema, das das Interesse vieler Gruppen auf sich zieht — nicht nur von Geschäftsinhabern, sondern auch von Benutzern von Web- und mobilen Anwendungen.
- Sicherheit und Schutz von Web- und Mobilanwendungen gehören (neben Skalierbarkeit, Leistung und Benutzererfahrung) zu den wichtigsten Themen.
- Eine Web- oder Mobilanwendung, die nicht angemessen abgesichert ist, hat keine Zukunft auf dem Markt.
- Die Benutzer von Anwendungen achten zunehmend auf das in den Anwendungen implementierte Sicherheitsniveau.
- Bei der Gewährleistung der Sicherheit von Web- und mobilen Anwendungen spielt der Tätigkeitsbereich des Unternehmens keine Rolle.
- Im Internet präsent zu sein, eine Website (www), ein Web oder eine mobile Anwendung zu haben, bedeutet global zu sein. Das bedeutet, dass das Risiko von Angriffen immer vorhanden ist und keine bestimmte Quelle hat.
- Die Sicherheit von Web- oder mobilen Anwendungen ist unabhängig von der Größe eines Unternehmens ratsam.
- Jede Organisation sollte auf mögliche Angriffe vorbereitet sein, die von verschiedenen Orten ausgehen, auf verschiedenen Ebenen stattfinden und unterschiedliche Komplexitäts- und Schadensgrade haben können.
- Laut zahlreicher zyklischer Berichte nimmt die Zahl der Cyberangriffe auf Unternehmen jedes Jahr zu. Die Zahl der Angriffe führt zu einem Anstieg der Budgets und Investitionen in die Sicherheit.
- Verschiedenen Schätzungen zufolge werden die Kosten der Internetkriminalität jährlich steigen.
- Unter der Sicherheit von Webanwendungen (Web AppSec) versteht man die Implementierung geeigneter Mechanismen, Standards, Sicherheitsvorkehrungen, Protokolle und Werkzeuge, die in ihrem Zusammenspiel einen zuverlässigen Betrieb der Anwendung auch während eines Cyberangriffs ermöglichen.
- Die Sicherheit von Webanwendungen umfasst Prozesse, Technologien und Methoden zum Schutz von Servern, der Infrastruktur von Webanwendungen und Webdiensten vor Angriffen.
- Die Sicherheit von Webanwendungen umfasst auch vorbeugende Maßnahmen wie das Auffinden, Beheben und Beseitigen von Sicherheitslücken.
- Die Sicherheit von Webanwendungen ist ein Prozess, bei dem die ständige Kontrolle des Anwendungsbetriebs, die Beseitigung von Fehlern und die Beseitigung potenzieller Ursachen von Bedrohungen eine wichtige Rolle spielen.
- Wir sprechen von Sicherheitslücken, wenn eine Funktion einer solchen Anwendung oder des Ökosystems, in dem sie betrieben wird, es jemandem ermöglicht, ohne die Erlaubnis des Eigentümers auf eine Ressource/Daten zuzugreifen oder sie zu bearbeiten.
- Ein Angriff auf eine Webanwendung wird häufig als Versuch definiert, ihre Sicherheit zu verletzen, um Zugang zu vertraulichen Daten zu erhalten oder die Anwendung als Werkzeug für Angriffe auf Anwendungsbenutzer oder andere IT-Systeme zu nutzen.
- Bösartige Aktivitäten zielen in der Regel auf Anwendungsbenutzer, Anwendungsdienste und Zugriffsebenen ab.
- Zu den Angriffszielen gehören sehr oft auch Komponenten, Geräte und Tools, ohne die eine Webanwendung nicht funktionieren kann.
- Das Testen der Sicherheit von Webanwendungen wird häufig als ein Prozess definiert, bei dem eine Anwendung in Bezug auf Sicherheit, implementierte Schutzmaßnahmen und auftretende Schwachstellen getestet und analysiert wird.
- Die Sicherheit muss kontinuierlich verbessert, erweitert, sichergestellt und durch verschiedene Tests überprüft werden, mit denen Schwachstellen aufgespürt und behoben werden können.
- Die Verbesserung von Webanwendungen umfasst auch vorbeugende Maßnahmen, die das Risiko eines Angriffs verringern sollen.
- Die Mindestzugangsregelung und die Regel des begrenzten Vertrauens tragen zur Risikominderung bei, indem der Zugang für verschiedene Benutzergruppen unterschiedlich geregelt wird.
- Es wird empfohlen, bei der Validierung die Annahme der Unzulässigkeit der Eingabedaten zu berücksichtigen.
- Bewährte Verfahren und allgemein anerkannte Tools verbessern das Sicherheitsniveau unserer Anwendung erheblich.