Robaki Sieciowe - Slammer

Menu | Index

Inaczej "SQL slammer" lub "Sapphire" - robak, który wykorzystał dziurę w serwerze baz danych Microsoft SQL Server i w MSDE (Desktop Engine).

Atak

Atak rozpoczął się w dniu 25.01.2003, w ciągu pierwszych dziesięciu minut slammer zainfekował kilkadziesiąt tysięcy maszyn.

W pierwszej minucie swojego działania robak podwajał ilość zainfekowanych komputerów co ok. 8.5 sekundy, po trzech minutach ilość skanowanych przez kopie robaka maszyn wyniosła ok. 55 milionów / sekundę. Poniżej znajduje się obrazek reprezentujący sytuację po 30 minutach od rozpoczęcia ataku, na niebiesko zaznaczone obszary, w których znajdowały się zainfekowane maszyny.

Robak spowodował całkowite odcięcie Korei Południowej od Internetu na ok. 12 godzin.

image

Slammer rozprzestrzeniał się w tak niesamowicie szybkim tempie z uwagi na niewielką objętość i fakt, że atak na pojedynczą maszynę był zawarty w jednym pakiecie UDP, nie było wymagane nawet nawiązanie połączenia ze skanowaną maszyną - robak w pętli wysyłał pakiety do losowych maszyn i to wystarczało.

Działanie

Kod robaka to zaledwie 376 bajtów, generuje on w nim losowe adresy IP (potrzebne do rozprzestrzeniania się) oraz jeden pakiet UDP (wielkości 404 bajtów), który jest tak spreparowany, że po wysłaniu go na port 1434 (na którym słucha SQL Server Monitor) następował buffer overflow co pozwalało na uruchomienie kodu robaka na zainfekowanej maszynie, wygenerowanie listy losowych IP i dalsze rozsyłanie.

Slammer rozprzestrzeniał się tak agresywnie, że z czasem kolejne kopie robaka "walczyły" o przepustowość łącz przy skanowaniu adresów IP co spowolniło infekcję, ponieważ wraz z upływem czasu sprawdzanych było coraz więcej już zainfekowanych maszyn lub już sprawdzonych maszyn, które nie były podatne na atak.

Oryginalny kod robaka zawierał błąd w generatorze liczb losowych, który spowodował, że niektóre maszyny nie zostały nigdy przeskanowane, ponieważ ich adresy nie mogły być wygenerowane przez żadną kopię Slammera.

Efekt

Atak Slammera udowodnił, że z uwagi na dużą szybkość rozprzestrzeniania się (w efekcie zdolność skanowania dużej ilości maszyn w krótkim czasie), nawet niewielkie populacje kilkunastu tysięcy maszyn używających konkretnego oprogramowania podatnego na infekcję mogą stać się celem ataku robaków w przyszłości.

Mimo iż Slammer nie zawierał kodu, który uszkadzał w jakikolwiek sposób zainfekowany komputer, szybkość jego rozprzestrzeniania się i ruch sieciowy jaki został wytworzony spowodowały spowolnienie działania wielu ważnych serwerów baz danych, czego efektem były np. niedziałające bankomaty, odwołane loty itp.

Robaki Sieciowe - Blaster