Denial of Service eller DoS är en term som används för att beskriva en digital attack på en maskin eller ett nätverk avsett att göra den oanvändbar. I många fall innebär det att man översvämmer mottagaren med så många förfrågningar eller så mycket trafik att det orsakar ett fel. Ibland kan det också innebära att man skickar en mindre mängd specifik, skadlig information för att till exempel utlösa en krasch.
För att förklara processen mer i detalj – en maskin ansluten till ett nätverk kan hantera (det vill säga skicka och ta emot) en viss mängd trafik och fortfarande fungerar. Mängden trafik beror på flera faktorer, såsom storleken på de förfrågningar som görs och den information som överförs. Samt kvaliteten och styrkan på nätverksanslutningen.
När för många förfrågningar görs kommer nätverket att kämpa för att hänga med. I vissa fall kommer förfrågningar att tas bort eller förbli obesvarade. Om överskottet är för högt kan antingen nätverket eller den mottagande maskinen drabbas av problem, upp till och inklusive fel och avstängningar.
Typer av attacker
Det finns många olika typer av DoS-attacker, med olika mål och attackmetoder. Några av de mest populära inkluderar:
SYN Flood
En SYN översvämning (uttalas "synd") är en attack där angriparen skickar snabba, upprepade anslutningsförfrågningar utan att slutföra dem. Detta tvingar den mottagande sidan att använda sina resurser för att öppna och hålla nya anslutningar i väntan på att de ska lösa sig. Detta händer inte. Detta förbrukar resurser och antingen saktar ner eller gör det berörda systemet helt oanvändbart.
Tänk på det som att svara på DM - om en säljare får hundra förfrågningar om en bil de vill sälja. De måste lägga tid och ansträngning på att svara dem alla. Om 99 av dem lämnar säljaren och läser, kanske den enda äkta köparen inte får något svar eller får det alldeles för sent.
SYN översvämningsattacken har fått sitt namn från paketet som användes i attacken. SYN är paketets namn som används för att upprätta en anslutning via Transmission Control Protocol eller TCP som är grunden för den mesta internettrafiken.
Buffertspillattack
Ett buffertspill uppstår när ett program som använder det minne som ett system har tillgängligt överskrider dess minnesallokering. Så om det är översvämmat med så mycket information räcker det tilldelade minnet inte för att hantera det. Den skriver därför över även närliggande minnesplatser.
Det finns olika typer av buffertspillattacker. Till exempel att skicka en liten bit information för att lura systemet att skapa en liten buffert innan den översvämmas med en större bit information. Eller de som skickar en felaktig typ av inmatning. Alla former av det kan orsaka fel, avstängningar och felaktiga resultat oavsett vilket program som påverkas.
Ping of Death
Den relativt humoristiskt namngivna PoD-attacken skickar en felaktig eller skadlig ping till en dator för att få den att fungera fel. Normala ping-paket är som mest runt 56-84 byte. Det är dock inte begränsningen. De kan vara så stora som 65 000 byte.
Vissa system och maskiner är inte designade för att kunna hantera den sortens paket, vilket leder till ett så kallat buffertspill som vanligtvis får systemet att krascha. Det kan också användas som ett verktyg för att injicera skadlig kod, i vissa fall där en avstängning inte är målet.
Distribuerade DoS-attacker
DDoS-attacker är en mer avancerad form av DoS-attack – de består av flera system som arbetar tillsammans för att utföra en koordinerad DoS-attack på ett enstaka mål. Istället för en 1-till-1-attack är detta en många-till-1-situation.
Generellt sett är det mer sannolikt att DDoS-attacker lyckas eftersom de kan generera mer trafik, är svårare att undvika och förhindra och lätt kan maskeras som "normal" trafik. DDoS-attacker kan till och med göras med proxy. Anta att en tredje part lyckas infektera en "oskyldig" användares maskin med skadlig programvara. I så fall kan de använda den användarens dator för att bidra till deras attack.
Försvara sig mot (D)DoS-attacker
DoS- och DDoS-attacker är relativt enkla metoder. De kräver inte en exceptionellt hög grad av teknisk kunskap eller skicklighet från angriparens sida. När de lyckas kan de påverka viktiga webbplatser och system enormt. Men till och med statliga webbplatser har funnit att de tagits ner på det här sättet.
Det finns flera olika sätt att försvara sig mot DoS-attacker. De flesta av dem fungerar något liknande och kräver övervakning av inkommande trafik. SYN-attacker kan blockeras genom att blockera en specifik kombination av paket från att bearbetas som inte förekommer i den kombinationen i vanlig trafik. När det väl har identifierats som DoS eller DDoS, används blackholing för att skydda ett system. Tyvärr, all inkommande trafik (inklusive äkta förfrågningar) avleds och kasseras för att bevara systemets integritet.
Du kan konfigurera routrar och brandväggar för att filtrera bort kända protokoll och problematiska IP-adresser som använts vid tidigare attacker. De hjälper inte mot mer sofistikerade och väldistribuerade attacker. Men är fortfarande viktiga verktyg för att stoppa enkla attacker.
Även om det inte är tekniskt ett försvar, kan det också vara effektivt att förhindra att DoS-attacker lyckas att se till att det finns gott om extra bandbredd och redundanta nätverksenheter i systemet. De är beroende av att överbelasta nätverket. Ett starkare nätverk är svårare att överbelasta. En 8-filig motorväg kräver fler bilar att blockera än en 2-filig motorväg, ungefär så här.
En stor del av DoS-attacker kan förhindras genom att applicera patchar på programvara, inklusive dina operativsystem. Många av de problem som utnyttjas är buggar i programvaran som utvecklare fixar eller åtminstone erbjuder begränsningar för. Vissa attacktyper, som DDoS, kan dock inte fixas genom att patcha.
Slutsats
Effektivt kommer alla nätverk som framgångsrikt försvarar sig mot DoS- och DDoS-attacker att göra det genom att kombinera en uppsättning olika förebyggande åtgärder och motåtgärder som fungerar bra tillsammans. I takt med att attacker och angripare utvecklas och blir mer sofistikerade, så gör också försvarsmekanismer det.
Korrekt konfigurerad, konfigurerad och underhållen kan skydda ett system relativt bra. Men även det bästa systemet kommer sannolikt att tappa en del legitim trafik och släppa igenom några olagliga förfrågningar, eftersom det inte finns en perfekt lösning.