För att effektivt kunna försvara dig mot överbelastningsattacker behöver du känna till deras syfte och hur de går till. Ett hett ämne på senare tid, i och med att det skett många uppmärksammade attacker.
Överbelastningsattacker klumpas ofta ihop med virus och sårbarheter i media. På samma sätt benämns de som står bakom dessa attacker som något slags ”hackare”. Fast i verkligheten har överbelastningsattacker få likheter med skadlig mjukvara och säkerhetshål. Och den som utför en överbelastningsattack behöver inte vara någon expert på området. Det räcker med att följa några enkla instruktioner i färdiga program eller så köper de tjänsten över webben.
Det tekniska begreppet för en överbelastningsattack är Denial of Service (DoS). Syftet med en sådan attack är att göra en tjänst otillgänglig. Det kan röra sig om en enskild server, en hel tjänst eller en enskild persons dator i hemmet. Attacken kan ske på olika sätt med hjälp av olika internetprotokoll och tekniker, från vanliga HTTP-anrop som överbelastar systemets resurser till lägre nivå där syftet är att ockupera bandbredd.
Att som angripare lyckas med detta från endast en källa, som sin egen dator, är idag i princip omöjligt. Det vill säga, om inte målsystemet är felaktigt konfigurerat eller körs på närmast antik hårdvara.
Därför utgår attacker från flera källor i form av infekterade datorer, servrar, hemelektronik och liknande. Dessa används då som slavar eller ”zombies” i ett botnät som kan uppgå till hundratals, tusentals eller tiotusentals klienter. Det har gått från DoS till DDoS (Distributed Denial of Service).
Bygger på tillit
Trafik via internet utbyts i form av paket och alla utgår från att allt är i sin ordning. Paket skickas mellan nätverk och noder. När mottagaren tar emot ett TCP-paket kommer den att svara till den IP-adress som står som avsändare. Sistnämnda behöver inte nödvändigtvis vara den egentliga avsändaren. Detta utnyttjar många DoS-attacker. En mellanhand utnyttjas för att skicka svar till fel mottagare som i sin tur tror sig bli attackerad av mellanhanden.
Konceptet DoS myntades i mitten av 90-talet, men först under tidigt 2000-tal började de riktigt allvarliga attackerna att dyka upp. En av de första skedde mot ett amerikanskt universitets IRC-server och kort därefter började även större webbplatser som Amazon, Ebay och CNN att utsättas för attackerna. Snart började också kriminella element använda sig av tekniken för att utpressa olika företag.
Sedan dess har det exploderat. För tio år sedan var de största attackerna på tio gigabit per sekund, numera kan de vara uppemot 60 gånger kraftigare. Tidigare detta år drabbades BBC av en attack på hela 602 gigabit per sekund.
Bandbredden ockuperas, så det hjälper sällan med IP-filter eller hårdvarubrandväggar. De som hyr serverutrymme eller serverplats hos mindre leverantörer har ofta bara ett par uppkopplingar på någon gigabit och redan småskaliga attacker får ned dem på knäna. Då krävs CDN-tjänster och andra externa åtgärder för att ha någon chans att parera både attacker och andra plötsliga trafikökningar.
Siktet inställt
DoS-attacker kan ske på många olika sätt och nya tekniker dyker ständigt upp. I regel tar de flesta sikte på målsystemets applikations- eller nätverkslager. En attack mot applikationen kan vara i form av HTTP-anrop som kräver mycket av systemets processor- och minneskapacitet.
När det handlar om nätverkslagret är det istället själva bandbredden som är målet. Det finns även varianter. Permanent DoS, eller PDoS, är en sådan som är helt olik andra tekniker. Som namnet antyder handlar denna om att göra en maskin eller tjänst permanent otillgänglig, ofta genom att installera ny firmware. Det kan handla om både servrar, mobiltelefoner och andra uppkopplade prylar.
Fast oavsett vilken teknik som används försöker angriparen dölja sig. En typisk attack kan se ut som följer:
- Angriparen kopplar upp sig på ett publikt Wi-Fi-nätverk eller ett skyddat sådant utan tillåtelse.
- Därefter ansluter angriparen till en så kallad ”Command & control”-server (C&C-server). Ofta är detta en infekterad server som egentligen tillhör någon annan. Från denna server kan angriparen sedan kontrollera sitt botnät och skicka ut kommandon till klienterna.
- Slavarna i botnätet tar emot kommandon från C&C-servern och utför dem. Dessa slavar kan vara vilken typ av uppkopplade enheter som helst, från persondatorer och servrar till smarta TV-apparater, routrar och annan hemelektronik. Dessa genomför sedan attacken mot målet i form av olika typer av trafik.
Dold som trafikökning
En attack av typen HTTP Flood använder HTTP och tar därmed sikte på applikationslagret, dit HTTP räknas i OSI-modellen. En sådan attack går ut på att skicka stora mängder vanliga HTTP-anrop, vilket gör den svår att särskilja från vanlig trafik.
Dessa attacker tar ofta sikte på specifika delar av en webbapplikation där belastningen ger mest utdelning. Framför allt vill angriparen ta sig förbi CDN-tjänster och andra cachelager för att nå själva kärnan i applikationen. Ett vanligt sätt att göra detta är genom att slå mot själva inloggningsfunktionen.
En välkonstruerad inloggningsfunktion använder sig av envägs-hashning och inte lösenord i klartext. För varje inloggningsförsök skapas då ett hash-värde av det angivna lösenordet som jämförs med värdet i exempelvis en databas. Denna procedur behöver göras vid varje försök och är en relativt kostsam process, vilket gör just denna ingång till en tacksam attackpunkt.
Fast det finns fler svaga punkter, bland annat anrop som resulterar i SMTP-trafik (mejlutskick) eller att något slags rapport genereras. Denna form av attack är dock den DoS-variant som är lättast att parera, så länge den inte är så stor att den även äter upp all bandbredd. En väl genomtänkt systemarkitektur sätter stopp för de flesta attacker av detta slag.
Halvfärdiga handskakningar
En annan form av attack är de så kallade SYN Flood-angreppen. Denna variant fokuserar på själva nätverkslagret, mer specifikt TCP. När en TCP-anslutning upprättas sker en så kallad handskakning i tre steg. Först skickar klienten en så kallad synkroniseringsbegäran (SYN) till servern, som i sin tur svarar med att bekräfta synkroniseringen (SYN-ACK) och slutligen skickar klienten sin bekräftelse på att anslutningen är upprättad (ACK).
En SYN Flood-attack genomförs genom att överösa ett mål med SYN-anrop. Servern returnerar då SYN-ACK till alla klienter, men klienten skickar aldrig den avslutande ACK-signalen. Servern kommer dock att hålla anslutningen öppen i väntan på ett svar, vilket slukar resurser.
Servern ger tids nog upp och stänger anslutningen, men denna typ av attack i stor skala kan förbruka stora mängder minne.
En förlängning av denna attackvariant är att märka utgående TCP-paket med en annan IP-adress. Detta får servern att skicka SYN-ACK till felmottagare och gör det svårare för offret att spåra attackens ursprung.
Slumpmässiga portar
Ett annat sätt att attackera nätverksstacken är via protokollen UDP och ICMP. I det förstnämnda fallet skickas UDP-paket till slumpmässiga portar på måldestinationen. Då mottagaren inte förväntar sig denna trafik svarar denna med att skicka ”destination unreachable”. En ganska snabb och resurssnål process, men med tillräckligt stor volym kommer servern att bli överbelastad. Då UDP, till skillnad från TCP, inte kräver handskakning blir det ännu enklare att förfalska avsändaren.
Även protokollet ICMP kan användas för DoS-attacker. När det gäller ICMP är trafiken ofta enkelriktad. Undantaget är det välbekanta ping-anropet, där mottagaren ska svara. Dessa anrop kallas för ”echo request” och ”echo reply”, där det senare är själva svaret. En förfalskad IP-adress kan användas för att skicka ”echo reply” till en helt annan IP-adress och initiera en DoS-attack mot denna.
Koppla på en förstärkare
För att förstärka styrkan i en DDoS-attack använder angriparna ofta en eller flera DNS-servrar. Dessa anropas av slavarna i botnätet och attackerar i sin tur det slutgiltiga målet. Detta kallas för en ”DNS-reflektion” eller ”DNS-amplifikation”.
DNS-servern behöver vara en öppen sådan och gärna dåligt konfigurerad eller rentav trasig. Då kan en förfrågan om DNS-värdena för en hel zon skickas till servern, med en förfalskad IP-adress. DNS-servern svarar med zonfilen till den angivna IP-adressen, som alltså är målet för DoS-attacken. Sker en stor mängd förfrågningar från botnätet till ett antal olika DNS-servrar överbelastas målet. Förutom DNS-servrar kan även protokollen SNMP, NTP och SSDP användas i reflektionsattacker.
Slutligen har du Slowloris, en DoS-variant som påminner lite om en SYN Flood. En sådan attack går ut på att skicka ofullständiga HTTP-anrop till servern, med andra ord skickas aldrig vissa TCP-paket.
Det går att skriva egna småprogram som skickar trafik eller använda verktyg som Wireshark. Fast enklast är att använda ett särskilt program. Faktiskt finns skrivbordsapplikationer som låter dig påbörja en DoS-attack från din egen maskin med bara några få klick. Det finns också webbaserade applikationer som används via en vanlig webbläsare.
Dessa verktyg har ofta använts, och används, av nätaktivister som tillsammans bestämmer ett mål och startar attacken från sina egna maskiner. De flesta servrar kan nämligen stå emot om det bara är en enda klient som skickar trafik. Samtidigt börjar dessa verktyg bli allt mindre relevanta i skuggan av ett mer modernt sätt att genomföra DoS-attacker. För du kan idag köpa en DoS-attack som tjänst. Och du behöver inte ens ge dig in på Darknet eller andra skumma platser, tjänsterna finns direkt ute på den publika webben.
Dessa påminner mycket om vanliga verktyg för belastningstester, med ett viktigt undantag. När du använder en seriös tjänst behöver du verifiera att du faktiskt äger domänen innan någon trafiksimulering påbörjas. Dessutom får du tillgång till värdefulla data om din servers svarstid vid olika belastningsgrader. De legitima belastningsverktygen körs också på tjänsteleverantörens egna servrar.
Det är alltså botnät som möjliggör storskaliga attacker. Persondatorer och mobiltelefoner får allt bättre skydd mot skadlig eller dold mjukvara, men det finns fler tacksamma enheter för förslavning. Nämligen uppkopplade prylar i bland annat hemmet. En ökande trend som kan bli rena guldådern för botnät om inte tillverkarna skärper sig. Se därför till att den utrustning du köper kommer från en leverantör som du vet kommer att underhålla mjukvaran inom överskådlig framtid. Och kanske ännu viktigare, hjälp dina icke-tekniska vänner.