Windows Metafile -haavoittuvuus

**Windows Metafile -haavoittuvuus**  on Microsoft Windows -järjestelmien tietoturvahaavoittuvuus, jota on käytetty hyväksi useissa haittaohjelmissa vuoden 2005 joulukuun jälkeen. Ensimmäiset keskustelut haavoittuvuudesta käytiin tietoturvallisuuspiireissä joulukuun 26. ja 27. joulukuuta päivän paikkeilla. Ensimmäisistä saastuneista tietokoneista raportoitiin 24 tunnin sisällä. Keskusteluissa on spekuloitu jonkin verran haavoittuvuuden tahallisuudesta. Microsoft kiistää väitteet. 

Tiedostoon gdi32.dll paikallistettu haavoittuvuus syntyy Windowsin tavasta käsitellä Windows Metafile (WMF) -vektorigrafiikkaa ja sallii mielivaltaisen ohjelmakoodin suorittamisen ilman tietoa käyttäjästä tai hänen suoritusoikeudestaan. Haavoittuvuus mahdollistaa erilaisten haittaohjelmien lisääntymisen, tyypillisesti uusien ladattavien haittaohjelmien kautta.

5. tammikuuta 2006 Microsoft julkisti korkean prioriteetin korjauspaketin. Se oli saatavilla Windows Updaten kautta. Windows 98, Windows 98 Second Edition, Windows Millennium Edition-järjestelmiin ei ollut saatavana korjauspaikkaa, sillä Microsoft ei katsonut haavoittuvuutta niin kriittiseksi näissä versioissa.

## Järjestelmät
Jokainen Microsoft Windows käyttää Windows-metatiedostoja. Kaikki versiot Windows 3.x:sta uusimpaan Windows Server 2003 R2:een sisältävät tämän vian. Kuitenkin vain Windows XP:stä lähtien sisältää perusasennuksessaan käsittelijän ja lukutoiminnot WMF-tiedostoille. Niihin vika vaikuttaa paljon enemmän.  Windows Me -järjestelmä on haavoittuvainen, jos kuvien esikatseluominaisuus on kytketty päälle.  Toisia Windows-versioita tai Millennium Editionilla toimivat järjestelmät ilman kuvien esikatselua tai Data Execution Prevention (DEP) eivät ole haavoittuvia tunnetuilla vian eksploiteilla. Ne ovat kuitenkin alttiita uusille tuleville eksploittiversioille ja vielä tuntemattomille eksploiteille .

Muut kuin Windows-järjestelmät (Mac OS, Linux, jne.) eivät ole suoraan alttiita vialle. Alttiita ovat ainoastaan näissä järjestelmissä toimivat kolmannen osapuolen ohjelmat, jotka käyttävät WMF-tiedostoja ja jotka käyttävät natiivia Windowsin GDI-DLL:ää  tai kopioituja klooneja; toisin sanoen emulaattorit ja yhteensopivuuskerrokset. Esimerkiksi Winessä on oma GDI-versio, joka toteuttaa Microsoftin määritelmät (spesifikaatiot) niin hyvin kuin on mahdollista. Wine sisältää tämän WMF-vian , vaikka se ei ole samalla tavalla altis haavoittuvuudelle.

## Haavoittuvuus
F-Securen  mukaan haavoittuvuus on WMF-tiedostojen suunnitteluvika, koska suunniteltu arkkitehtuuri on peräisin muinaisesta tietokonearkkitehtuurista sisältäen ominaisuuksia, jotka mahdollistavat ohjelmakoodin suorittamisen kun WMF-tiedosto avataan. Alkuperäinen idea tässä oli pääasiassa käsitellä tulostustöiden keskeyttäminen tulostusjonoissa.

Haavoittuvuus on CVE-2005-4560  Common Vulnerabilities and Exposures -tietokannassa, US-CERT-viite VU#181038 ja Microsoftin Knowledge Base -artikkeli 912840.

On arveltu, että WMF-tiedostoissa on lisää haavoittuvuuksia.

## Leviäminen ja tartunta
Tietokoneet saastuvat hakkeroituja WMF-tiedostoja liitetiedostoina sisältävien sähköpostien välityksellä. Muita tartuntatapoja ovat

* WWW-sivun katselu selaimella, joka avaa automaattisesti vahingoittavan WMF-tiedoston. Tässä tapauksessa mikä tahansa vahingoittava ohjelmakoodi ladataan ja avataan. Tämä toimii Internet Explorerissa, Microsoft Windowsin oletusselaimessa jokaisessa versiossa vuodesta 1996 lähtien.
* Vahingoittavan tiedoston esikatselu Windows Explorerissa.
* Sähköpostien esikatselu vanhemmissa Microsoft Outlook ja Outlook Expressin versioilla.
* Kovalevyn indeksointi, joka sisältää Googlen työpöydän.
* Linkin napsauttaminen *instant messaging* -järjestelmällä Microsoft Messengerissä.

Leviäminen voi tapahtua muilla tavoilla. Koska haavoittuvuus on käyttöjärjestelmässä, toisien selaimien (kuten Mozilla Firefox) käyttäminen ei täysin suojele haavoittuvuudelta. Käyttäjiä pyydetään yleensä lataamaan ja katsomaan tiedostoa, jolloin tartunta tapahtuu. Saastuneet tiedostot voidaan ladata automaattisesti, joka avaa mahdollisuuden tartuntaan levyn indeksoinnissa ja esikatselussa.

McAfeen  mukaan haavoittuvuutta on käytetty Bifrose-takaovitroijalaiseen. Myös muita haittakoodeja on käytetty.

McAfee ilmoittaa, että näiden eksploittien ensimmäistä sukupolvea on laskettu olevan enemmän kuin 6% asiakastietokannassa 31.12.2005. Secunian mukaan haavoittuvuus johtuu Windows-metatiedostojen (.wmf) käsittelyssä sisältäen erityisiä SETABORTPROC ‘Escape’ -tietueita. Tällaiset tietueet sallivat mielivaltaisen käyttäjän määrittelemän funktion suorituksen kun WMF-tiedoston renderöinti epäonnistuu.

## Virallinen korjauspaikka
Microsoft julkaisi virallisen korjauspaikan (saatavilla täällä) 5. tammikuuta 2006, viisi päivää luvattua aiemmin. Tämä korjauspaikka tuli asentaa muista tietoturvapäivityksistä riippumatta.

Virallinen paikka oli saatavilla Windows 2000-, Windows XP- ja Microsoft Windows Server 2003 -käyttöjärjestelmille. Windows 98 tai Windows Me -järjestelmille ei oltu julkaistu paikkaa koska Microsoft päätti, että haavoittuvuus ei ollut kriittinen näissä käyttöjärjestelmissä. (Ainoastaan kriittisiä päivityksiä tarjotaan näille järjestelmille Microsoftilta.) Muille Microsoftin käyttöjärjestelmille ei ole saatavilla paikkaa, sillä Microsoft ei tue enää niitä. Tunnettu tietoturva-asiantuntija Steve Gibson kertoo http://www.grc.com/sn/notes-020.htm, hänen Security Now! -podcastissaan, että hänen yhtiönsä Gibson Research Corporation tekee ja antaa saataville paikan Windows 9X -järjestelmille, jos Microsoft ei itse julkaise sellaista.

Välitöntä korjauspaikkaa etsivät Windows 98 ja Windows Me -käyttäjät olivat voineet asentaa Paolo Montinin ja Eset-yhtiön (NOD32 Anti-virus -järjestelmän tekijä) tekemän paikan. Paikan oli voinut ladata vapaasti ja se toimi vanhemmissa järjestelmissä, mutta sille ei annettu toimivuustakuuta. Se on saatavilla täältä .

On raportoitu, että Microsoftin virallinen paikkaus asentuisi automaattisesti vaikka järjestelmä olisi määritetty pyytämään aina vahvistusta päivitysten asentamiselle. Tästä pakkoasentamisesta seuraa tietokoneen uudelleenkäynnistäminen ja tästä voi seurata tallentamattomien tietojen häviämistä.

## Muut korjaavat toimenpiteet

### Hätäratkaisu
Hätäratkaisuna  28. joulukuuta 2005 Microsoft neuvoo Windowsin käyttäjiä poistamaan dll-tiedoston **shimgvw.dll** rekisteröinnin (joka voidaan tehdä suorittamalla komento `regsvr32.exe /u shimgvw.dll` Suorita-valikosta tai komentokehotteella). Tämä kutsuu kuvien esikatselua ja sen kautta tulee suurin osa hyökkäyksistä. DLL voidaan uudelleenrekisteröidä uudelleen suorittamalla `regsvr32.exe shimgvw.dll` kunhan vika on korjattu.

### Kolmannen osapuolen paikat
Ilfak Guilfanov julkaisi kolmannen osapuolen paikkaohjelman 31. joulukuuta 2005 väliaikaisesti estämään haavoittuva funktiokutsu gdi32.dll -tiedostossa. Tämä epävirallinen paikka sai paljon julkisuutta, sillä Microsoft ei ollut julkaissut virallista paikkaa. Guilfanovin paikkaohjelma sai SANS Institute Internet Storm Centerin  suosituksen ja F-Securen suosituksen .

Suuren julkisuuden takia mukaan lukien epäsuorasti Slashdot-vaikutus  Guilfanovin WWW-sivun palvelin ylikuormittui kävijämääristä ja kaatui 3. tammikuuta 2006. Alhaallaolon aikana WMF-korjauspaikka oli saatavilla ladattavaksi lukuisista peilipalvelimista, mukaan lukien Internet Storm Centerin WWW-sivu . Guilfanovin WWW-sivu tuli takaisin 4. tammikuuta hyvin pelkistetyssä muodossa. Siellä ei ollut enää paikkatiedostoa, jotta palvelinkoneen yhteyksien kaistanleveys ei ylikuormittuisi.

Hexblog tarjosi luettelon peilipalvelimista, joista käyttäjät voivat ladata paikan ja haavoittuvuuden tarkistusohjelman, sekä MD5-tarkistussumman alkuperäiselle tiedostolle, jotta lataajat voivat varmistua ladatun tiedoston eheydestä.

Kun Microsoft julkaisi oman paikkansa, Guilfanov otti omansa pois ja patisti sivulla vierailijoita asentamaan virallisen paikan. Hänen tarkoituksena oli koko ajan kannustaa ihmisiä käyttämään tarjottua ja testattua virallista paikkaa.

### Riskien vähentämistekniikat
Microsoftin mukaan heidän paikkansa poistaa viallisen toiminnallisuuden WMF-haavoittuvuuden sallivasta tiedostosta gdi32. Paikkaamattomia Windowseja käyttävä tietokoneelle suositellaan syvällistä suojausta, joka lieventää tartuntariskiä. Useat lähteet suosittelevat vähentämään seuraavia toimenpiteitä:

*Käytä laitteistopohjaista (hardware) Data Execution Prevention , joka vaikuttaa kaikkiin sovelluksiin.
*Aseta WMF-sovellukseksi jokin turvallinen sovellus kuten Notepad.
*Älä käytä Internet Exploreria tai vähintään poista lataukset asettamalla turvallisuusasetukset korkeiksi (HIGH).
*Päivitä valppaasti kaikkia virustorjuntaohjelmia. Harkitse tiheää käsin päivittämistä.
*Estä kaikki WMF-tiedostot verkossasi tiedostojen header-suodatuksella.
*Käytä käyttäjäkansioita, joissa on mahdollisimman vähän käyttäjäoikeuksia kuin mahdollista.
*Estä kuvien lataukset Internet Explorerissa ja kaikissa muissa selaimissa. 
*Estä kuvien lataukset Outlook Expressissä.
*Estä hyperlinkit Messengerissä.
*Estä Microsoft Indexing Service Windows 2000:ssa, Windows XP:ssä ja Windows Server 2003:ssa.
*Estä Google-työpöydän indeksointi, kunnes ongelma on korjattu.
*Käytä eri käyttöjärjestelmää, kuten Linux tai Mac OS X, erityisesti suurten riskien toiminnoissa kuten pikaviestinnässä tai foorumien selaamisessa, jotka sallivat avatareja tai  -tunnisteita.

Tämän SANS Institute Internet Storm Center artikkelin mukaan jonkun muun selaimen kuin Internet Explorerin käyttäminen *voi* tarjota lisäsuojaa haavoittuvuutta vastaan. Asetuksista riippuen nämä selaimet voivat kysyä käyttäjältä vahvistusta ennen .wmf -lisäosan sisältävän kuvan avaamista. Tämä vähentää vain saastuneiden WMF-tiedostojen avaamisia, eikä suojaa haavoittuvuudelta. Selaimet avaavat yhä metatiedoston, jos se on naamioitu toiseen muotoon. On parempi estää kuvien lataukset kokonaan valitsemassasi selaimessa.

## Lähteet

## Lisätietoa
*Microsoft Security Bulletin for novice Home Users
*Microsoft Security Bulletin MS06-001
*WMF FAQ - SANS Institute Internet Storm Center
*Windows Security Flaw Is 'Severe' - Washington Post
*Microsoft Windows WMF "SETABORTPROC" Arbitrary Code Execution - Secunian tiedote
*New exploit released for the WMF vulnerability - SANS Institute Internet Storm Center
*Be careful with WMF files - Ole varovainen WMF-tiedostojen kanssa, F-Secure
*Example exploit  - Metasploit
*MSDN pages for Escape and SetAbortProc
*About Ilfak Guilfanov  - Ilfak Guilfanovin pieni biografia
*DigiToday - WMF-hyökkäyskoodin julkaisija kritisoi virustorjujia