Angriffe auf die Anwendungsebene - AWS bewährte Methode für DDoS-Ausfallsicherheit

Angriffe auf die Anwendungsebene

Ein Angreifer kann auf die Anwendung selbst zielen, indem er einen Layer 7- oder Application-Layer-Angriff verwendet. Bei diesen Angriffen versucht der Angreifer, ähnlich wie bei Angriffen auf die SYN-Flood-Infrastruktur, bestimmte Funktionen einer Anwendung zu überlasten, damit die Anwendung nicht verfügbar ist oder für legitime Benutzer nicht mehr reagiert. Manchmal kann dies mit sehr geringen Anforderungsvolumina erreicht werden, die nur ein geringes Volumen an Netzwerkverkehr erzeugen. Damit wird der Angriff schwieriger zu erkennen und zu vermeiden. Beispiele für Angriffe auf die Anwendungsebene sind HTTP-Floods, Cache-Busting-Angriffe und XML-RPC-Floods in WordPress.

Bei einem HTTP-Flood-Angriff sendet der Angreifer HTTP-Anforderungen, die scheinbar von einem echten Benutzer der Webanwendung stammen. Einige HTTP-Floods zielen auf eine bestimmte Ressource ab, während komplexere HTTP-Floods versuchen, die menschliche Interaktion mit der Anwendung nachzuahmen. Damit kann es schwer werden, allgemeine Vermeidungstechniken wie die Einschränkung der Anforderungsrate einzusetzen.

Cache-Busting-Angriffe sind eine Art von HTTP-Flood, die Variationen in der Abfragezeichenfolge verwendet, um das Caching des Content Delivery Network (CDN) zu umgehen. Anstatt zwischengespeicherte Ergebnisse zurückgeben zu können, muss das CDN bei jeder Seitenanforderung den Original-Server kontaktieren, und diese Originalabrufe belasten den Anwendungswebserver zusätzlich.

Mit einem WordPress-XML-RPC-Flood-Angriff, auch als WordPress-Pingback-Flood bekannt, zielt ein Angreifer auf eine Website ab, die auf der WordPress-Content-Management-Software gehostet wird. Der Angreifer missbraucht die API-Funktion XML-RPC, um eine Flut von HTTP-Anfragen zu generieren. Mit der Pingback-Funktion kann eine auf WordPress gehostete Website (Website A) eine andere WordPress-Website (Website B) über einen Link benachrichtigen, dass Website A einen Link auf Website B erstellt hat. Daraufhin versucht Website B, Website A abzurufen, um das Vorhandensein des Links zu überprüfen. Bei einem Pingback-Flood missbraucht der Angreifer diese Funktion, damit Website B Website A angreift. Diese Art von Angriff hat eine eindeutige Signature: WordPress ist normalerweise im User-Agent des HTTP-Anforderungsheader vorhanden.

Es gibt andere Formen von bösartigem Datenverkehr, die sich auf die Verfügbarkeit einer Anwendung auswirken können. Scraper-Bots automatisieren Zugriffsversuche auf eine Webanwendung, um Inhalte zu stehlen oder Wettbewerbsinformationen wie die Preisgestaltung aufzuzeichnen. Brute-Force- und Credential Stuffing-Angriffe sind programmierte Maßnahmen, um unbefugten Zugriff auf sichere Bereiche einer Anwendung zu erhalten. Dies sind keine reinen DDoS-Angriffe; aber ihr automatisierter Charakter kann einem DDoS-Angriff ähneln und sie können durch die Implementierung einiger der gleichen Best Practices, die in diesem Dokument behandelt werden, abgewehrt werden.

Angriffe auf die Anwendungsebene können außerdem auf DNS-Services (Domain Name System) ausgerichtet sein. Bei den meisten Angriffen dieser Art handelt es sich um DNS-Abfrage-Floods, bei denen ein Angreifer viele wohlgeformte DNS-Abfragen nutzt, um die Ressourcen eines DNS-Servers zu überlasten. Solche Angriffe können auch eine Cache-Busting-Komponente enthalten, bei der der Angreifer die Zeichenfolge der Subdomain zufällig festlegt, um den lokalen DNS-Cache eines bestimmten Resolvers zu umgehen. Daher kann der Resolver die zwischengespeicherten Domain-Abfragen nicht nutzen und muss stattdessen wiederholt den autorisierenden DNS-Server kontaktieren, was den Angriff verstärkt.

Wenn eine Webanwendung über Transport Layer Security (TLS) bereitgestellt wird, kann ein Angreifer auch den TLS-Verhandlungsprozess angreifen. TLS ist rechenaufwendig, sodass ein Angreifer, indem er zusätzliche Arbeitslast auf dem Server generiert, um unlesbare Daten (oder unverständliche (Geheimtext)) als legitimen Handshake zu verarbeiten, die Verfügbarkeit des Servers verringern kann. In einer Variante dieses Angriffs schließt ein Angreifer den TLS-Handshake ab, verhandelt jedoch ständig die Verschlüsselungsmethode neu. Ein Angreifer kann alternativ versuchen, Serverressourcen zu erschöpfen, indem er viele TLS-Sitzungen öffnet und schließt.