Ich möchte diesen Beitrag gleich mit einer Behauptung beginnen:
Ein System wird 11 Minuten, nachdem es mit dem
Internet verbunden wurde, angegriffen.
Und nachdem ich das nun fett markiert und hervorgehoben habe, wage ich zu behaupten, dass diese Aussage nahezu wertlos und nicht ganz ehrlich ist. Die Rede ist hier von der durchschnittlichen Zeit, und “angegriffen” ist vielleicht etwas zu viel gesagt, weil davon ausgegangen wird, dass bereits der Erhalt eines unerbetenen TCP SYN Pakets den Beginn einer Attacke darstellt. Auch wenn man mit einiger Sicherheit davon ausgehen kann, dass es sich bei der Mehrzahl solcher Pakete um erste Anzeichen von böswilligen oder missgünstigen Absichten handelt, so ist und bleibt es doch eine dürftige (und unbelegte) Annahme. Genug davon, begeben wir uns hinein in die Daten hinter diesem von Angst, Unklarheit und Zweifel geprägten Statement.
Im Durchschnitt – eine kurze Erläuterung
Die Beschreibung “im Durchschnitt” kann häufig irreführend sein: Sobald Bill Gates den Raum betritt, sind alle Anwesenden im Durchschnitt Millionäre. Der Durchschnitt ist schlicht ein Bezugspunkt, eine errechnete Zahl, zu der man gelangt, indem man sämtliche Werte addiert und dann durch die Anzahl der Werte dividiert. Im Durchschnitt kommt der Durchschnitt im wahren Leben kaum vor, und dies trifft ganz besonders auf die Durchschnitte zu, über die ich hier sprechen werde (die Verteilung dieser Messungen weist eine enorme Schiefe und einen langen Schwanz auf).
Ich habe diesen Durchschnitt hier errechnet, indem ich alle eingehenden Pakete an den verschiedenen IP-Adressen registriert und die Zeit zwischen den Paketen gemessen habe. Dann habe ich die Wahrscheinlichkeit einer “Entdeckung” (ein viel besseres Wort für das Erhalten von Paketen, die eine Antwort erwarten) ermittelt. Doch ich wollte es nicht bei einem Durchschnitt bewenden lassen, denn das ist lediglich eine Statistik, die den Bereich möglicher Ergebnisse erfasst. Wir müssen einen Schritt zurückgehen und diese Daten anders betrachten, um von ihnen lernen zu können.
Verteilungen sichtbar machen
Um den Bereich möglicher “Zeit-bis-zur-Entdeckung”-Messungen besser beschreiben und verstehen zu können, entschied ich mich für eine einfache Kastengrafik, oder wie meine brillanten Sechstklässler es nennen: eine “Katze-mit-Schnurrbarthaaren”-Grafik (manche sagen auch “Kasten-mit-Schnurrbarthaaren”-Grafik dazu). Das ist eine mögliche Methode, den Bereich und die Verteilung von Daten zu zeigen. Werfen wir also einen Blick auf die Abbildung links. Der schattierte Kasten in der Mitte ist der so genannte Interquartil-Bereich oder schlicht die mittlere Hälfte der Daten. Man kann erwarten, dass 50 Prozent unserer Beobachtungen in diesen Bereich fallen. Die Linie, die vom Kasten nach oben geht, steht für das obere Quartil oder die oberen 25 Prozent der Daten. Jegliche Beobachtungen oberhalb dieser Linie lassen sich als Ausreißer bezeichnen (z.B. “verrückt”). Angenommen, wir schauen uns die Grafik an und machen die folgende uninteressante und trotzdem völlig ehrliche Feststellung:
Es wäre schon verrückt, ein System 31 Minuten im Internet zu haben und nicht unaufgefordert ein TCP SYN-Paket zu erhalten.
Mit “verrückt” meine ich einen “statistischen Ausreißer” – möglich, aber nicht sehr wahrscheinlich. Falls Sie gerade an einem mit dem Internet verbundenen System sitzen und die Möglichkeit haben, sich den Netzwerk-Datenverkehr anzuschauen, würden Sie innerhalb von etwa 31 Minuten des Zuschauens ein TCP SYN-Paket sehen; etwa 50 Prozent von Ihnen würden eines innerhalb von sieben Minuten sehen. Probieren Sie’s mal aus, aber geben Sie acht, das kann süchtig machen.
Und jetzt zu etwas Interessanterem
Danke, dass Sie dabeigeblieben sind. Das Vorangehende können wir getrost ignorieren, denn es ist weder zutreffend noch interessant. In der Realität spielt es keine große Rolle, wenn ein System ein Paket an einem Port erhält, der wahrscheinlich nicht offen ist. Interessant ist allerdings die Art und Weise, wie wir uns exponieren, wenn/falls wir uns entschließen, einen bestimmten Service über das Internet anzubieten. Bevor wir einen Service anbieten oder eine Firewall oder ein Gateway für Datenverkehr an einem bestimmten Port durchlässig machen, wäre es da nicht hilfreich, wenn wir unsere Unklarheit darüber reduzieren könnten, wie lange es etwa dauert, bis jemand über diesen Service stolpert? Oder was, wenn das Entwicklungsteam testet und einfach einen Port für eine Stunde offen haben möchte – wie exponiert ist man dann?
Vor diesem Hintergrund habe ich die folgende Frage gestellt: “Wie lange bleibt ein Service von opportunistischen Angreifern unentdeckt?” Meine letzte Visualisierung (PDF) zu diesem Datensatz dient der Beantwortung dieser Frage. Zur Abdeckung des Spektrums möglicher Antworten habe ich eine Reihe von Kastengrafiken für spezifische Ports (Services) erstellt und sie nach Maximalzeit bis zur Entdeckung in Rangfolge gebracht. Ich habe einige Service-Anfragen, die uns interessieren könnten, hinzugefügt und den Durchschnitt hierfür als weiteren Bezugspunkt mit aufgenommen. Nehmen Sie sich die Zeit, die komplette Darstellung anzuschauen, da steckt einiges drin.
Was ist mit 36081 los? Nach kurzem Studieren der Grafik bin ich mir nicht sicher, was TCP-Port 36081 ist. Merkwürdig ist, dass es sich hierbei eigentlich nicht um einen aktiven Port handelt, wenn Sie noch einmal einen Blick auf die ursprüngliche Grafik unter Port-Kontaktversuche nach einzelnen IPs werfen. Lässt man die Einschränkung “einzelne IPs” weg, erhielt Port 36081 etwa ein Viertel der Pakete von Port 3389. Meine Vermutung ist, dass es sich hierbei möglicherweise um Fehlkonfigurationen handelt, denn die Pakete traten durchgängig gleich und bisweilen gehäuft auf, und diese Kombination beförderte diesen Port auf Platz eins. Insgesamt gesehen ist Port 36081 möglicherweise überhaupt nicht interessant.
Vorbehalte
Ich habe mich bislang kaum über Vorbehalte gegen diese Datensammlung geäußert, und skeptisch gegenüber Daten zu sein ist immer gut. Es gibt da so einiges, das die Ergebnisse dieser Analyse auf die eine oder andere Art verändern könnte. Zunächst mag es sich bei einem Teil dieses Datenverkehrs nicht um “opportunistische Angreifer” oder böswillige Absichten wie vorangehend geschildert handeln. Bei einem Teil dieser Daten mag es sich um Bildungsforschung oder Mapping-Versuche (die nur einen Port prüfen) handeln, oder es sind schlicht Tippfehler oder Fehlkonfigurationen. Andererseits ist es möglicherweise ein Fehler zu glauben, dass “gutwilliger” Datenverkehr in der Mehrheit ist oder irgendwie einen enormen Einfluss hat. Weiter sind die IP-Adressen, an denen diese Daten gesammelt wurden, vielleicht nicht repräsentativ für den gesamten IP-Adressraum. Auch wenn belangloser Adressraum genutzt wurde, kann man dies nicht als Zufallsauswahl von IP-Adressraum bezeichnen. Und schließlich sind diese Messungen nur ein winziger Ausschnitt der Gesamtpopulation; jede beliebige Menge an Unbekannten kann diese Daten durchaus beeinflussen. Dies vorangestellt, kann man hierzu mit einiger Sicherheit ein paar hochrangige Schlussfolgerungen ziehen: MS RDP und SQL (zusammen mit ein paar offenen Proxys) werden stärker als andere Services gesucht, und IP-Adressen in China und den USA führen die Liste der Quellen an.
Abschließende Überlegungen
Eine übergeordnete Schlussfolgerung können wir aus dieser Analyse ziehen: Die Services, die häufiger oder von mehr Quellen gecheckt werden, verfügen über eine Kombination von Attributen, die sie attraktiver als andere Services machen. Vielleicht, weil sie häufiger implementiert und verfügbar oder leichter anzugreifen sind. Vielleicht, weil sie häufiger unzureichend konfiguriert sind und sich mehr “lohnen” als andere. Was immer die – aus diesen Daten nicht ersichtlichen – Faktoren sein mögen, die vorliegenden Daten stellen zu einem gewissen Grad eine Messung der kollektiven Intelligenz (von uns angenommener) opportunistischer Attacken dar. Wir können daraus ableiten, dass einige Services hinsichtlich Zeit und Aufwand für “angriffswürdiger” gehalten werden als andere.
Ein Teil dieser Arbeit besteht darin, die Möglichkeiten von teilweise recht simplen Datensammlungen aufzuzeigen. Wir können eine Menge lernen, indem wir uns Feedback aus unserer Umgebung holen und aufzeichnen. Ein weiterer Teil dieser Arbeit besteht darin, Unklarheiten rund um opportunistische Angreifer und die von ihnen getroffenen Entscheidungen zu reduzieren. Durch das Reduzieren von Unklarheiten mit Blick auf die Entscheidungen eines Gegners können wir besser informierte Entscheidungen treffen. Meine Hoffnung ist, dass wir dies zu einem gewissen Grad mit dieser Posting-Reihe geschafft haben.
Sie haben die ersten beiden Teile der Blog-Serie verpasst? Kein Problem! Hier geht es direkt zum Auftakt-Artikel und zum Teil 2.
Vielfach hat die Coronapandemie bestehende IT-Strukturen aufgebrochen oder gar über den Haufen geworfen – gefühlt.…
Das Covid-Jahr 2020 konnte die digitale Transformation nicht ausbremsen. Sogar ganz im Gegenteil: Viele Unternehmen…
Nach Angaben der Weltbank fehlt mehr als einer Milliarde Menschen ein offizieller Identitätsnachweis. Ohne den…
Das Thema Nachhaltigkeit ist seit vielen Jahren fester Bestandteil des Selbstverständnisses vieler Unternehmen. Wenig verwunderlich,…
Unternehmen sammeln eine Vielzahl von Daten. Doch IDC Analysten fanden in ihrer aktuellen Studie „IDC‘s…
COVID-19 hat 2020 sowohl Gesellschaft als auch Wirtschaft bestimmt. Unbestritten ist auch die katalytische Wirkung,…