SQL slammer

SQL Slammer ir datorvīruss, kas 2003. gadā izraisīja pakalpojuma atteikumu interneta nodrošinātājos un krasi palēnināja vispārējo interneta datu satiksmi. Datorvīruss strauji izplatījās — desmit minūšu laikā inficējot ap 75 000 lietotājus.

Datorvīrusa programma izmantoja bufera pārpildes kļūdu Microsoft SQL serverī un kļūdu darbvirsmas dzinēja datubāzes produktos. Lai gan MS02-039 atjauninājums tika palaists sešus mēnešus pirms tam, daudzas organizācijas nebija to vēl paspējušas pielietot.

Tehniskā informācija 
Datorvīruss tika balstīts uz pierādījumiem koda demonstrējumā Black Hat, kad uzstājās Deivids Litčfīlds, kurš sākotnēji atklāja bufera pārslodzes ievainojamību, ko datorvīruss arī izmantoja. Tā ir neliela daļa no koda, kas rada nejaušas IP adreses un nosūta pats sevi uz šīm radītajam IP adresēm. Ja izvēlētā IP adrese pieder lietotājam, kurš izmanto neatjaunotu Microsoft SQL servera kopiju Resolution Service sarakstā UDP portu 1434, lietotājs uzreiz kļūst inficēts, un turpina izplatīt neskaitāmas datorvīrusa kopijas internetā.

Personīgie datori mājās parasti ir aizsargāti pret šādu datorvīrusu. Datorvīruss ir tik mazs, ka tas nesatur kodu, kas liktu sevi ierakstīt diskā, kā rezultātā tas paliek atmiņā, un to ir viegli noņemt. Piemēram, Symantec nodrošina arī bezmaksas noņemšanas lietderība (skat ārējā saite zemāk), vai arī to var pat noņemt restartējot SQL Server (lai gan pastāv iespējamība tikt atkārtoti inficētam).

Pirmais ziņojums par SQL Server tika saņemts no Microsoft 2002. gada 24. jūlijā. Atjauninājums bija pieejams no Microsoft sešus mēnešus iepriekš, pirms datorvīrusa palaišanas, bet daudzas iekārtas nebija atjaunotas — tostarp daudzas arī Microsoft.

Datorvīruss tika pamanīts 2003. gada 25. janvārī, jo tas palēnināja rūtera sistēmas visā pasaulē. Palēlināšanu izraisīja vairāku rūteru sabrukšana no paaugstinātās datu pārraides no inficētajiem lietotajiem. Parasti, kad datu pārraide ir pārāk augsta, ir paredzēt, ka rūteri kavēs datu pārraidi vai īslaicīgi pārtraukt datu pārraidi. Tā vietā daži rūteri avarēja (kļuva nelietojami), un kad "kaimiņu" rūteri pamanīja, ka šo rūteru darbība tika pārtraukta, un, ka ar tiem nevajadzētu sazināties. Rūteri sāka sūtīt paziņojumus par šiem ietekmētajiem rūteriem par kuriem tie zināja. Pārpludinātā informācija maršrutētāju tabulā ar paziņojumiem izraisīja citu rūteru nobrukšanu, sarežģījot šo situāciju. Gala rezultātā nobrukušo rūteru uzturētāji tos pārstartēja, izraisot tiem paziņot savu statusu no jauna, novedot pie vēl viena viļņa atjaunojot maršrutētāju tabulu. Drīz vien ievērojama daļa no interneta joslas bija pārņemta ar rūteriem, kas savā starpā sazinājās, lai atjaunotu maršrutētāju tabulas, kā rezultātā datu pārraide palēlinājās vai citos gadījumos apstājas pavisam. Tas notika tāpēc, ka datorvīruss bija tik mazs savā izmērā, ka tas tika cauri datu pārraidei.

Divi galvenie aspekti, kas veicināja SQL Slammer ātru izplatīšanos. Pirmkārt, datorvīruss inficēja jauns lietotājus, tiem izmantojot neatjaunotu UDP protokolu, un otrkārt, to visa datorvīrusa apjoms vien bija (tikai 376 biti), kas ietilpst vienā paketē. Kā rezultātā, katrs inficētais lietotājs ātri vien inficēja citus.

Atsauces 

Datorvīrusi