Tippstube unter Beschuss: Server-Down bei Tippstube wegen Cyber-Angriff!!!

English version of this article can be found here

Das Eröffnungsspiel hätte für Gastgeber Russland kaum besser laufen können… und für uns kaum schlechter! Ab 16:48 Uhr deutscher Zeit bis etwa 19:32 Uhr war unsere App quasi komplett nicht erreichbar, trotz massiver Server-Ressourcen und Bemühungen unsererseits. Gegen 20:54 Uhr haben unsere Entwickler aber entdeckt: Der Ansturm der User war zwar groß, der Server-Down wurde durch einen gezielten Cyber-Angriff auf Tippstube verursacht! In diesem Beitrag erklären wir dir daher, (1) was genau passiert ist, (2) was das für dich bedeutet und (3) was das für uns und den weiteren Verlauf des Turniers bedeutet.

Es wäre super, wenn du den Artikel auch mit deinen Freunden und Mit-Tippern teilst, damit sie auch Bescheid wissen!

Cyber-Angriff auf Tippstube: Die Kurzfassung

Entwarnung für dich erstmal: Wir wurden nicht gehackt und niemand hatte Zugang zu unseren Systemen oder gar deinen Daten. Es war vielmehr ein DDOS-Angriff: Bei so einem Angriff werden ganz viele „Daten” bzw. enorme Datenmengen über unser Netzwerk „reingepumpt” und unsere Server versuchen, das zu verarbeiten. Unsere Leitung wurde quasi durch „manipulierte Pakete” verstopft.

Schematische Darstellung des Angriffs – zusätzlich zum 1. Load-Balancer hat jeder Server in sich nochmal einen Load-Balancer, der die Last intern verteilt.

Was genau ist passiert?

Wir möchten komplett transparent mit dir sein und gehen der Einfachheit halber den Tag des Eröffnungsspiels chronologisch durch

  • 15:34: Der 100.000te Nutzer registriert sich bei der Tippstube. Wow 🙂
  • 15:46: Unsere Entwickler übernehmen präventiv das aktive Monitoring aller Tippstuben IT-Systeme, um dem Ansturm gerecht zu werden. Zu diesem Zeitpunkt sind bereits mehrere zehntausend Nutzer in der App.
  • 15:48: Die Antwortzeiten unserer Systeme sind stabil im niedrigen Millisekunden-Bereich. Die CPU-Auslastung der primären Datenbank liegt bei unbedenklichen 60 Prozent.
  • 16:31: Die Antwortzeiten der Datenbank werden aufgrund der natürlichen Last leicht erhöht, liegen aber im grünen Bereich. Die Auslastung der Datenbank ist im Grenzbereich (>90%), aber sie funktioniert und arbeitet für ihr Geld 😉
  • 16:48: Die ersten manipulierten Pakete treffen auf die sekundären Loadbalancer. Leider konnten wir das erst im Nachhinein identifizieren.
  • 16:49: Die Datenbank-Auslastung fällt innerhalb weniger Minuten rapide bis zuletzt auf 37% – von ihrer Seite aus müsste also alles in Ordnung sein. Das ist aber ein Indikator, dass hier bereits nur noch wenige Anfragen durchkommen (da die Leitung quasi verstopft ist; aber auch das klärt sich erst im Nachhinein).
  • 16:50: Erste Anfragen können nicht mehr beantwortet werden: Die Erreichbarkeit der Tippstube ist eingeschränkt und die Beschwerden und Reviews trudeln (zurecht) ein. Derweil erreichen kontinuierlich eine Vielzahl „manipulierter Pakete” die Loadbalancer.
  • 17:00: Offizielle Anstoßzeit des Eröffnungsspiels und wir sind Down. Alarmstufe dunkelrot bei uns!
  • 17:01: Anpfiff. Outch.
  • 17:08: In der Annahme, dass die Datenbank der Last nicht standhalten würde und die Auslastungs-Kennzahl der Datenbank nicht stimmt, skalieren wir die Master-Datenbank auf eine viermal(!) größere Instanz.
  • 17:09: Die Bearbeitung der Anfragen wird vom Datenbank-Replika, quasi einem Klon der Datenbank, übernommen, damit wir die größere Datenbank in Betrieb nehmen.
  • 17:13: Die Skalierung der Master-Datenbank wurde vollständig durchgeführt. Russland schießt das erste Tor der WM 2018.
  • 17:19: Wir versuchen den Traffic von den Workern (das sind die Systeme auf dem Server, die deine Anfrage verarbeiten) manuell auf die neue, größere Master-Datenbank zu verlagern (Annahme: Netzwerkprobleme bei unserem Cloud-Dienstleister o.Ä.).
  • 17:26: Dennoch erreicht nahezu keine Anfrage die Master-Datenbank – obwohl diese völlig unausgelastet ist.
  • 17:26: Weiterer Server zur Bearbeitung der Anfragen wird hochgefahren. Anfragen können dennoch nicht bearbeitet werden und erreichen die Datenbank nicht.
  • 17:36: Noch ein weiterer Server zur Bearbeitung der Anfragen wird hochgefahren. Wir sind mit unserem Latein quasi am Ende und verstehen die Welt nicht mehr.
  • 17:46: Nahezu keine Anfragen können mehr verarbeitet werden, obwohl die Auslastung der Worker (also der Server) sehr gering ist.
  • 17:48: Halbzeit beim Spiel, die App ist nach wie vor tot.
  • 18:25: Wir ziehen einen AWS Cloud-Experte zu rate – aber leider ist auch ihm auf den ersten Blick schleierhaft, was da passiert. Wir starten die Analyse.
  • 18:44: Wenn’s einer nicht weiß, vielleicht ein anderer: Cloud-Experte #2 wird in die Analyse involviert.
  • 18:55: 5:0 für Russland und Abpfiff des Spiels – aber Anfragen kommen immer noch nicht durch.
  • 19:01: Wir überarbeiten die Konfiguration der Datenbankverbindung, immer noch unter der Annahme, dass die Datenbank die Probleme verursacht.
  • 19:31: Detail-Analyse mit AWS Cloud-Experte #1 beginnt.
  • 19:32: Das letzte manipulierte Paket erreicht die sekundären Loadbalancer.
  • 19:33: Die Auslastung der Datenbank schnellt auf 55% hoch. Anfragen kommen reibungslos zur Datenbank durch und werden verarbeitet.
  • 19:34: Alle Anfragen werden urplötzlich wie gewohnt innerhalb weniger Millisekunden bearbeitet. Die Entwickler hinterfragen die Hintergründe ihrer Existenz – was ist da los? Als wäre ein Schalter umgelegt worden.
  • 19:40: Analyse der Log-Dateien, Metriken und anderweitiger Protokolle beginnt.
  • 20:10: Das Tippstuben-Team arbeitet nach wie vor non-stop an der Beantwortung von über 1.000 E-Mails und 100 enttäuschten Bewertung. Die letzte Email wird erst um 01:45 Uhr deutscher Zeit beantwortet worden sein.
  • 20:54: Auffälligkeiten und unnatürliche Muster in der Netzwerkauslastung der Worker werden mithilfe der AWS CloudWatch-Metriken entdeckt. Sie zeigen, dass die Worker während der Downtime übermäßig hohen eingehenden Netzwerk-Traffic verzeichnet haben. D.h. sie bekamen wenige Anfragen mit extrem hohen Datenmengen.
  • 21:12: Auffällige Log-Einträge werden auf den sekundären Loadbalancern gefunden. Sie offenbaren: Von 16:48 Uhr bis 19:32 Uhr wurden durchgehend „manipulierte” Pakete übermittelt. Die Verbindung des anfragenden HTTP-Clients wurden dabei gezielt abgebrochen. Das ist quasi, wie wenn dich jemand anruft, extrem langsam spricht und dann irgendwann mitten im Satz auflegt – und dann das gleiche wieder und wieder macht.
  • 21:48: Wir konsultieren einen Software Security Professional aus Columbia, Maryland und gehen mit ihm die Daten durch. Er bestätigt unsere Befürchtung: Wir wurden Opfer einer ganz gezielt Attacke. Er klärt uns darüber auf, dass wir auch in den kommenden Tagen mit weiteren, eventuell heftigeren Attacken rechnen müssen!
  • 23:22: Das komplette Tippstuben-Team findet sich zu einem nächtlichen Krisenstab via Videochat zusammen. Lena berichtet von unzähligen, enttäuschten Nutzern und das Team bespricht die Lage.
  • 01:24: Erkenntnisse der Attacke werden in der Rohversion dieses Post-Mortem-Protokolls zusammengetragen.
  • 01:40: Der Vodka des Tippstube-Techie neigt sich dem Ende.
  • 01:46: Die letzte Email für die Nacht verlässt die Tippstube. Inbox Zero, Ende für heute.

Hier siehst du einen Screenshot unserer Systeme (die Zeit ist in UTC, also musst du +2 rechnen). Du siehst auch, dass um 17:25 UTC (also 19:25 deutscher Zeit) noch 25 Gigabyte an Daten durch unsere Leitung gepumpt wurde, was bei einer Tippspiel-App nicht sein kann. 5 Minuten später ist der Spuk wieder vorüber. Das Durcheinander in der Anzahl der aktiven Worker entstand durch die vergeblichen Versuche, die Last manuell verteilt zu bekommen. Wir haben hierbei mehrfach (verzweifelt) die jeweiligen Instanzen durchgestartet.

Was bedeutet das für mich?

„Sind davon meine Tipps betroffen?” – Nein. Die Datenbank ist unangetastet, sicher und verschlüsselt. Angriffe dieser Art dienen „nur” dazu Unruhe zu stiften und unsere Server auf „unerreichbar” zu stellen. Deine Tipps und Daten sind davon nicht betroffen.

Aber: Wir müssen mit weiteren Angriffen rechnen – das heißt für dich: Sicherheitshalber früher tippen, damit es da nicht kurz vor oder während eines Spiels zu Problemen kommt, denn das sind vermutlich die beliebtesten Angriffszeiten.

Was bedeutet das für die Tippstube und die WM?

Wenn du nach dem Lesen unseres Protokoll nun denkst: Aber…?

  • Warum habt ihr nicht einfach die IP-Adressen gesperrt?
    Aus datenschutzrechtlichen Gründen haben wir von einer Protokollierung der IP-Adressen (auch anonymisiert) abgesehen.
  • Warum habt ihr so spät gemerkt, dass ihr angegriffen werdet?
    Um ehrlich zu sein, haben wir nicht damit gerechnet, dass jemand derart mutwillig und rabiat auf eine kostenlose App losgeht. Im Gegensatz zu unseren potentiellen Mitstreitern verfolgen wir keine kommerziellen Ziele. Wir betreiben die Tippstube um unseren Fans eine noch spannendere WM zu bereiten.
  • Wer steckt hinter den Attacken?
    Das würde uns auch brennend interessieren. Wenn du dich nun angesprochen fühlst, kannst du unser gerne eine E-Mail an lena (at) tippstube (punkt) de zukommen lassen.

Die wichtigste Frage ist nun aber, was wir dagegen tun können. Und genau das ist gar nicht so einfach: DDOS-Angriffe abzuwehren ist – je nach Art und Professionalität der Attacke – nicht immer einfach. Wir werden nun ein paar Vorkehrung treffen, um diesen Szenarien vorzubeugen. Ob diese tatsächlich zur dauerhaften Lösung beitragen, wird sich zeigen. Außerdem hat sich ein befreundeter IT-Security-Experte dazu bereit erklärt, Urlaub einzureichen und uns nun in seiner freien Zeit(!) zusätzlich zu unterstützten. Aber auch er sagt ganz klar, dass wir hier wahrscheinlich eher „reaktiv” und erst im Nachhinein reagieren können – und auch das nur für den Fall, dass der Angriff eher amateurhaft war.

Vor professionellen Attacken schützen fast nur teure IT-Dienste, die von Amazon z.B. für 36.000 Euro angeboten werden. Wir sind jetzt schon mit unserer Infrastruktur bei mehreren tausend Euro pro Monat, was sich auch mit Werbeeinnahmen überhaupt nicht rechnet. Aber auch wenn gegen uns mit unfairen Mitteln gespielt wird – also im Ramos-Style, der einfach mal komplett Liverpool umsäbelt – bleiben wir uns treu, stehen auf, wie die stolzen Liverpooler Spieler und Fans, und geben unser Bestes!

Tippstube unter Beschuss: Server-Down bei Tippstube wegen Cyber-Angriff!!!
4.4 (88.33%) 36 Ratings

Lena ist die gute Fee im Tippstube Team und kümmert sich um die Website, neue Artikel und die Unterstützung unserer Nutzer. Sie ist leidenschaftlicher Fußball-Fan und freut sich, mit euch zu tippen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.