Application layer DDoS-attacker, och hur de kan mildras

Application layer DDoS-attacker, och hur de kan mildras

applikations-DDoS-attacker

DDoS (distribuerad överbelastningstjänst) och DoS (avslag på service) attacker kan i stort delas in i tre kategorier baserat på de OSI-lager de riktar sig mot: nätverkslager (Lager 3), transportlager (Lager 4), och applikationslager (Lager 7).

Lager 3 och Lager 4 attacker är vanligtvis mindre komplexa–även om de kan vara mycket svåra att mildra–och involverar att översvämma nätverks- och transportlagret med trafik, överbelasta målsystemets resurser och göra det otillgängligt för legitima användare. Dessa typer av attacker kan utföras med olika tekniker såsom ICMP-översvämningar, TCP SYN-översvämningar, eller UDP-översvämningar.

En ICMP-översvämning till exempel, är en Lager 3 attack där ett stort antal ICMP-paket skickas till målsystemet, som gör det oresponsivt. En TCP SYN-översvämning, å andra sidan, är ett lager 4 attack som utnyttjar sättet TCP-anslutningar upprättas på.

Vid en SYN-flood-attack, skickar angriparen många SYN-paket till målsystemet, men skickar aldrig ett ACK-paket för att slutföra anslutningen. Detta får systemet att tilldela resurser för varje anslutningsförsök vilket till slut överbelastar systemet och gör det otillgängligt för legitima användare. En UDP-flood skickar ett stort antal UDP-paket till ett målsystem, vilket förbrukar dess resurser och gör det oresponsivt.

Application layer DDoS-attacker

Programvarulagerattacker är mer komplexa och svårare att motverka än lager 3 och lager 4 attacker. Dessa attacker riktar sig mot applikationslagret (lager 7) i målsystemet och utnyttjar sårbarheter i själva applikationen. Lager 7 attacker kan orsaka mer skada eftersom de kan påverka applikationer och underliggande infrastruktur direkt. Du kommer inte kunna mildra lager 7 DDoS-attacker med lager 3 eller lager 4 verktyg som med nätverksbrandväggar.

HTTP-floder, Slowloris-attacker, och DNS-förstärkningsattacker är lager 7 denial-of-service-attacker. Dessa attacker kräver mer avancerade försvar som applikationslager-brandväggar, intrångsförebyggande system, och CDN (nätverk för innehållsleverans).

HTTP-floder

HTTP-flodattacker utförs med GET- eller POST-förfrågningar för att överväldiga målservern. Flodattacker med GET-förfrågningar är vanligtvis enklare och kräver färre resurser eftersom de bara begär information från servern. POST-förfrågningar, å andra sidan, kräver normalt att stora mängder data skickas.

En av anledningarna till att HTTP-flodattacker är svåra att mildra är att de ofta startas från ett stort antal källor, vilket gör det svårt att identifiera och blockera all skadlig trafik. Dessutom, kan angripare använda tekniker som IP-spoofing för att dölja sina verkliga identiteter och göra det ännu svårare att spåra källan till deras attacker.

Att försvara sig mot HTTP-flood-attacker kan vara komplicerat. Olika typer av attacker kräver olika åtgärdsstrategier. Vanliga försvar mot HTTP-flood-attacker inkluderar hastighetsbegränsning, svartlistning, och brandväggar för webbapplikationer. Dock, kan dessa tekniker vara resurskrävande och kanske inte tillräckliga för att stoppa mer sofistikerade attacker.

Slowloris-attacker

Slowloris är en typ av flodområde där sättet webbservrar hanterar klientanslutningar riktas. Denna attack fungerar genom att öppna ett stort antal anslutningar till servern, men skicka förfrågningarna i en långsam takt, att hålla varje anslutning öppen så länge som möjligt. Denna typ av attack kan förbruka alla tillgängliga resurser på servern och tillåter angripare att förbruka CPU, minne, eller nätverksbandbredd, etc. utan att ens utlösa de typiska hastighetsbegränsningarna och trafikfiltreringsmekanismer som vanligtvis används för att upptäcka och blockera andra typer av DDoS-attacker.

För att genomföra en Slowloris-attack, använder angripare vanligtvis skript eller verktyg som skickar HTTP-förfrågningar till en server, men avsiktligt fördröjer att skicka efterföljande förfrågningar. Förfrågan är utformad för att se ut som en legitim förfrågan, men med en ofullständig header som håller anslutningen öppen på obestämd tid. Med tiden, kommer servern att ha många öppna anslutningar som väntar på ytterligare data från klienten, vilket gör att servern slutar att svara på legitim trafik.

Slowloris-attacker kan vara svåra att upptäcka på grund av deras dolda utformning och relativt låga bandbredd. Detta gör det till ett effektivt verktyg för angripare som vill sabotera sina servrar utan att utlösa larm eller skapa misstankar. För att försvara sig mot Slowloris-attacker, webbservrar kan implementera flera motåtgärder. Till exempel, begränsa antalet anslutningar som kan upprättas från en enskild IP-adress eller ställa in en timeout för ofullständiga förfrågningar. Vissa webbapplikationsbrandväggar och DDoS-mitigeringsjänster har inbyggt skydd mot Slowloris-attacker, genom att använda algoritmer som kan upptäcka och blockera sådan trafik i realtid.

Lager 7 DDoS-mitigatorer

Hastighetsbegränsning

Ratebegränsning innebär att sätta en gräns för antalet förfrågningar som kan göras från en specifik IP-adress eller användaragenter under en viss tidsperiod. Konceptet är mycket likt ratebegränsning på lager 3 men det måste implementeras på lager 7.

Syftet med ratebegränsning är att förhindra att en angripare överbelastar webbapplikationen med ett stort antal förfrågningar, vilket orsakar störningar på servern. Ratebegränsning kan implementeras på olika lager i din webbapplikationsarkitektur, på en webbserver, lastbalanserare, eller applikationsbrandvägg. Implementeringar innebär vanligtvis att man spårar antalet förfrågningar som görs från en viss IP-adress eller användaragenter och blockerar ytterligare förfrågningar när en fördefinierad gräns uppnås.

Ett vanligt tillvägagångssätt för att implementera hastighetsbegränsning i webbapplikationer är att använda mellanprogramvara eller plugins som spårar antalet förfrågningar som görs av varje klient och blockerar ytterligare förfrågningar när gränsen överskrids. Dessa plugins kan konfigureras för att tillämpa olika policyer för hastighetsbegränsning baserat på faktorer som typen av förfrågan, användaragent, eller klient-IP-adress.

Till exempel, en enkel policy för hastighetsbegränsning kan begränsa förfrågningar från en enskild IP-adress till maximalt 10 förfrågningar per minut. Om en klient överskrider denna gräns, blockeras efterföljande förfrågningar tills perioden löper ut.

Produkter för hastighetsbegränsning på applikationsnivå finns tillgängliga för populära webbservrar och molntjänster, inklusive:

Apache

Apache har flera moduler som kan användas för hastighetsbegränsning, såsom mod_limitipconn, som begränsar antalet samtidiga anslutningar från en given IP-adress, och mod_qos, som tillhandahåller olika kvalitetskontroller av tjänster inklusive hastighetsbegränsning.

Dessutom, ModSecurity Web Application Firewall har en hastighetsbegränsande funktion som kan blockera klienter som överskrider en definierad tröskel. Utöver de ovan nämnda modulerna, tillhandahåller Apache även mod_evasive. Detta är en modul som kan användas för att begränsa och blockera klienter som överskrider en definierad tröskel. Upptäcka och blockera ogiltigförklarade klienter med hjälp av olika tekniker, inklusive IP- och användaragentspårning.

Nginx

Nginx tillhandahåller ngx_http_limit_req modul. Detta kan användas för att begränsa begärandelat från vissa klienter baserat på IP-adress eller andra faktorer. Denna modul använder en tokenbucket-algoritm för att tilldela tokens till varje klient baserat på en hastighetsbegränsningspolicy. Förutom ngx_http_limit_req-modulen, Tillhandahåller Nginx även ngx_http_limit_conn-modulen. Denna kan användas för att begränsa antalet anslutningar från specifika klienter eller IP-adresser. Denna modul använder en tokenbucket-algoritm för att tilldela tokens baserat på hastighetsbegränsningspolicyer.

IIS

Microsofts Internet Information Services (IIS) inkluderar en dynamisk IP-begränsningsmodul som kan användas för hastighetsbegränsning. Denna modul kan konfigureras för att blockera förfrågningar från IP-adresser som överskrider fördefinierade gränser och kan också tillhandahålla varningar och loggar för övervakning. Förutom Dynamic IP Limiting-modulen, IIS also provides a Request Filtering module that can be used to limit the request rate of specific clients based on various criteria such as IP address, användaragent, and request method.

AWS

Amazon Web Services (AWS) offers several services that can be used for rate limiting, inklusive AWS WAF with rate limiting as a feature.

AWS Shield offers DDoS protection including rate-based rules that can block requests from IP addresses above a certain threshold. Additional to AWS WAF and AWS Shield, AWS also offers AWS Elastic Load Balancer. It includes various rate limiting policies that can be configured to block clients over predefined thresholds.

Azure

Microsoft Azure offers several services that can be used for rate limiting, including Azure Application Gateways. Det inkluderar en webbapplikationsbrandvägg som kan konfigureras för att begränsa takten på inkommande förfrågningar. Dessutom, Azure Front Door erbjuder en funktion för hastighetsbegränsning som kan blockera förfrågningar från IP-adresser över ett fördefinierat tröskelvärde. Förutom Azure Application Gateway och Azure Front Door, erbjuder Azure också Azure Firewall. Detta kan användas för att begränsa hastigheten och blockera klienter som överskrider en definierad tröskel.

GCP

Google Cloud Platform (GCP) erbjuder Cloud Armor, en webbapplikationsbrandvägg med kapacitet för hastighetsbegränsning som kan blockera förfrågningar från klienter som överskrider en definierad tröskel.

Dessa applikationslagers hastighetsbegränsningsprodukter kan effektivt mildra HTTP-floodattacker genom att begränsa antalet förfrågningar från illvilliga klienter. Dock, it is important that they are properly configured to not block legitimate traffic and used in conjunction with other security measures such as firewalls and DDoS mitigation services to provide comprehensive protection against DDoS attacks.

Timeouts for incomplete requests

Below are some Slowloris application layer mitigation methods which are listed for Apache, Nginx, and IIS web-servers, and load-balancers and additional features for AWS, Azure, and GCP services:

Apache

Utöver de ovan nämnda modulerna, Apache also provides a module, mod_reqtimeout, that can be used to set a timeout for incoming requests. If the client sends a request that takes longer than the specified timeout, the server will close the connection. This will prevent slowloris attacks.

Nginx

Besides ngx_http_limit_conn module and ngx_http_limit_req module, Nginx also provides his ngx_http_request module. Detta kan användas för att begränsa den tid det tar för upstream-servern att bearbeta begäran. Om upstream-servern tar längre tid än angiven timeout, Kommer Nginx att stänga anslutningen.

IIS

Utöver modulerna Dynamic IP Restrictions och Request Filtering, Tillhandahåller IIS även en kernel-lägesdrivrutin HTTP.sys. Detta låter dig ställa in en timeout för inkommande begäranden. If the client sends a request that takes longer than the specified timeout, the server will close the connection.

AWS

Förutom AWS WAF och AWS Shield, Ger AWS dessutom Elastic Load Balancer, som innehåller flera anslutningstimeout-regler som kan konfigureras för att stänga anslutningar som tar längre tid än en fördefinierad gräns.

Azure

Förutom Azure Application Gateway och Azure Front Door, Ger Azure dessutom Azure Load Balancer, som har en konfigurerbar inaktiv timeout-funktion som kan användas för att stänga anslutningar som varit inaktiva under en fördefinierad period.

GCP

Google Cloud Platform (GCP) ger många alternativ för anslutningstimeout för sina tjänster, vilka inkluderar Cloud Load Balancing, som innehåller en konfigurerbar timeout-funktion som kan användas för att stänga anslutningar som tar längre tid än en fördefinierad tröskel.

Slutsats

Sammanfattningsvis, DDoS- och DoS-attacker kan klassificeras baserat på de lager i OSI-modellen som de riktas mot, såsom nätverkslagret (Lager 3), transportlager (Lager 4), och applikationslager (Lager 7).

Medan lager 3 och lager 4 attacker översvämmar nätverks- och transportlagren med trafik, lager 7 är attacker mer komplexa och utnyttjar sårbarheter i själva applikationerna. HTTP-floods och Slowloris-attacker är exempel på lager 7 denial-of-service-attacker. Motåtgärder mot dessa attacker inkluderar hastighetsbegränsning, svartlistning, och brandväggar för webbapplikationer. Att identifiera och innehålla attacker i realtid kräver en omfattande, flerlagers försvarsstrategi som inkluderar övervakning, detektering, och responssmöjligheter.

Dessutom, angripare kan anpassa sina tekniker och skräddarsy sina attacker för att undvika upptäckt och kringgå säkerhetsåtgärder. Därför, är det avgörande att organisationer implementerar omfattande, flerlagers försvarsstrategi som inkluderar övervakning, detektering, och svarsförmågor för att snabbt identifiera och begränsa attacker i realtid. Detta kan inkludera att använda avancerade maskininlärningsalgoritmer och beteendeanalys för att upptäcka och blockera skadliga trafikmönster.

Inläggsfriskrivning

Åsikterna, informationen, eller åsikterna som uttrycks tillhör enbart författaren och representerar inte nödvändigtvis hans arbetsgivare eller de organisationer han är ansluten till.

Informationen som finns i detta inlägg är endast för allmän informationsändamål. Informationen tillhandahålls av Farhad Mofidi och även om han strävar efter att hålla informationen uppdaterad och korrekt, gör han inga utfästelser eller garantier av något slag, varken uttryckliga eller underförstådda, gällande fullständigheten, noggrannheten, pålitligheten, lämpligheten eller tillgängligheten på webbplatsen. Farhad lämnar inga utfästelser eller garantier. eller någon information, produkter eller relaterade grafik som ingår i ett inlägg för något ändamål.

Också, AI kan användas som ett verktyg för att ge förslag och förbättra vissa av innehållet eller meningarna. Idéerna, tankarna, åsikterna, och de slutgiltiga produkterna är originella och människoskapade av författaren.

 

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *