LYNET Blog

Mehr Sicherheit für Ihre Web-Apps

14.09.2020 Dr. Henning Hach

In Zeiten offener APIs und modularer Verteilung webbasierter Systeme bieten sich unzählige Einfallstore für Eindringlinge mit bösen Absichten. Einige der Schwachstellen sind umfassend bekannt, aber in der Realität finden sich erschreckend viele Sicherheitslücken.

Dementsprechend liegen Cyberattacken im Trend und mit ihnen auch die erfolgreiche Kompromittierung von online zugänglichen Systemen. Auch wenn sich Schäden mit entsprechenden Cyberpolicen versichern lassen, so setzen diese in der Regel eine fachgerechte Implementierung sowie einen sicheren Betrieb voraus. Das bedeutet, dass der Absicherung von Web-Anwendungen besonderen Aufmerksamkeit zuteilwerden sollte. Nur so kann vermieden werden, dass wichtige Daten wie Konto-Zugänge, Sozialversicherungsnummern oder Kundenlisten in falsche Hände geraten und auf dem digitalen Schwarzmarkt gehandelt werden. Die Folge von derartigen Katastrophen sind fast immer Image-Einbußen, erhebliche Umsatzverluste und nicht selten sogar Schadensersatzansprüche.

Mehr Sicherheit für Ihre Web-Apps

Absicherung hilft weiter

Wer seine Applikationen bestmöglich absichern möchte, sollte zunächst einen Blick auf die unter Cyberkriminellen zurzeit besonders beliebten Angriffstechniken werfen. Das sind insbesondere die klassische SQL Injection, der Buffer Overflow, also ein provozierter Fehler im Speichermanagement sowie besonders heimtückisch das Cross Site Scripting (XSS). Letzteres gewinnt mit der wachsenden Anzahl von dynamischen Webanwendungen auf der Basis von JavaScript kontinuierlich an Bedeutung. Gelingt es, ein in JavaScript programmiertes Schadprogramm in das Skript eines Web-Servers einzuschleusen, der seine Webseiten dynamisch aufbaut, so wird dies mit den Rechten des Nutzers ausgeführt und kann dessen IT-System damit infiltrieren. Wer also in einem Online-Shop oder einem Self-Service System angemeldet ist, dessen Browser führt dann ungewollt und häufig unbemerkt schädlichen Programmcode aus.

Hacker haben deutlich aufgerüstet

Vorbei sind die Zeiten, in denen Hacker zufällig oder mit mühseliger Handarbeit mögliche Lücken abprüfen, um dann Zugänge zu bekommen. Stattdessen werden zunächst Software-Robots durchs Netz geschickt, die sehr schnell und automatisiert zehntausende Websites auf Schwachstellen überprüfen. Gibt es ein Sicherheitsleck, wie zum Beispiel ein unsicheres Password, einen unzureichend abgesicherten Port oder ein fehlerhaft programmiertes Web-Formular, dann wird es auch gefunden. Dabei ist für den Angriff keinesfalls mehr besondere Kreativität erforderlich, es können vielfältigste Toolkits frei im Internet heruntergeladen werden oder zumindest via Darknet käuflich erworben werden. Das Bild vom technisch genialen Hacker entspricht also leider auch nicht mehr der Realität, allzu häufig sind es vergleichsweise untechnische Kriminelle.

Das Erwachen kommt meist später

In der Regel wird das Unternehmen nicht viel von der Sicherheitslücke bemerken. Der Schadcode wird ins System eingeschleust und als Basis für weitere Aktionen genutzt. Dementsprechend wissen viele Opfer also nicht, dass eine Zeitbombe im eigenen IT-System schlummert, die quasi per Knopfdruck gezündet werden kann. Und das ist dann meist der Fall, wenn es am attraktivsten ist, also beispielsweise beim Online-Shop in der Hauptverkaufssaison vor Weihnachten. Um das zu verhindern, ist es unverzichtbar, ein fortlaufendes Sicherheitskonzept umzusetzen. Nummer eins der Einfallstore ist es, das unverzügliche Einspielen von Patches bei auftretenden Sicherheitslücken zu unterlassen. Laut Analyse des amerikanischen Security-Dienstleisters White Hat Security vergehen zwischen dem Erkennen und Beheben von Schwachstellen im Durchschnitt 380 Tage. In dieser Zeit klafft also für das jeweilige Unternehmen die bekannte Sicherheitslücke.

Mehr Sicherheit für Ihre Web-Apps

Open Source erfordert mehr Aufmerksamkeit

Auch wenn aufgrund der Kontrolle durch viele Entwickler der Community bei Open-Source vielleicht sogar weniger Sicherheitslücken als bei Eigenentwicklungen vorhanden sind, sind die Quelltexte auch Hackern frei zugänglich. Und nicht jeder gibt die gefundenen Lücken der Community preis – ein Teil nutzt sie, um damit Geld zu verdienen. So gelten Web-Shops, Redaktionssysteme und andere weit verbreitete Systeme als besonders gefährdet. Auch die neuerdings zunehmend genutzten Container-Technologien führen erfordern in der Praxis aufgrund der höheren Abstraktion eine gesteigerte Aufmerksamkeit. Einfach installieren und betreiben ist da also wirklich keine Option, man sollte schon wissen, was man da tut und vor allem nur wirklich einwandfreie Images verwenden.

Nur ein Bündel von Maßnahmen verspricht Erfolg

Wer seine IT-System gegen Angriffe von außen härten möchte, kommt nicht umhin, ein konzertiertes Bündel von Maßnahmen zusammenzustellen. Das beginnt mit der korrekten Konfiguration der Software, wie beispielsweise Content-Management-Systemen, regelmäßig wechselnden starken Passwörtern, betrifft aber auch den Einsatz zusätzlicher Elemente wie Web-Application Firewalls, Intrusion Detection Systemen und der Segmentierung der internen Netzwerke. Wichtig ist, dass alle Elemente organisatorisch aufeinander abgestimmt sind und auch auf die durchgängige Sicherstellung jeder einzelnen Maßnahme geachtet wird.

Grundregeln für die Sicherheit von Web-Applikationen

Einige zusammenfassende Grundregeln erleichtern die Umsetzung eines dauerhaft guten Sicherheitsniveaus. Zunächst ist es wichtig, bereits bei der Realisierung auf ein sicheres Design zu achten. Nur eine sichere Architektur kann später auch sicher sein! Auch sollte im Falle von Eigenentwicklungen insbesondere im „agilen Zeitalter“ regelmäßig auf Sicherheit getestet werden. Zudem sind integrierte Tools stets unter Berücksichtung dieser Anforderung auszuwählen.

Es macht durchaus Sinn, Applikationen nach der Implementierung auf Schwachstellen hin zu untersuchen. Mit erweiterten Scans und Penetrationstests lassen sich die Vorgehensweisen von Angreifern simulieren und auf Basis der Ergebnisse Korrekturen sowie Härtungen vornehmen.

Im Idealfall werden Produktivsysteme in ein eigenes und besonders abgesichertes Netzwerksegment verlagert. Zusätzliche Absicherung können dedizierte oder auf Softwarebasis zusätzlich installierte Application-Firewalls bieten. Diese haben vor allem den Vorteil, dass besondere Aktivitäten früher auffallen.

Es versteht sich von selbst, dass Mechanismen, die seitens der Applikation vorgesehen sind, auch genutzt werden sollten. Dazu zählt beispielsweise die granulierte Vergabe von Benutzerrechten, denn weniger ist in diesem Fall meistens mehr. Wenn jeder Nutzer mit Administrationsrechten versehen ist, gibt es unzählige Rechner, die als Sprungbrett für die Übernahme des Systems ausgenutzt werden können. Auch Kennwörter sollten lang genug und möglichst kompliziert sein, also keinesfalls einem Wörterbuch entstammen.

Schnelligkeit ist Trumpf

Regel Nummer Eins: ein zeitnahes Patch-Management. Also im Idealfall unmittelbar nach Auftreten einer Sicherheitslücke. Denn sobald wirklich jeder weiß, dass ein System angreifbar ist, starten zigtausende Rechner im Netz automatisierte Scans. Häufig lässt sich diese Anforderung nur mit externer Unterstützung erfüllen. Klar, wer für die Sicherheit von fünfzig Word-Press-Systemen oder zig Online-Shops verantwortlich ist, hat es leichter, schnell zu reagieren.

Unser Application Security Team betreut diverse Unternehmen rund um diese Aufgaben. Gerne unterstützen wir auch Sie!