Jedes IT-Service, das im Internet betrieben wird, hat eine gewisse Angriffsfläche (attack surface). Nehmen wir zum Beispiel eine Webseite. Diese läuft auf einem Webserver, der über eine Domain und eine IP-Adresse erreichbar ist. Auf diesem Server werden diverse Services betrieben, die auf unterschiedlichen Ports angesprochen werden können. Zum Beispiel antwortet der Webserver via https auf Port 443. Dahinter läuft ein Service, zum Beispiel ein apache-Webserver, der die Seite ausliefert. Zur Absicherung der verschlüsselten Verbindung dient ein TLS-Zertifikat. Gegebenenfalls ist derselbe Server auch unter anderen Portnummern ansprechbar hinter denen dann andere Services laufen.
Attack Surface Management beschreibt einen kontinuierlichen Prozess, alle extern erreichbaren Web-Ressourcen einer Organisation zu entdecken, zu inventarisieren und auf Risiken zu bewerten.
Idealerweise versucht man die Angriffsfläche der eigenen Web-Ressourcen möglichst klein zu halten und zum Beispiel nur jene Ports öffentlich erreichbar zu haben, die für die Erbringung des jeweiligen Services absolut notwendig sind. Je weniger Webservices aus dem Internet erreichbar sind, desto geringer die Chance, dass ein Angreifer eine Schwachstelle findet.
Welche Services im Internet erreichbar sind, das kann mithilfe diverser Programme manuell erfasst werden. Es gibt jedoch Webplattformen im Internet, die sich auf genau das Sammeln und zusammenfassen dieser Daten spezialisiert haben. Sie können Dich beim Attack Surface Management unterstützen. In diesem kurzen Blog-Beitrag möchte ich zwei Webplattformen vorstellen: Shodan und Censys. Mit ihrer Hilfe nimmst du die Perspektive des Angreifers ein und siehst die Angriffsfläche deiner Webservices.
Shodan
Die Webplattform Shodan scannt kontinuierlich alle möglichen im Internet erreichbaren IP-Adressen und hat sich darauf spezialisiert diverse Daten über diese Hosts zu sammeln. Du kannst zum Beispiel nach der IP-Adresse deines Webservers suchen. Aufgelistet findest du dann alle offenen Ports, die unter dieser Adresse erreichbar sind – im Idealfall also (nur) Port 443, unter Umständen aber auch andere. Dann solltest Du hinterfragen, ob diese Ports auch tatsächlich benötigt werden oder doch lieber mittels einer Firewall geschützt werden sollten. Im schlimmsten Fall werden dir auf Shodan offene, bekannte Schwachstellen angezeigt, falls der Server nicht up to date ist, denn auch diese Informationen sammelt Shodan. Wichtig dabei ist jedoch, dass die Information über Schwachstellen aus Scans stammt, die nicht immer zu 100 Prozent richtig liegen. In manchen Fällen handelt es sich dabei um false positives, also „Fehlalarme“. In jedem Fall solltest du solche Angaben aber kritisch prüfen.
Censys
Censys zeigt grundsätzlich ähnliche Informationen an. Auch hier kann man nach der eigenen IP-Adresse, Domain oder dem Organisationsnamen suchen. Sucht man zum Beispiel nach der URL deiner Webseite, so werden Informationen über TLS-Zertifikate angezeigt. In Verbindung mit der IP-Adresse werden die erreichbaren („offenen“) Ports aufgelistet, wie bei Shodan. Allerdings habe ich die Erfahrung gemacht, dass Censys häufiger scannt und dadurch etwas genauer ist. Wenn man sich für eine kostenpflichtige Lizenz entscheidet, dann kann man hier sogar historische Werte einsehen. Ohne Registrierung ist die Suchfunktion allerdings aktuell auf fünf Abfragen pro Tag eingeschränkt.
Fazit
Mithilfe der beiden Webplattformen kannst du die ersten Schritte im Attack Surface Management machen. Schau dir deine Webservices bei beiden Plattformen an. Du kannst die Ergebnisse beider Plattformen auch vergleichen, denn oft ergänzen sie sich. Auf dieser Basis kannst du entscheiden, ob deine Webservices richtig konfiguriert sind oder ob hier Nachholbedarf vorliegt. Wichtig ist der Grundsatz: Je weniger „exposed“ – also öffentlich erreichbar – ist, desto geringer ist die Angriffsfläche. Und wie eingangs erwähnt: Attack Surface Management ist ein Prozess. Idealerweise machst du das regelmäßig, um zu verhindern, dass mit Konfigurationsänderungen plötzlich Firewall-Regeln verloren gehen oder neue Services unbeabsichtigterweise online gehen.