Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 12729|Antwort: 1

[Technische Analyse] Tiefgründig und leicht verständlich: Einführung in den Angriff von Netzwerkangriffen und -verteidigung

[Link kopieren]
Veröffentlicht am 25.10.2014 21:04:02 | | |
1. DDoS-Angriffsgrundlagen

DDoS-Angriffe (Distributed Denial of Service) gehören zu den mächtigsten und schwierigsten Angriffen, gegen die man sich verteidigen kann, da der Hauptzweck von DDoS-Angriffen darin besteht, ein bestimmtes Ziel daran zu hindern, normale Dienste bereitzustellen oder sogar aus dem Internet zu verschwinden.

DDoS kann einfach in drei Kategorien unterteilt werden, je nachdem, wie sie initiiert werden.

Die erste Kategorie gewinnt mit GewaltMassive Datenpakete strömen aus allen Ecken des Internets, blockieren den Zugang zu IDC, machen verschiedene leistungsstarke Hardware-Verteidigungssysteme sowie schnelle und effiziente Notfallprozesse nutzlos. Typische Beispiele für diese Art von Angriff sind ICMP Flood und UDP Flood, die heute selten sind.

Die zweite Kategorie gewinnt durch Cleverness, intelligent und unmerklich, kann das Versenden eines Pakets alle paar Minuten oder sogar nur ein Paket benötigen, dazu führen, dass der luxuriöse Konfigurationsserver nicht mehr reagiert. Diese Art von Angriff wird hauptsächlich durch Ausnutzung von Schwachstellen in Protokollen oder Software ausgelöst, wie Slowloris-Angriffe, Hash-Kollisionsangriffe usw., und erfordert spezifische Umweltzufälle.

Die dritte Kategorie ist eine Mischung aus den beiden oben genanntenEs nutzt nicht nur die Mängel des Protokolls und Systems aus, sondern hat auch eine große Menge an Datenverkehr, wie zum Beispiel einen SYN Flood-Angriff und den DNS Query Flood-Angriff, was die aktuelle gängige Angriffsmethode ist.

Dieser Artikel beschreibt diese gebräuchlichsten und repräsentativsten Angriffsmethoden nacheinander und stellt ihre Verteidigungsoptionen vor.

1.1. SYN-Flut

SYN Flood ist einer der klassischsten DDoS-Angriffe im Internet und tauchte erstmals um 1999 auf, wobei Yahoo damals das bekannteste Opfer war. SYN Flood-Angriffe nutzen TCP-Dreifach-Handshake-Fehler, die den Zielserver wirkungslos und schwer nachverfolgbar machen können, was zu geringen Kosten führt.

Der Standard-TCP-Drei-Wege-Handshake-Prozess ist wie folgt:

  • Der Client sendet ein TCP-Paket mit der SYN-Flagge, SYN ist synchronisiert, und das Synchronisationspaket gibt den vom Client verwendeten Port sowie die anfängliche Seriennummer der TCP-Verbindung an.
  • Nach Erhalt des SYN-Pakets vom Client gibt der Server ein SYN+ACK-Paket (d. h. Bestätigungsbestätigung) zurück, das anzeigt, dass die Anfrage des Clients angenommen wurde, und die TCP-Initialseriennummer wird automatisch um 1 hinzugefügt.
  • Der Client gibt außerdem eine Bestätigungsnachricht ACK an den Server zurück, und die TCP-Seriennummer wird ebenfalls um 1 hinzugefügt.

Nach diesen drei Schritten wird die TCP-Verbindung hergestellt. Um eine zuverlässige Übertragung zu gewährleisten, hat das TCP-Protokoll während der drei Handshakes einige Mechanismen zur Bearbeitung von Ausnahmen eingerichtet. Im dritten Schritt, wenn der Server das letzte ACK-Bestätigungspaket vom Client nicht erhält, bleibt der Server im SYN_RECV-Zustand, fügt die Client-IP-Adresse zur Warteliste hinzu und sendet im zweiten Schritt das SYN+ACK-Paket erneut. Wiederveröffentlichungen werden in der Regel 3-5 Mal durchgeführt, und die Warteliste wird einmal in Abständen von etwa 30 Sekunden abgefragt, um alle Kunden erneut zu versuchen. Andererseits verteilt der Server nach dem Versand des SYN+ACK-Pakets Ressourcen vor, um Informationen für die bevorstehende TCP-Verbindung zu speichern, die während des Wartens auf den erneuten Versuch erhalten bleiben. Wichtiger noch: Wenn die Serverressourcen begrenzt sind, akzeptiert der SYN_RECV Zustand, der aufrechterhalten werden kann, nach Überschreitung des Limits keine neuen SYN-Pakete mehr, das heißt, neue TCP-Verbindungen werden abgelehnt.

SYN Flood verwendet die oben genannten TCP-Protokolleinstellungen, um den Zweck des Angriffs zu erreichen. Angreifer tarnen eine große Anzahl von IP-Adressen, um SYN-Pakete an den Server zu senden, und da gefälschte IP-Adressen nahezu unmöglich existieren, wird fast kein Gerät eine Antwort an den Server zurückgeben. Infolgedessen führt der Server eine riesige Warteliste und versucht immer wieder, SYN+ACK-Pakete zu senden, was viele Ressourcen verbraucht und nicht freigegeben werden kann. Noch wichtiger ist, dass die SYN_RECV Warteschlange des angegriffenen Servers mit bösartigen Paketen gefüllt ist, neue SYN-Anfragen nicht mehr angenommen werden und legitime Nutzer keine drei Handshakes durchführen können, um TCP-Verbindungen herzustellen. Mit anderen Worten: Der Server wurde von SYN Flood nicht bedient.

Wenn Sie sich für SYN Flood interessieren, können Sie sich das http://www.icylife.net/yunshu/show.php?id=367 ansehen, das ich 2006 geschrieben habe, später mehrere Änderungen vorgenommen, Fehler behoben, die Aggressivität reduziert und ausschließlich zum Testen verwendet wurde.

1.2. DNS-Abfrageflut

Als der grundlegendste und zentrale Dienst des Internets ist DNS naturgemäß eines der wichtigen Ziele von DDoS-Angriffen. Das Ausschalten eines DNS-Dienstes kann indirekt das gesamte Geschäft eines Unternehmens oder einen Netzwerkdienst in einer Region lahmlegen. Vor einiger Zeit kündigte die beliebte Hackergruppe Anonymous ebenfalls an, 13 DNS-Server im globalen Internet anzugreifen, doch letztlich gelang es nicht.

UDP-Angriffe sind die einfachste Angriffsmethode, um massiven Datenverkehr zu initiieren, und zufällige IP-Fälschungen sind schwer nachzuverfolgen. Das Filtern ist jedoch einfacher, weil die meisten IPs keine UDP-Dienste anbieten, sodass man UDP-Verkehr einfach verwerfen kann. Daher sind reine UDP-Verkehrsangriffe heute relativ selten und werden durch DNS Query Flood-Angriffe ersetzt, die vom UDP-Protokoll übertragen werden. Kurz gesagt: DDoS-Angriffe, die auf dem höheren Protokoll gestartet werden, desto schwieriger ist es zu verteidigen, denn je höher das Protokoll, desto geschäftsbezogener ist es und desto komplexer ist das Verteidigungssystem.

DNS Query Flood ist, wenn ein Angreifer eine große Anzahl von Sockpuppet-Maschinen manipuliert, um eine große Anzahl von Domain-Name-Abfrageanfragen an das Ziel zu senden. Um ACL-basierte Filterung zu verhindern, muss die Paketzufälligkeit verbessert werden. Eine gängige Praxis ist, die Quell-IP-Adresse zufällig zu fälschen, den Quellport zufällig zu schmieden und weitere Parameter auf der UDP-Schicht. Auf der DNS-Protokollschicht wird die Abfrage-ID zufällig zusammen mit dem zu lösenden Domainnamen gefälscht. Neben der Verhinderung von Filtern können zufällig gefälschte Domainnamen, die aufgelöst werden sollen, auch die Wahrscheinlichkeit verringern, den DNS-Cache zu treffen, und so viele CPU-Ressourcen wie möglich des DNS-Servers beanspruchen.

Bezüglich des Codes für DNS Query Flood habe ich im Juli 2011 einen Code geschrieben, um die Serverleistung zu testen, und der Link ist http://www.icylife.net/yunshu/show.php?id=832. Ähnlich ist dieser Code künstlich weniger aggressiv und dient nur Testzwecken.

1.3. HTTP-Flood

Der oben beschriebene SYN Flood und DNS Query Flood können in dieser Phase effektiv abgewehrt werden, und das eigentliche Problem für große Hersteller und Internetunternehmen sind HTTP Flood-Angriffe. HTTP Flood ist ein Angriff auf einen Webservice auf einem siebten Schichtprotokoll. Sein großer Schaden zeigt sich hauptsächlich in drei Aspekten: bequeme Initiierung, schwierige Filterung und weitreichende Auswirkungen.

Sowohl SYN Flood als auch DNS Query Flood erfordern von Angreifern, eine große Anzahl von Bots mit Root-Rechten zu kontrollieren. Es kostet Zeit und Aufwand, eine große Anzahl von Root-Privilegien zu sammeln, und während des Angriffs ist die Puppet-Maschine langsam beim Auffüllen, da der Angreifer schnell Ressourcen durch den vom Administrator entdeckten abnormalen Datenverkehr verloren hat, was zu einer erheblichen Verringerung der Angriffsintensität führt und nicht lange aufrechterhalten werden kann. HTTP-Flood-Angriffe sind anders: Angreifer müssen keine große Anzahl von Bots kontrollieren, sondern stattdessen Portscanner nutzen, um anonyme HTTP-Proxys oder SOCKS-Proxys im Internet zu finden, über die der Angreifer HTTP-Anfragen an das Angriffsziel initiiert. Anonyme Proxys sind eine relativ reiche Ressource, und es ist nicht schwer, innerhalb weniger Tage Proxys zu erhalten, sodass Angriffe leicht zu starten sind und lange andauern können.

Andererseits werden HTTP-Flood-Angriffe auf der HTTP-Ebene gestartet, die das Verhalten normaler Nutzer bei Webseitenanfragen stark nachahmt, was eng mit dem Website-Geschäft verwandt ist, was es Sicherheitsanbietern erschwert, eine gemeinsame Lösung anzubieten, die das Nutzererlebnis nicht beeinträchtigt. Regeln, die an einem Ort gut funktionieren, können Szenarien mit wechselnden Situationen zu einer großen Zahl von Totschlag führen.

Schließlich können HTTP-Flood-Angriffe ernsthafte Kettenreaktionen auslösen, die nicht nur direkt eine langsame Reaktion des angegriffenen Web-Frontends verursachen, sondern auch indirekt das Backend-Java sowie andere Geschäftsschicht-Logik und Backend-Datenbankdienste angreifen, deren Druck erhöhen und sogar die Logspeicherserver beeinträchtigen.

Interessanterweise hat HTTP Flood auch einen historischen Spitznamen namens CC-Angriff. CC ist eine Abkürzung für Challenge Collapsar, ein DDoS-Schutzgerät eines bekannten Sicherheitsunternehmens in China. Angesichts der aktuellen Situation wird nicht nur Collapsar, sondern auch alle Hardware-Verteidigungsanlagen weiterhin herausgefordert, und das Risiko ist nicht beseitigt worden.

1.4. Langsame Verbindungsangriffe

Bei Angriffen ist die erste Reaktion massiver Datenverkehr und riesige Pakete. Aber es gibt einen Angriff, der das Gegenteil bewirkt, bekannt für seine Langsamkeit, sodass einige Angriffsziele getötet werden, ohne zu wissen, wie sie sterben, nämlich der langsame Verbindungsangriff, der repräsentativste ist Slowloris, erfunden von rsnake.

Das HTTP-Protokoll schreibt vor, dass HTTP-Anfragen auf \r\n\r\n enden, was anzeigt, dass der Client das Senden abgeschlossen hat und der Server mit der Verarbeitung begonnen hat. Was passiert also, wenn du nie \r\n\r\n schickst? Slowloris nutzt dies zu seinem Vorteil bei DDoS-Angriffen. Der Angreifer stellt die Verbindung im HTTP-Anforderungsheader auf Keep-Alive, bittet den Webserver, die TCP-Verbindung nicht getrennt zu halten, und sendet dann alle paar Minuten langsam ein Schlüssel-Wert-Format an den Server, wie zum Beispiel a:b\r\n, wodurch der Server denkt, der HTTP-Header sei nicht empfangen und wartet. Wenn ein Angreifer Multithreading oder eine Marionette verwendet, wird der Webcontainer des Servers schnell vom Angreifer überwältigt und akzeptiert keine neuen Anfragen mehr.

Bald tauchten verschiedene Varianten von Slowloris auf. Zum Beispiel sendet die POST-Methode Daten an den Webserver, füllt eine große Inhaltslänge, aber langsame POST-Dateninhalte Byte für Byte usw. Bezüglich des Slowloris-Angriffs gibt rsnake auch einen Testcode an, siehe http://ha.ckers.org/slowloris/slowloris.pl.

2. DDoS-Angriff fortgeschritten2.1. Hybridangriffe

Das Obige stellt mehrere grundlegende Angriffsmethoden vor, von denen jede genutzt werden kann, um das Netzwerk anzugreifen und sogar riesige Webseiten wie Alibaba, Baidu und Tencent zu besiegen. Aber das ist noch nicht alles, verschiedene Angreiferstufen können völlig unterschiedliche DDoS-Angriffe starten, und deren Einsatz ist dasselbe.

Fortgeschrittene Angreifer verwenden nie einen einzigen Angriffsvektor, sondern kombinieren diese flexibel je nach Zielumgebung. Gewöhnliches SYN Flood lässt sich leicht von Verkehrsreinigungsgeräten durch Reverse Detection, SYN-Cookies und andere technische Mittel herausfiltern, aber wenn SYN+ACK-Pakete in SYN Flood gemischt werden, sodass jedes gefälschte SYN-Paket ein entsprechendes gefälschtes Client-Bestätigungspaket hat, bezieht sich das entsprechende hier auf die Quell-IP-Adresse, den Quellport, die Ziel-IP, den Zielport, die TCP-Fenstergröße, TTL usw., die alle mit den Eigenschaften desselben Hosts und gleichen TCP-Flows übereinstimmen. Der Druck auf die Leistung der Rückwärtserkennung und der SYN-Cookies von Flow-Reinigungsgeräten wird deutlich zunehmen. Tatsächlich haben SYN-Datenpakete und verschiedene andere Flag-Bits spezielle Angriffseffekte, die hier nicht eingeführt werden. Es gibt auch einzigartige Techniken für DNS Query Flood.

Zunächst einmal kann DNS in gewöhnlichen DNS und autorisierte Domänen-DNS unterteilt werden, wobei gewöhnliches DNS angegriffen wird, die IP-Adresse muss zufällig gefälscht werden und der Server rekursive Auflösung benötigt; Beim Angriff auf die autorisierte Domain-DNS sollte die gefälschte Quell-IP-Adresse jedoch nicht rein zufällig sein, sondern die DNS-Adressen von Internetanbietern weltweit, die im Voraus gesammelt wurden, um den maximalen Angriffseffekt zu erzielen, sodass das Traffic Clearing-Gerät in der peinlichen Situation ist, eine IP-Blacklist hinzuzufügen oder nicht hinzuzufügen. Das Hinzufügen führt zu einer großen Anzahl von Totschlagsfällen, und wenn du keine schwarze Liste hinzufügst, muss jedes Paket rückwärts untersucht werden, was den Leistungsdruck erhöht.

Andererseits ist es, wie bereits erwähnt, notwendig, um den Druck bei der Reinigung des Geräts zu erhöhen, den angeforderten Domainnamen zufällig zu gestalten, ohne den Cache zu treffen, aber es sollte beachtet werden, dass der zu lösende Domainname eine gewisse Regelmäßigkeit in der Fälschung aufweisen muss, etwa indem nur ein bestimmter Teil des Domainnamens gefälscht und ein Teil gefestigt wird, um die vom Reinigungsgerät gesetzte Whitelist zu durchbrechen. Der Grund ist einfach: Die Server von Tencent können nur Tencents Domainnamen auflösen, und völlig zufällige Domainnamen können direkt verworfen werden und müssen festgelegt werden. Aber wenn es komplett repariert ist, kann es leicht direkt verworfen werden, daher muss es gefälscht werden.

Zweitens sollten sich Angriffe auf DNS nicht ausschließlich auf UDP-Ports konzentrieren, die ebenfalls Standarddienste gemäß dem DNS-Protokoll sind. Im Falle eines Angriffs können sowohl UDP- als auch TCP-Angriffe gleichzeitig durchgeführt werden.

Der Fokus von HTTP Flood liegt darauf, den Cache im Frontend zu durchbrechen und direkt über die Feldeinstellungen im HTTP-Header den Webserver selbst zu erreichen. Darüber hinaus ist HTTP Flood ebenfalls sehr wichtig für die Auswahl der Ziele, und gewöhnliche Angreifer wählen Seiten, die viele Datenabfragen erfordern, wie zum Beispiel die Suche als Angriffsziel, was sehr korrekt ist und so viele Ressourcen wie möglich vom Server verbrauchen kann. Aber dieser Angriff lässt sich leicht durch Reinigungsgeräte durch die Mensch-Maschine-Identifikation erkennen – wie kann dieses Problem gelöst werden? Es ist ganz einfach: Versuche, Seiten auszuwählen, auf die normale Nutzer auch über die App zugreifen, im Allgemeinen verschiedene Web-APIs. Normale Nutzer und bösartiger Datenverkehr stammen aus der APP, und der Unterschied zwischen Mensch und Maschine ist sehr gering, sodass es schwierig ist, die grundlegende Integration zu unterscheiden.

Jede TCP-Verbindung existiert sowohl auf der Serverseite als auch auf sich selbst, und sie muss außerdem Ressourcen verbrauchen, um den TCP-Zustand aufrechtzuerhalten, sodass die Verbindung nicht zu sehr aufrechterhalten werden kann. Wenn dies gelöst werden kann, wird die Aggressivität erheblich erhöht, das heißt, Slowloris kann Angriffe zustandslos starten, die TCP-Seriennummer erfassen und die Wartung der TCP-Verbindungen auf dem Client durch Sniffen bestätigen, und der Systemkernel muss auf verschiedene TCP-Zustandsänderungen achten, sodass ein Notebook bis zu 65.535 TCP-Verbindungen erzeugen kann.

Die vorherigen Beschreibungen sind alle technische Angriffsverbesserungen. Auf menschlicher Seite gibt es andere Möglichkeiten. Wenn SYN Flood eine große Anzahl von Paketen aussendet und von langsamen Verbindungen von Slowloris begleitet wird, wie viele Leute werden das Geheimnis entdecken? Selbst wenn der Server ausfällt, können nur SYN-Angriffe gefunden werden, die versuchen, die TCP-Schicht-Bereinigung zu stärken und das Verhalten der Anwendungsschicht zu ignorieren. Alle Arten von Angriffen können zusammenarbeiten, um maximale Wirkung zu erzielen. Die Wahl der Angriffszeit ist ebenfalls ein entscheidender Punkt, etwa die Auswahl von Wartungspersonal während des Mittagessens, wenn Wartungspersonal nach Feierabend auf der Straße festsitzt oder wenn es kein Signal auf der drahtlosen Netzwerkkarte in der U-Bahn gibt und wenn das Zielunternehmen eine groß angelegte Veranstaltung abhält und der Verkehr stark ansteigt.

Dies ist ein reiner Angriff, daher wird kein Code oder eine ausführliche Erklärung bereitgestellt.

2.2. Angriffe aus P2P-Netzwerken

Die bisherigen Angriffsmethoden erfordern mehr oder weniger einige Bots, selbst HTTP Flood erfordert die Suche nach einer großen Anzahl anonymer Proxys. Wenn es einen Angriff gibt, musst du nur einige Anweisungen geben, und die Maschine kommt automatisch hoch, um ihn auszuführen, was die perfekte Lösung ist. Dieser Angriff ist bereits aufgetreten, und zwar von P2P-Netzwerken.

Wie wir alle wissen, sind P2P-Nutzer und der Internetverkehr eine extrem große Zahl. Wenn sie alle an einen bestimmten Ort gehen, um Daten herunterzuladen und Tausende von echten IP-Adressen zu verbinden, kann kein Gerät das unterstützen. Nehmen wir BT-Download als Beispiel: Das Fälschen von Torrents einiger beliebter Videos und das Posten dieser Videos in Suchmaschinen reicht aus, um viele Nutzer und den Traffic zu täuschen, aber das ist nur ein einfacher Angriff.

Fortgeschrittene P2P-Angriffe sind direkte Fälschung von Ressourcenmanagement-Servern. Zum Beispiel lädt der Thunder-Client die gefundenen Ressourcen auf den Ressourcenverwaltungsserver hoch und leitet sie dann an andere Nutzer weiter, die dieselben Ressourcen herunterladen müssen, sodass ein Link veröffentlicht wird. Durch Protokollumkehr fälschen Angreifer eine große Menge populärer Ressourceninformationen und verteilen sie über das Ressourcenmanagementzentrum, das sofort im gesamten P2P-Netzwerk verteilt werden kann. Noch beängstigender ist, dass dieser Angriff nicht gestoppt werden kann, nicht einmal vom Angreifer selbst, und der Angriff weitergeht, bis der P2P-Offizielle das Problem entdeckt, den Server aktualisiert und der Download-Nutzer die heruntergeladene Software neu startet.

3. Zusammenfassung

Das ist alles, was die Einführung in DDoS-Angriffe zu bieten hat, und ich möchte nicht weiter darauf eingehen – es reicht zu verstehen, dass so viel Verteidigung genug ist.

Im Allgemeinen können DDoS-Angriffe geschickt und elegant sein. Die Schönheit der Anwendung liegt in der Einheit des Geistes.





Vorhergehend:Kostenloser Internetzugang, kostenloser Zugang zu CMCC mit QQWifi usw
Nächster:Nehmen Sie ab und suchen Sie den ultimativen Trick
Veröffentlicht am 25.10.2014 21:46:21 |
Gut zusammengefasst
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com