Sven Rautenberg: (INTERNET-ANBINDUNG) Neue Art von DoS aufgetaucht

Moin!

Der Newsletter von Steve Gibson (http://www.grc.com) hat mich gerade auf einen neuen, sehr interessanten Artikel von ihm aufmerksam gemacht, in dem er eine neue Denial-of-Service-Attacke beschreibt, unter der er im Januar 2002 zu leiden hatte.

Das Wichtigste in Kürze:
Diese neue Art bezeichnet Steve als "Distributed Reflection DoS". Was passiert (offenbar): Ein böser Angreifer sendet ganz viele Verbindungsanfragen an gut ans Internet angebundene Server mit offenen Ports (z.B. Webserver - HTTP Port 80, oder auch Router - BGP Port 179), aber nicht mit seiner IP-Adresse, sondern mit der Adresse des Opfers. Diese Netzwerkgeräte senden dann dann Verbindungsbestätigungen an das Opfer und fluten es so mit unnützem Netzwerkverkehr. Die Netzwerkleitung des Opfers wird überlastet, keinerlei normale Daten kommen mehr durch.

Das perfide ist, daß man sich als Opfer dagegen kaum effektiv wehren kann. Der Ansatzpunkt ist (wie immer bei solcherart Attacken) die Gruppe der Internet Service Provider. Die müssen einfach verhindern, daß aus ihren Netzwerken Datenpakete mit IP-Adressen ins Internet gesendet werden, die garnicht aus ihrem Netzwerkbereich kommen können, weil die ISPs diese IP-Adressen garnicht besitzen.

Mir war diese Art Angriff neu, vielleicht ist sie für den einen oder anderen von euch auch neu.

Den kompletten, englischen Artikel gibts unter http://grc.com/dos/drdos.htm.

- Sven Rautenberg

  1. Mir war diese Art Angriff neu, vielleicht ist sie für den einen oder anderen von euch auch neu.

    Ähm..... genau so sieht das typische Prinzip von DoS aus...
    Also das was da als "reflecting" bezeichnet wird ist das Normale.

    Und genauso wurden auch im Sommer einige Dienste aus dem Netz geworfen.

    Verhindert oder unterdrückt wird diese Attacke dadurch
    bei gut gepfegten Servern, dass diese nur noch Pakete annehmen, dessen Absenderip korrekt ist. Hierzu wird einfach ein Backtrace gemacht,
    also gecheckt ob der Host von dem das Paket kommt, derselbe ist, wie die Absendeip im Paket.

    Ciao,
      Wolfgang

    1. Moin!

      Ähm..... genau so sieht das typische Prinzip von DoS aus...
      Also das was da als "reflecting" bezeichnet wird ist das Normale.

      Wenn ich die Schilderung mit der vergleiche, die Steve letztes Jahr ins Netz gebracht hat, dann unterscheidet sich diese jetzt schon von der altbekannten.

      Ein DDoS-Angriff erfordert, daß viele verschiedene Rechner ferngesteuert vom bösen Angreifer das Opfer mit Datenpaketen bewerfen. Die Fernsteuerung erfordert irgendeine Software auf den Helferrechnern, damit der böse Angreifer auch was fernzusteuern hat. Hierbei wird keine IP gespooft, die Helferrechner senden ganz offiziell und ohne Wissen ihrer Besitzer.

      Abhilfe dagegen: Diese IP-Adressen sperren lassen. Ist doof für die, die mit diesen Rechnern dann irgendwann die angegriffene Site besuchen wollen, aber immerhin noch zu bewältigen.

      Das "reflecting" an diesem Angriff ist, daß Helferrechner mit ein wenig SYN-Flooding belastet werden, und dann ihrerseite unwissend zum Angreifer werden.

      Verhindert oder unterdrückt wird diese Attacke dadurch
      bei gut gepfegten Servern, dass diese nur noch Pakete annehmen, dessen Absenderip korrekt ist. Hierzu wird einfach ein Backtrace gemacht,
      also gecheckt ob der Host von dem das Paket kommt, derselbe ist, wie die Absendeip im Paket.

      Geht aber nicht, wenn die Serverleitung überlastet ist. Es handelt sich um bandwidth-flooding - da ist der Sinn, daß kein geordneter Netzwerkverkehr mehr möglich ist, und der Server kann dagegen garnichts tun - auch keine Absender-IP checken. Da muß der vorgelagerte Router aktiv werden, um die dünne Leitung zum Server freizuhalten.

      - Sven Rautenberg

      1. Hi,

        Wenn ich die Schilderung mit der vergleiche, die Steve letztes Jahr ins Netz gebracht hat, dann unterscheidet sich diese jetzt schon von der altbekannten.

        ich weiss nicht was der da letztes Jahr schrieb.
        Das was da jetzt steht und was du folgt beschreibst ist das was ich unter normalen DoS kenne:

        Das "reflecting" an diesem Angriff ist, daß Helferrechner mit ein wenig SYN-Flooding belastet werden, und dann ihrerseite unwissend zum Angreifer werden.

        Das andere verfahren mit Hilfe von Trojaner erfordert, das man erstmal einen Pool von gehackten Servern hat.
        Auch dies wurde gemacht, jedoch nicht letztes Jahrm sondern
        bereits viel früher, nämlich vor 2 Jahren.

        In der Tat gab es richtige Wettläufe zwischen Hackergruppen
        möglichst viele Infizierte Server zu haben, denen man dann auf
        Bedarf Anweisungen schicken konnte.

        Hier gab und gibt es auch einen Handel um die Zugänge..

        Geht aber nicht, wenn die Serverleitung überlastet ist. Es handelt sich um bandwidth-flooding - da ist der Sinn, daß kein geordneter Netzwerkverkehr mehr möglich ist, und der Server kann dagegen garnichts tun - auch keine Absender-IP checken. Da muß der vorgelagerte Router aktiv werden, um die dünne Leitung zum Server freizuhalten.

        Du verwechselts gerade das Ziel/Opfer mit dem "Helfershelfer".
        Der Helfershelfer ist der Host, der das falsche Paket bekommt und dann an das Opfer , als vermeintlicher Absender dann antwortet.
        Der Helfershelfer darf und kann nicht überlastet werden, weil er
        sonst auch nicht das Ziel genug attackieren kann und auch die Wahrscheinlichkeit hoch ist, das er vom Netz genommen wird.

        Bessere Attacken gehen dahin, das man mehr Helfershelfer nimmt (1000 statt nur 100), aber diese jeweils weniger Pakete bekommen, so dass
        kein Admin (so es einen gibt) eines Helfershelfer-Host gleich was merkt.

        Ciao,
          Wolfgang

        1. Re-Moin!

          Geht aber nicht, wenn die Serverleitung überlastet ist. Es handelt sich um bandwidth-flooding - da ist der Sinn, daß kein geordneter Netzwerkverkehr mehr möglich ist, und der Server kann dagegen garnichts tun - auch keine Absender-IP checken. Da muß der vorgelagerte Router aktiv werden, um die dünne Leitung zum Server freizuhalten.

          Du verwechselts gerade das Ziel/Opfer mit dem "Helfershelfer".
          Der Helfershelfer ist der Host, der das falsche Paket bekommt und dann an das Opfer , als vermeintlicher Absender dann antwortet.
          Der Helfershelfer darf und kann nicht überlastet werden, weil er
          sonst auch nicht das Ziel genug attackieren kann und auch die Wahrscheinlichkeit hoch ist, das er vom Netz genommen wird.

          Stimmt. Da hatte ich dich mißverstanden. Deine "Abwehr" setzt bei Servern an, auf die das Opfer keinerlei Einfluß hat. So hast du's ausdrücken wollen, kam aber nicht an. :)

          Und auch das Backtracking dürfte problematisch sein:
          1. Wie willst du herausfinden, ob der Rechner, dessen IP-Adresse im SYN-Paket steht, der Rechner ist, der das Paket abgeschickt hat?
          2. Wie stellst du sicher, daß dein Backtracking nicht das gleiche Ergebnis hat, wie ungeprüfte SYN/ACK-Responses?

          Im Prinzip muß man kontrollieren, ob eine IP (die des Opfers, ausgehend vom Angreifer) unverhältnismäßig viele SYN-Pakete schickt, und die dann ignorieren. Dürfte aber schwierig werden, sowas auf allen Internetservern zu realisieren. Wie erwähnt, wurden ja nicht nur HTTP-Server benutzt, sondern auch Router (bzw. die sind als erstes in Erscheinung getreten mit dem Port 179 für BGP - als die weggefiltert wurden, kamen erst die ganzen SYN/ACKs von HTTP, SSH etc. durch). Im Prinzip kann jeder offene Port für solch eine Attacke mißbraucht werden. Und da gibts reichlich Angebot - nicht zuletzt durch "Universal Plug and Play" von Microsoft, welches TCP-Port 5000 öffnet.

          - Sven Rautenberg

  2. Moin

    Das Wichtigste in Kürze:
    Diese neue Art bezeichnet Steve als "Distributed Reflection DoS". Was passiert (offenbar): Ein böser Angreifer sendet ganz viele Verbindungsanfragen an gut ans Internet angebundene Server mit offenen Ports (z.B. Webserver - HTTP Port 80, oder auch Router - BGP Port 179), aber nicht mit seiner IP-Adresse, sondern mit der Adresse des Opfers. Diese Netzwerkgeräte senden dann dann Verbindungsbestätigungen an das Opfer und fluten es so mit unnützem Netzwerkverkehr. Die Netzwerkleitung des Opfers wird überlastet, keinerlei normale Daten kommen mehr durch.

    Naja, aber du hast bis auf die IP-Addresse keinerlei Bandbreitenvorteil gegenüber einem normalen DoS, d.h. du brauchst zum aussenden der SYN-Packete genausoviel Bandbreite wie nachher an SYN/ACK-Paketen generiert wird. Um einen Server lahmzulegen brauchst du selbst also nach wie vor mehr Bandbreite als dieser Server hat. Und dann kannst du die gespooften Pakete ja gleich an diesen Server senden.

    --
    Henryk Plötz
    Grüße aus Berlin

    1. Re-Moin!

      Naja, aber du hast bis auf die IP-Addresse keinerlei Bandbreitenvorteil gegenüber einem normalen DoS, d.h. du brauchst zum aussenden der SYN-Packete genausoviel Bandbreite wie nachher an SYN/ACK-Paketen generiert wird. Um einen Server lahmzulegen brauchst du selbst also nach wie vor mehr Bandbreite als dieser Server hat. Und dann kannst du die gespooften Pakete ja gleich an diesen Server senden.

      Übliche TCP/IP-Stacks senden SYN/ACK-Pakete bis zu viermal, wenn sie keine Reaktion erhalten. Der Bandbreitenvorteil beträgt also 4:1 für den Angreifer.

      Natürlich ist ein Einzelkämpfer möglicherweise etwas überlastet, einen anderen einzelnen Server lahmzulegen, aber wenn 10 Freunde antreten, oder bereits vorhandene ferngesteuerte Zombies benutzt werden, dann ist das garkein Problem mehr. Und dank der gespooften IP auch absolut nicht zurückzuverfolgen.

      - Sven Rautenberg

      1. Moin,

        Übliche TCP/IP-Stacks senden SYN/ACK-Pakete bis zu viermal, wenn sie keine Reaktion erhalten. Der Bandbreitenvorteil beträgt also 4:1 für den Angreifer.

        Dann ist der IP-Stack des angegriffenen Rechners aber kaputt und hat es nicht besser verdient. Wenn der nämlich ein SYN/ACK für eine Verbindung bekommt die er nicht bestellt hat, sendet er für gewöhnlich ein RST um die Verbindung sofort wieder abzubauen.
        Da hätte der altbekannte direkte Angriff mit SYN-Paketen von gespooften Addressen bessere Chancen den Rechner lahmzulegen. Dann hat der Angegriffene es nämlich nicht nur mit der Bandbreite zu tun, sondern auch mit einer langsam vollaufenden Verbindungsliste. (Vorraussgesetzt die richtigen Rechner hinter den gespooften Addressen antworten nicht, will sagen existieren gar nicht.)

        Natürlich ist ein Einzelkämpfer möglicherweise etwas überlastet, einen anderen einzelnen Server lahmzulegen, aber wenn 10 Freunde antreten, oder bereits vorhandene ferngesteuerte Zombies benutzt werden, dann ist das garkein Problem mehr. Und dank der gespooften IP auch absolut nicht zurückzuverfolgen.

        Das kannst du aber auch direkt haben. Und du würdest dich dann nicht von der Existenz eines weiteren Rechners zum reflektieren abhängig machen. Es könnte evt. Vorteile haben, wenn du den Rechner den du als Reflektor einsetzt auch noch angreifen willst. Das ist wohl wahr.

        --
        Henryk Plötz
        Grüße aus Berlin

        1. Re-Moin!

          Übliche TCP/IP-Stacks senden SYN/ACK-Pakete bis zu viermal, wenn sie keine Reaktion erhalten. Der Bandbreitenvorteil beträgt also 4:1 für den Angreifer.

          Dann ist der IP-Stack des angegriffenen Rechners aber kaputt und hat es nicht besser verdient. Wenn der nämlich ein SYN/ACK für eine Verbindung bekommt die er nicht bestellt hat, sendet er für gewöhnlich ein RST um die Verbindung sofort wieder abzubauen.

          Tja, nur wenn soviele SYN/ACKs kommen, daß die Zuleitung zum angegriffenen Server platzt, dann nützen auch RSTs nichts mehr. :)

          Da hätte der altbekannte direkte Angriff mit SYN-Paketen von gespooften Addressen bessere Chancen den Rechner lahmzulegen. Dann hat der Angegriffene es nämlich nicht nur mit der Bandbreite zu tun, sondern auch mit einer langsam vollaufenden Verbindungsliste. (Vorraussgesetzt die richtigen Rechner hinter den gespooften Addressen antworten nicht, will sagen existieren gar nicht.)

          Dagegen hat man schon Mittel entwickelt: SYN-Cookies oder 'GENESIS' (wobei letzteres von eben jenem Steve Gibson entwickelt wurde). Mit SYN-Flooding kriegt man heute allerhöchstens noch Windows-Kisten vom Netz. ;) Würde ich mal einfach so wild behaupten.

          Natürlich ist ein Einzelkämpfer möglicherweise etwas überlastet, einen anderen einzelnen Server lahmzulegen, aber wenn 10 Freunde antreten, oder bereits vorhandene ferngesteuerte Zombies benutzt werden, dann ist das garkein Problem mehr. Und dank der gespooften IP auch absolut nicht zurückzuverfolgen.

          Das kannst du aber auch direkt haben. Und du würdest dich dann nicht von der Existenz eines weiteren Rechners zum reflektieren abhängig machen. Es könnte evt. Vorteile haben, wenn du den Rechner den du als Reflektor einsetzt auch noch angreifen willst. Das ist wohl wahr.

          Natürlich kann man auch direkt angreifen. Alles, was die Netzanbindung zum Opfer überlastst, ist möglich. Nur hat man beim Reflector-Angriff wirklich keinerlei Möglichkeit mehr, den Urheber herauszufinden, weil ganz normale, als sicher zu betrachtende Netzwerkgeräte gespoofte IP-Pakete erhalten. Man kann also den Sender dieser Pakete nicht mehr ermitteln, und damit auch nicht, ob jemand die Pakete direkt oder via Zombie abgeschickt hat. Eben weil die Absendeadresse gefälscht ist.

          Bei einem herkömmlichen DDoS-Angriff hat man immerhin noch die Chance, das Zombieprogramm auf dem Helferrechner zu finden und zu analysieren.

          Und "Anhängigkeit von existierenden Reflektoren" ist nicht wirklich gegeben: Es gibt in einem Internet mindestens einen Router, der möglicherweise eigene Ports offenhat, und sicherlich auch mehr als einen Server. Da sucht man sich einfach die gut angebundenen heraus, wie z.B. Yahoo, und macht.

          Jedes Traceroute zu irgendeiner IP liefert die Adressen der beteiligten Router. Kurzer Portscan hinterher, ob irgendwelche Ports offen sind, eintragen in die Reflektorliste - fertig.

          - Sven Rautenberg

          1. Hi!
            Ich hab mal ne ganz dumme Nichts-Wisser-Frage:
            Wie kann man bitte mit irgendwelchen Anfragen eine Bandbreite voll bekommen, das ist doch sowas wie HEADER die verschickt werden, als immer nur ein paar Bytes, wie kann man damit eine Anbindung mit z.B. 1Mbit pro Sekunde überlasten??? Müßten ja mehrere Tausend pro Sekunde sein! Oder denke ich da falsch?
            Grüße
              Andreas

            1. Moin!

              Ich hab mal ne ganz dumme Nichts-Wisser-Frage:

              Diese Fragen sind in diesem Zusammenhang immer gut. Dann wird's nicht so fachlich-esoterisch. ;)

              Wie kann man bitte mit irgendwelchen Anfragen eine Bandbreite voll bekommen, das ist doch sowas wie HEADER die verschickt werden, als immer nur ein paar Bytes, wie kann man damit eine Anbindung mit z.B. 1Mbit pro Sekunde überlasten??? Müßten ja mehrere Tausend pro Sekunde sein! Oder denke ich da falsch?

              Richtig, das sind auch soviele.

              Der Bericht von Steve Gibson spricht von über einer Milliarde Paketen, die schließlich gefiltert wurden, um den normalen Betrieb wiederherzustellen. Und das innerhalb weniger Stunden.

              Rechnen wir mal zusammen: Ein TCP-Paket von der Art, das hier verwendet wurde, ist klein. 64 Byte sollten als Daumenwert ausreichen. (Kleinere Pakete gibts AFAIK sowieso nicht, wenn man Ethernet benutzt).

              Die Angriffsdauer bzw. die Zeit, in dem die Filter erfolgreich arbeiteten (bis der Angriff dann aufhörte) rechnen wir mal mit 12 Stunden = 720 Minuten = 43200 Sekunden.

              1 Milliarde Pakete á 64 Byte sind 64.000.000.000 Byte. Oder auch 59 Gigabyte!

              Das verteilt auf 43200 Sekunden sind 1481481,481 Byte pro Sekunde. Also 1,412 Megabyte pro Sekunde. Oder eben 14,12 Megabit (grob gerechnet). Und das lastet eine 2-MegaBit-Leitung eben aus. ;)

              Selbstverständlich kriegt man damit Yahoo nicht ausgeschaltet. Die stecken das locker weg. Aber wenn sich die gesamte Welt auf Yahoo stürzen würde, dann sähe es anders aus.

              Den Effekt konnte man am 11. September 2001 beobachten: Praktisch alle Server von Nachrichtensendern/-lieferanten waren nicht erreichbar, weil die gesamte Welt zugreifen wollte. Erst der Einsatz bandbreitenschonender Techniken wie Verzicht auf Bilder, Werbung und Flash, und das Ausweichen auf mehrere Spiegelserver an anderen Standorten hat den Datenfluß wieder einigermaßen in Gang gebracht.

              - Sven Rautenberg