slammer

Namnet Slammaer kommer dels av att masken drabbade Microsofts SQL Server, en vanlig mjukvara som sedan 80-talet har hanterat databaser, dels av att masken smällde till internet med en kraft som fick många nätverksadmins att ryckas ur sina sängar för att städa upp.

Slammer använde inte SQL, som namnet antyder. Istället utnyttjades en annan vanlig vektor i olika virussammanhang – en buffer overflow. En buffer overflow, eller överflödesattack, har hittat en plats i programkoden där längden av sträng eller annat minnesutrymme inte kontrolleras. Om man då skickar ett värde som är större än minnesutrymmet, så skrivs en del av programkoden över och katastrofen är ett faktum.

Slammer började som ett enda paket som skickades genom udp-porten. Udp-protokollet är mycket snabbare än det vanligare internetprotokollet tcp, eftersom det bara skickar data utan att få något tillbaka. Det gör det osäkrare än tcp eftersom mottagaren inte vet om alla paket kommit, och om de är i rätt ordning. Men för Slammer fungerade det utmärkt, masken brydde sig inte om allt kom fram rätt då den bara hade ett enda paket.

Läs också: Virus vi minns: Brain – det första pc-viruset

När ett sådant paket hamnade hos en Microsoft SQL Server, låg det i instruktionerna att strängen skulle vara max 128 byte och sluta med "00", men Slammer var 376 byte och slutade inte alls med "00", så servern skrev helt enkelt över sig själv med den data som egentligen inte fick plats.

Varje server som infekterades med Slammer började nästan omedelbart att skicka ut så många paket som möjligt till slumpmässiga adresser, och alla som körde Microsoft SQL Server gjorde samma sak. För att slumpa fram ip-adresser räknade Slammer antalet millisekunder från att processorn startade, och gjorde om det till ett ip-nummer. När masken skickat sitt första paket skramlar den om bitarna i numret och skickar ett nytt. Det betydde att det gick oerhört fort och till och med vanliga hem-pc kunde skicka flera hundra paket i sekunden.

Mikko Hyppönen
Mikko Hyppönen på F-Secure har studerat Slammer och dess efterföljare.

Mikko Hyppönen är forskningschef på F-Secure och analyserade SQL Slammer och dess efterföljare Blaster och Sasser på 00-talet.

– Slammer genererade så mycket trafik, att trafiken som kom från infekterade maskiner började påverka maskiner som inte hade något med Slammer att göra. De flesta maskiner som infekterades var servrar som kan generera mycket trafik. Jag minns att flera root name-servrar rapporterade anslutningsproblem, servrarna som är nyckeln till name-servrarna för hela internet. Och de kör definitivt inte Microsoft SQL Server, eller Windows, och ändå hade de problem. Anledningen var att de i samma nätverkssegment som maskiner som körde Windows och genererade en massa trafik.

Konsekvenserna blev stora, flygplatser fick problem, ett amerikanskt kärnkraftverk infekterades, operatörer på nödnumret 911 i Seattle fick skriva instruktioner till utryckning på papper, bankomater låg nere. Det enda sättet att få bukt med Slammer var att installera en patch som redan funnits för nedladdning ett halvår. Problemet var att detta var tiden innan det fanns automatiska uppdateringar.

Läs också: Virus vi minns: Morris sparkade in internets öppna dörrar

– Ville man patcha så var man tvungen att gå till microsoft.com och ladda ner uppdateringen själv. En av de viktigaste konsekvenserna av Slammer, och framför allt Blaster var att Microsoft blev tvungna att tänka om kring programuppdateringar och göra dem automatiska. En annan sak var att implementera en brandvägg i Windows, berättar Mikko Hyppönen.

Att dåligt uppdaterade system är ett stort problem, trots att de flesta sker automatiskt, är för den säkerhetsinsatte inga nyheter. Men i fallet Slammer innebär det att trafik sannolikt fortfarande skickas runt jorden av några gamla servrar.

– Jag har inte kollat på länge, men lyssnade man på udp-trafik för fem år sen, så hittade man förr eller senare Slammer-paket på internet. Så länge man har en enda infekterad maskin någonstans i världen så kommer den att skicka paket över hela internet för att hitta en annan maskin att infektera. Så infektionen kommer bara att stoppas helt när den sista infekterade servern har patchats för sårbarheten.