Inhaltsverzeichnis
So prüfen KMUs Websites auf Sicherheitslücken
Kleine und mittlere Unternehmen stehen oft hilflos vor der Aufgabe, die Sicherheit ihrer Web-Anwendungen zu gewährleisten. Dabei gibt es viele Möglichkeiten, Webauftritte vor Angreifern zu schützen – auch für KMUs mit kleinem Etat. Dieser Artikel stellt die wichtigsten Optionen vor, Websites auf Sicherheitslücken zu testen und sie vor Hackerangriffen abzuschotten.
Sicherheitslücken in Web-Anwendungen können jedem Unternehmen teuer zu stehen kommen. Bei einem erfolgreichen Angriff werden oftmals Daten von Kunden und Partnern sowie andere sensible Informationen abgegriffen, verändert, gelöscht, verschlüsselt - oder auf inkriminierten Internetseiten veröffentlicht. Immer wieder nutzen Kriminelle die gestohlenen Daten für weitere Hackerangriffe und andere Straftaten.
Im schlimmsten Fall erhalten Angreifer vollen Zugriff auf die Website und das gesamte IT-Netz wird mit Schadprogrammen infiziert. Die befallenen Rechner können dann unbemerkt zum Versenden von Spam- und Phishing-Mails oder für Wirtschaftsspionage missbraucht werden. Der Imageverlust und der monetäre Schaden sind in solchen Fällen enorm.
Während Konzerne und Großunternehmen die Cybersicherheit im Großen und Ganzen im Griff haben, bewegen sich kleinere Betriebe bei der Absicherung ihrer Anwendungen in unsicheren Gefilden. Zu oft fehlt es ihnen an ausreichendem finanziellem Budget und personellen Ressourcen, um adäquat gegen Website-Attacken und Hackerangriffe gewappnet zu sein. Gerade KMUs sind deshalb ein dankbares Opfer für Cyberkriminelle.
Die gute Nachricht ist: Egal, welche finanziellen und technischen Voraussetzungen ein KMU hat - jedes Unternehmen kann Vorkehrungen treffen und checken, wie anfällig seine Website für Hackerangriffe ist. In diesem Artikel erfahren Sie, welche Möglichkeiten kleinere Betriebe haben, um die Sicherheit ihres Webauftritts zu gewährleisten und welche Schritte sie dafür unternehmen sollten. Der Beitrag basiert auf Interviews mit Sicherheitsexperten, die sich auf die Belange von KMUs spezialisiert haben.
Download: Ihr kompletter Datenschutz Technik-Guide
Wie Sie mit Bordmitteln Datenschutzlücken auf den Websites Ihrer Kunden zuverlässig identifizieren.
Jetzt herunterladenDas Prüfwerkzeug: Penetrationstests
Das übliche Mittel, um Websites auf Sicherheitslücken zu überprüfen, sind Penetrationstest, kurz Pentests. Bei einem solchen Test werden Web-Anwendungen, einzelne Systeme oder die ganze IT Infrastruktur aus der Sicht eines potenziellen Angreifers auf Schwachstellen gescannt - mit dem Ziel, mögliche Security-Lücken zu identifizieren. Es handelt sich dabei also letztendlich um einen kontrollierten Einbruchsversuch.
Wie läuft ein solcher Test ab? Ein Sicherheitsexperte versucht über die Website des Unternehmens in Computersysteme und Netzwerke einzudringen. Um eine möglichst realitätsnahe Attacke zu simulieren, nutzt er Techniken, auf die auch externe Angreifer zurückgreifen. Das Ergebnis eines solchen Scantests ist in der Regel ein Security-Audit, mit dem die bisherigen Maßnahmen zur Website-Sicherung und zur Sicherung der IT evaluiert werden.
Die Analyse- und Testergebnisse des Penetrationstests geben Aufschluss darüber, welche Ziele aus Sicht eines Angreifers erfolgreich erreicht werden könnten und welche Maßnahmen erforderlich sind, um möglichen Gefahren entgegenzuwirken. Unternehmen sollten anschließend die empfohlenen Maßnahmen umsetzen, die Lücken schließen und die Sicherheit ihres Webauftritts verbessern.
Für die Durchführung eines Pentests gibt es grundsätzlich zwei Möglichkeiten: Zum ersten können Unternehmen einen Cybersecurity-Dienstleister konsultieren, der alle Schritte manuell durch eine Experten – wie eben beschrieben - ausführen lässt . Dieser testet, überwacht und bewertet die IT-Sicherheit.
Zum zweiten können Penetrationstests automatisiert ausgeführt werden – dies kann ebenfalls ein Dienstleister übernehmen. Bei entsprechenden Voraussetzungen kann den Test aber auch die IT-Abteilung des KMU oder der Betreiber der Website selbst ausführen.
Manuelle Pentests - Umfassende Dienstleister
Cybersecurity-Dienstleister für manuelle Pentest bieten meist umfassende Sicherheitsprüfungen an. Die Tester checken neben Web-Anwendungen auch Computer, Server und ganze Netzwerke auf Sicherheitslücken. Die Prüfmethoden reichen von Angriffsimulationen, bei denen ein kompletter Angriff auf das Unternehmen imitiert und möglichst tief in das Unternehmen eingedrungen wird, bis hin zu Schwachstellenanalysen und Codeprüfungen.
Bei einem manuellen Pentest geht der Dienstleister auf die konkrete Situation des KMU ein. „Umfassende Pentests, die vor allem durch eine manuelle Auswahl von Testprozeduren und Tools gekennzeichnet sind, enthalten vorab ein individuelles Vorgespräch mit dem Auftraggeber“, sagt Jan Bindig vom Leipziger Security-Spezialisten Pentest24. „Die Tests werden dann entsprechend auf den Einsatzzweck abgestimmt und eventuell befürchtete Schwachstellen detaillierter beleuchtet.“
Die individuelle Betreuung steht bei umfassenden Pentests durch einen Dienstleister im Vordergrund. „Wir versuchen bei einem gemeinsamen Gespräch im Vorfeld die kritischen Funktionalitäten herauszufinden, bei denen wir erfahrungsgemäß wissen, dass diese getestet werden sollten“, erklärt Emanuel Böse, Geschäftsleiter des Lutra Security GmbH, einem Münchener Cyber-Security-Dienstleiter. „Auf diese Weise bestimmen wir im Endeffekt einen Rahmen, der für den Kunden sinnvoll ist.“
Oft werden manuelle Pentests noch durch technische Audits und Interviews mit Ansprechpartnern ergänzt, um einen umfangreicheren Überblick über das Sicherheitsniveau zu erhalten. Ein Prüfbericht dokumentiert dann den Status quo und gibt dem Betreiber die Informationen, welche er zur Behebung der identifizierten Schwachstellen benötigt.
Zeitlich kann sich ein solcher Penetrationstest über mehrere Tage ziehen -je nach Aufwand zwischen zwei und zehn Tagen. Der Normalfall dürften durchschnittlich fünf Testtage sein. Bei sehr ausgeklügelten Social-Engineering-Methoden kann die Testphase mehr Zeit in Anspruch nehmen, aber auch kürzere Testphasen sind möglich - vor allem bei rein tool- gestützten Audits.
Manuelle Penetrationstests werden in der Regel nach Tagessätzen abgerechnet, die bei erfahrenen Pentestern mit Zertifizierung typischerweise zwischen 1.000 Euro und 1.800 Euro liegen. Der konkrete Preis hängt von der Komplexität des Systems und der Kritikalität ab. Geht man von einer Testdauer zwischen zwei und zehn Tagen aus, dann schwanken die Kosten für einen manuellen Pentest also zwischen 2.000 Euro und 18.000 Euro. Bei einer mittleren Testdauer von fünf Tagen und dem günstigsten Tagessatz von 1.000 Euro ergeben sich Gesamtkosten von 5.000 Euro.
Automatisiertes Pentesting
Moderne Software-Lösungen ermöglichen es heute, Pentests weitgehend automatisiert durchzuführen. „Automatische Pentests erfolgen durch vorkonfigurierte Tools und Scripts von einer Plattform oder auch individualisiert“, erklärt Pentest24-Experte Jan Bindig. Sie können sowohl als externer Test ohne Intranet Zugriff oder intern durch ein bereitgestelltes Relay innerhalb des Intranets ausgeführt werden.“
Automatisierte Pentests haben mehrere Vorteile. Sie sind weniger aufwändig als manuelle Tests und reduzieren die Kosten. KMUs bekommen einen ersten Überblick für wenig Geld. Selbst große, komplexe IT-Umgebungen lassen sich auf diese Weise schnell und effizient auf Schwachstellen scannen. Ergebnisse liegen meist schon nach 48 Stunden vor. Außerdem sind automatisierte Tests reproduzierbar und garantieren eine gleichbleibende, standardisierte Qualität – was sie für wiederholte Tests prädestiniert.
Regelmäßige Sicherheitsüberprüfungen durch Pentests sind ein wichtiger Aspekt. „Penetrationstests bilden jeweils nur eine Momentaufnahme des Sicherheitsstandes eines Unternehmens ab“, gibt Thomas Moosmüller, Geschäftsführer der Regensburger Breakinlabs GmbH., zu bedenken. „Schon morgen kann eine Schwachstelle bekannt werden, die bei einem solchen Test nicht berücksichtigt werden konnte. Aus diesem Grund sollte ein Penetrationstest regelmäßig stattfinden.“
Die meisten Unternehmen, die Pentests durchführen, machen dies bisher nur einmal im Jahr, so eine Studie des Cybersecurity-Anbieters Pentera. Das liegt vor allem daran, dass manuelles Testing sehr aufwändig und kostenintensiv ist. „Automatische Tests eignen sich hingegen aufgrund des geringeren Aufwandes und günstigen Preises als tägliche oder wöchentliche Scans sehr gut zwischen manuellen Pentests, die situationsabhängig in größeren Zeitspannen von einigen Monaten bis zu einem Jahr ausgeführt werden sollten“, sagt Thomas Moosmüller. Mit der regelmäßigen Wiederholung lassen sich Ergebnisse auch gut vergleichen und einheitliche Prüfverfahren an verschiedenen Standorten etablieren.
Vorausgesetzt das Budget erlaubt es, sollte beim automatisierten Pentesting mit einem erfahrenen Cybersecurity-Dienstleister zusammengearbeitet werden, der über entsprechende Referenzen und Expertise verfügt. Automatisierte Pentests werden von Cybersecurity-Dienstleistern oft als Managed Security Services angeboten. Die Kosten für einen automatisierten Test durch einen Dienstleister bewegen sich je nach individuellem Aufwand zwischen 800 und 1.500 Euro. Eine Liste von Dienstleistern für automatisiertes Pentesting finden Sie hier.
Tools - Pentests selbst durchführen
Prinzipiell können IT-Teams automatisierte Pentests auch selbst ohne großen Personalaufwand durchführen. Sie können dabei auf eine ganze Reihe an kostenpflichtigen und kostenlosen Tools zurückgreifen.
Bei den kostenlosen Open-Source-Tools können beispielsweise die folgenden Lösungen empfohlen werden:
- Karkinos ist effizientes und leicht handhabbares Penetrationstest-Tool für verschiedenste Sicherheitstests. Mit einer Kombination von Modulen kann Karkinos als "Schweizer Taschenmesser" für Penetrationstests bezeichnet werden.
- Sifter ist ebenfalls ein leistungsfähiges Tool, das aus Informationsbeschaffungstools sowie Schwachstellenscan-Modulen besteht. Es kombiniert mehrere Module zu einer umfassenden Penetrationstest-Suite, mit der man schnell nach Schwachstellen suchen, Aufklärungsaufgaben durchführen und lokale und entfernte Hosts auflisten kann.
- Nmap ist ein weiteres Tool für Sicherheitsüberwachung und Netzwerkerkennung, das Administratoren unter anderem bei der Durchführung von Überwachung der Serviceverfügbarkeit und Verwaltung von Upgrade-Zeitplänen unterstützt.
- Zaproxy vom Open Web Application Security Project (OWASP) bietet Entwicklern und Benutzern eine Reihe von Funktionen, darunter Web-App-Abfangen und -Prüfung, aktives Scannen und Entschlüsselung von SSL-Anfragen.
Eine umfassende Liste von kostenlosen Penetrationstest-Tools finden Sie hier.
Aus dem Segment der kommerziellen, kostenpflichtigen Lösungen ragen vor allem zwei Lösungen heraus.
- Acunetix gilt als eines der am besten ausgestatteten Pen-Test-Tools auf dem Markt, das komplexe Websites mit HTML5 und JavaScript scannt und auditiert. Das Werkzeugt überprüft Web-Anwendungen auf über 7.000 Arten von Schwachstellen und bietet eine intuitive Benutzeroberfläche und einfache Einrichtung. Die Kosten belaufen sich auf etwa 5.000 Euro.
- Burp Suite ist eine umfassende Zusammenstellung von Pen-Testing-Software, die einfach zu bedienen ist und für Anwender mit minimalen technischen Kenntnissen entwickelt wurde. Die Software-Suite gilt als sehr benutzerfreundlich. Die Test-Software ist ab 8.000 Euro erhältlich.
Herausforderungen bei selbst gemachten automatisierten Tests
Mit Kenntnissen und Erfahrungen im Bereich Netzwerksicherheit können automatisierte Pentests mit den eben genannten Tools selbst durchgeführt werden. „Als KMU mit einer kleinen IT-Abteilung ist das durchaus möglich – und wahrscheinlich kriegt man es ganz ohne IT hin“, meint Emanuel Böse von Lutra Security. Die Sicherheits-Dienstleister können bei eigenständig durchgeführten Tests unterstützen. „Kommt ein KMU zu uns, um selbstständig einen automatisierten Schwachstellenscan zu machen, können wir diesem gerne zeigen, wie man die Scans macht. Wir empfehlen Tools und demonstrieren die Optionen.“
Allerdings sind automatische Tests in Eigenregie kein Selbstläufer. Zwei Herausforderungen sind bei Selbstausführung der Scantests zu bedenken, mahnt Dipl-Informatiker Daniel Jonka, IT Security Specialist und Pentester bei der Hamburger mioso - IT Solutions GmbH & Cp. KG. „Einige der automatisierten Tools sind sehr aktiv im Austesten von bestimmte Schwachstellen.“ Wenn der Scanner dann eine Schwachstelle findet, kann er ungewollte Aktionen auslösen. „Es gab Fälle, bei denen ein automatisierter Scanner nach einer Datenbanklücke gesucht - und dabei gleichzeitig ein massenhaftes Versenden von zehntausenden E-Mails ausgelöst hat. Dies kann dazu führen, dass die Domain des Unternehmens auf Spamlisten landet, von denen es schwer ist, wieder herunter zu kommen.“
Eine zweite große Herausforderung ist die Auswertung der Ergebnisse. Denn es reicht nicht aus, Sicherheitslücken zu identifizieren. Vor allem die Interpretation der automatisiert erreichten Ergebnisse ist nicht leicht. „Die Werkzeuge sagen einem nicht, wie angreifbar eine Lücke wirklich ist, und ob es überhaupt möglich ist, sie zu reparieren“, erklärt Daniel Jonka. „Ihnen wird dann bei einem Scan vielleicht angezeigt, dass Sie 100 Javascript Insections Lücken haben. Aber was machen Sie mit dieser Meldung? Haben Sie die entsprechende Expertise, sie zu verstehen? Wissen Sie, was das bedeutet? Und wie Sie das reparieren können?“
All diese Aspekte würden bei einem manuellen Pentest oder bei einem betreuten automatisierten Test im Bericht erklärt und es wird beschrieben, wie man die Lücken repariert. Wenn also die Inhouse-Expertise nicht vorhanden ist, um die Ergebnisse auszuwerten und zu verstehen, dann sollte man sich im Rahmen einer Security Validation von Spezialisten unterstützen lassen.
Die Gretchenfrage: Manuell oder automatisiert?
Wann ist nun ein manueller Test für KMUs sinnvoll – und wann braucht es mehr? Grundsätzlich haben beide Testarten ihre Vor- und Nachteile. Die manuell durchgeführten Tests von Dienstleistern sind gründlicher und umfangreicher, übersteigen preislich aber oft den Etat kleiner Betriebe. Automatisierte Tests sind günstiger, können gegebenenfalls in Eigenregie und regelmäßig durchgeführt werden, sind aber weniger gründlich und tief und erfordern ein gewisses Know-how.
Für Lutra-Security-Spezialist Emanuel Böse haben beide Testarten ihre Berechtigung, aber unterschiedliche Zielrichtungen „Unabhängig von wirtschaftlichen Möglichkeiten würde ich automatisierte Scans regelmäßig durchführen und manuelle Tests mehrfach pro Jahr – zum Beispiel bei major changes in der IT-Infrastruktur oder in Applikationen.“ Nur wenn bei einem KMJU das Budget für einen manuellen Test nicht vorhanden ist, kann auf solche Tests verzichtet werden. „Automatisiertes Test sind immer noch besser als gar nichts“, sagt Böse.
Nicht unbedingt notwendig sind aufwändige manuelle Tests bei einfachen Webauftritten mit Standard-Komponenten. „Wenn ein kleines KMU nur eine Website betreibt, auf der das Unternehmensprofil angezeigt wird, und ansonsten eine einfache Office-Infrastruktur, dann macht ein manueller Pentest in großer Tiefe nicht viel Sinn“, erklärt Daniel Jonka von mioso. „Hat ein KMU beispielsweise nur eine Wordpress-Seite und nutzt es intern eine Microsoft Standardumgebung (mit Active Directory), dann müssen wir uns als Dienstleister nicht zwingend in das Unternehmensnetz einklinken und harte Port Scans machen etc.“ Ein automatischer Scanner kann in diesem Fall grobe Schnitzer in der Sicherheitskonfiguration erkennen. "Mehr Sicherheit bringt in diesem Fall eine kurze Security Beratung und Cyberhygiene-Schulungen der Mitarbeiter", erläutert Daniel Jonka.
Je weiter ein Webauftritt aber vom Industriestandard abweicht, desto mehr bringt ein manueller Pentest an echtem Erkenntnisgewinn. „Wenn Ihre Website auf einem eigenen Server gehostet wird und sie dort eine Fehlkonfiguration oder eigene Software haben, sind diese Tools schon mal überfordert“, so Jonka. „Je mehr Fremdcode, eigener Code oder wenig verbreiteter Code in den Anwendungen drin steckt, desto schwieriger wird es, Probleme durch Standardtests zu erkennen. In diesem Fall sollte dringlich ein Dienstleister eingeschaltet werden, der manuell prüft, wo potentielle Schwachstellen zu finden sind.“
Ist eine Auslagerung sinnvoll?
Bei all dem möglichen Aufwand sind viele KMUs versucht, die Sicherheitsproblematik auszulagern. Das liegt durchaus auf der Hand: Viele KMUs arbeiten mit Agenturen zusammen, die den Internet-Auftritt ausgearbeitet und gestaltet haben und als umfänglichen Service gleich die Sicherheitsbetreuung übernehmen könnten. Gute Internet-Agenturen sind normalerweise mit den Anforderungen an die Sicherheitssysteme vertraut und wirken beratend am Aufbau entsprechender Maßnahmen mit. Es erscheint deshalb naheliegend, die Bewältigung der Sicherheitsanforderungen an eine externe Agentur auszulagern.
Von einer Agentur-Betreuung in Security-Angelegenheiten raten Experten allerdings ab. „Die Verantwortung abzugeben ist nicht sinnvoll“, erklärt Emanuel Böse. „Wird die Seite gehackt, wird sie von Angreifern übernommen oder werden meine Kundendaten geleakt, hat der Betreiber den finanziellen Schaden - und vor allem auch den Reputationsverlust. Das KMU kann sich zwar auf die Agentur berufen und die Versicherung, dass sicherheitstechnisch alles in Ordnung. Aber das nutzt im Fall der Fälle nicht viel.“
Ausbaden müsse solche Sicherheitsvorfälle letztendlich immer das Unternehmen. Und rechtlich kann die Verantwortung nicht abgeschoben werden: „Rein rechtlich hat die Verantwortung immer der Betreiber der Website - und der sollte sich deshalb auch darum kümmern.“
FAZIT: Der passende Test
Die Konsultation eines Cyber-Security-Dienstleister, der manuelle Pentests ausführt, ist das Optimum, wenn ein Webauftritt auf Security-Lücken geprüft werden soll. Diese etwas aufwändigeren und kostenintensiven Tests sollten insbesondere bei einem komplexen Webauftritt erfolgen, der beispielsweise ein Shop-System oder Eigenentwicklungen beinhaltet. Hier ist die Gefahr von Schwachstellen und Sicherheitslücken besonders groß.
Automatisierte Pentests ermöglichen es, Sicherheitsüberprüfungen kostengünstig als regelmäßigen Prozess auszuführen. Ein automatisierter Test kann bei einem einfachen Webauftritt mit Standardkomponenten genügen. Bei entsprechendem Know-how kann er mit den verfügbaren Tools auch in Eigenregie ausgeführt werden - jedoch kann die Interpretation der Ergebnisse Probleme bereiten.
Wer sich einen autonom durchgeführten Test nicht zutraut, sollte einen Dienstleister konsultieren -beispielsweise in Form eines Managed Security Services. Dieser führt dann den Test durch oder unterstützt bei der Interpretation der Ergebnisse. Auf diese Weise reduziert sich der Eigenaufwand auf ein Minimum und man erhält zudem Unterstützung bei der Umsetzung von Maßnahmen.
In jedem Fall gilt: Automatisierte Tests sind besser als gar keine Tests. Dies sollte man insbesondere dann bedenken, wenn das Budget keine größeren Ausgaben für umfangreichere, manuelle Tests erlaubt.
Autor: Dr. Klaus Manhart
Dr. Klaus Manhart ist freier Autor für Informationstechnik und Wissenschaft. Er ist promovierter Wissenschaftstheoretiker und war viele Jahre Redakteur bei IT- und Internet-Fachzeitschriften. Heute lebt er als freier Autor in München.