Security Advisory 2286198 - haavoittuvuus Windowsin pikakuvakkeiden käsittelyssä

Microsoft on viime yönä julkaissut uuden Security Advisoryn numeroltaan 2286198 ja otsikoltaan Vulnerability in Windows Shell Could Allow Remote Code Execution. Advisory koskee Windowsin Shellistä löytynyttä haavoittuvuutta, joka liittyy pikakuvakkeiden käsittelyyn (engl. shortcut). Pikakuvakkeet ovat "linkkejä" muihin tiedostoihin, esimerkiksi suoritettaviin ohjelmiin, jotka toteutetaan .LNK-päätteisinä tiedostoina. Kun käyttäjä esim. kaksoisnapsauttaa pikakuvaketta, käyttöliittymä "suorittaa" tiedoston, johon pikakuvake viittaa tai "on linkitetty".  Itse haavoittuvuus liittyy siihen, että käyttöliittymä ei tarkista oikein pikakuvakkeeseen määritettyjä parametreja, mikä taasen mahdollistaa sen, että pikakuvakkeessa määritetty varsinainen tiedosto ja siihen liittyvä sovellus suoritetaan ilman, että käyttäjä tekee mitään. Näin pikakuvake "suoritetaan" jo pelkästään sen perusteella, että käyttäjä avaa kansion, jossa pikakuvake on, jossakin sovelluksessa, joka osaa näyttää pikakuvakkeet (esim. Windowsin Explorerissa tai Tiedostonhallintaikkunassa).  

Advisory koskee seuraavia Windows-käyttöjärjestelmän versioita:
- Windows XP (Service Pack 3)
- Windows XP Professional x64 Edition (Service Pack 2)
- Windows Server 2003 (Service Pack 2)
- Windows Server 2003 x64 Edition (Service Pack 2)
- Windows Server 2003 for Itanium-based Systems (Service Pack 2)
- Windows Vista - kaikki versiot (Service Pack 1 ja Service Pack 2)
- Windows Server 2008 - kaikki versiot (alkuperäinen versio ja Service Pack 2)
- Windows 7 - kaikki versiot
- Windows Server 2008 R2 - kaikki versiot

Haavoittuvuutta on jo aktiivisesti hyödynnetty USB-muistitikkujen välityksellä levittämään mm. Stuxnet-nimellä kulkevaa haittaohjelmaa. Todennäköisin hyödyntämistapa onkin juuri USB-muistilaitteiden hyödyntäminen, mutta haavoittuvuutta on mahdollista hyödyntää myös esimerkiksi verkossa hyödynnettävien tiedostojakojen välityksellä.

Haavoittuvuuteen ei siis ole vielä korjausta olemassa, joten mitä voin tehdä haavoittuvuuden aiheuttaman riskin pienentämiseksi? Ihan ensimmäisenä kannattaa lukea itse advisory, jossa on lueteltu useitakin keinoja, joilla riskiä voidaan pienentää:
- Windowsin Automaattinen toisto -toiminnallisuus (Autoplay) kannattaa ottaa pois käytöstä. Näin Windwos ei automaattisesti avaa ja suorita esim. järjestelmään litettävien USB-muistilaitteiden sisältöä.
- Pikakuvakkeiden eli .LNK-tiedostoihin määritettyjen kuvakkeiden lataamisen estäminen poistamalla IconHandler-luokan rekisteröinti Windowsin rekisterissä - tämä estää haavoittuvuuden hyödyntämisen. Lisätietoja on englanninkielisen Security Advisoryn Workarounds-kohdassa.
- Web Client -palvelun poistaminen käytöstä - tämä estää vihamielisen hyökkääjän haluaman tiedoston hakemisen HTTP-yhteyden välityksellä mutta ei estä itse haavoittuvuuden hyödyntämistä. Lisätietoja myös tästä on englanninkielisen Security Advisoryn Workarounds-kohdassa.
- Kannattaa myös selvittää, josko käytössä oleva haittaohjelmien torjuntasovellus osaa tunnistaa haavoittuvuuden hyödyntämisen. Lisätietoja Microsoftin eri haittaohjelmien torjuntasovellusten tilanteesta löytyy MMPC:n blogiartikkelin kohdasta Threat Prevention.

Lisätietoja:
- Itse Security Advisory löytyy täältä.
- MSRC:n blogiartikkeli aiheesta löytyy täältä.
- MMPC:n blogiartikkeli Stuxnet-haittaohjelmasta löytyy täältä.