MOICE - mikä?
Eilisessä tietoturvatiedotteiden webcastissa mainitsin jälleen kerran MOICE-nimisen työkalun. MOICE on tullut esille usean viimeisten kahden vuoden aikana julkaistun Officea koskevan tietoturvapäivityksen yhteydessä, ja se mainitaan myös monen Officea koskevan tietoturvatiedotteen Workarounds-osiossa yhtenä keinona pienentää jonkin haavoittuvuuden aiheuttamaa riskiä. Nyt kun työkalu on jo täyttänyt kunnioitettavat kaksi vuotta, lienee paikallaan hieman avata, mitä tuo kirjainyhdistelmä ja sen taustalla oleva nimihirviö oikein tarkoittavat.
MOICE on lyhennys sanoista Microsoft Office Isolated Conversion Environment. Kyseessä on työkalu - tai ehkä oikeampi nimitys olisi joukko määrityksiä - jonka tarkoituksena on auttaa pienentämään Officen perinteisistä binaaritiedostomuodoista löytyneiden haavoittuvuuksien aiheuttamaa riskiä. MOICE hyödyntää Office 2007:n yhteydessä julkistettuja uusia Office Open XML -tiedostomuotoja ja niitä varten tehtyjä tiedostomuuntimia. Ideana on muuttaa Officen binaaritiedostomuotojen tiedostotunnisteiden, esimerkiksi Word-tiedoston .doc-tunnisteen liitosmäärityksiä (file association). Normaalistihan tuo tiedostotunniste on liitetty Word-sovellukseen, jolloin kun käyttäjä avaa .doc-päätteisen tiedoston esimerkiksi kaksoisnapsauttamalla tiedostoa tiedostonhallinnassa tai valitsemalla tiedoston valikosta vaihtoehdon Avaa, osaa käyttöjärjestelmä välittää tiedoston Word-sovellukselle avattavaksi.
MOICEn myötä näitä tiedoston liitosmäärityksiä muutetaan niin, että avattaessa jokin binaarimuotoinen Office-tiedosto (.doc, .xls tai .ppt), sitä ei välitetä suoraan oikealle Office-sovellukselle, vaan Open XML -tiedostomuuntimelle, joka muuntaa tiedoston binaarimuodosta vastaavaan Open XML -muotoon (.docx, .xlsx tai .pptx) ja vasta sen jälkeen välittää tiedoston avattavaksi oikealle Office-sovellukselle.
Mitäs ihmeen hyötyä tästä nyt sitten on? No, monia Officen binaaritiedostoformaatteihin liittyviä haavoittuvuuksia hyödynnetään nimenomaan luomalla tietyllä, usein määrityksistä poikkeavalla tavalla muodostettu binaaritiedosto, joka sitten avattaessa aiheuttaa muistinkäsittelyvirheen Office-sovelluksessa, ja sitä kautta hyökkääjä pääsee suorittamaan haluamaansa ohjelmakoodia. Nyt kun tiedosto välitetäänkin tiedostomuuntimelle tapahtuu tyypillisesti jokin neljästä asiasta:
- Tiedosto muuntuu kyllä hyvin XML-muotoon, mutta havoittuvuuden hyödyntämiseen tarkoitettu tietorakenne jää muunnossa matkan varrelle ja tiedosto voidaan turvallisesti välittää Office-sovellukselle.
- Tiedosto muuntuu, mutta tuottaa täysin avaamiskelvottoman XML-muotoisen tiedoston.
- Tiedostoa ei edes voi muuntaa.
- Tiedostomuunnin kaatuu muunnon aikana.
Kaikissa tapauksissa tuloksena on, että havoittuvuuden hyödyntämiseen tähtäävää tietorakennetta ei koskaan välitetä Office-sovellukselle, haavoittuvuutta ei päästä hyödyntämään ja näin ollen hyökkääjä ei koskaan pääse suorittamaan omaa ohjelmakoodiaan.
Kuulostaa hyvältä - miten MOICEa pääsee käyttämään? Tarkemmat ohjeet toiminnallisuuden käyttöönotosta löytyvät KB-artikkelista 935865. Kannattaa ainakin tutustua siihen, mitä käyttöönottoon vaaditaan ja miten se tapahtuu. MOICE edellyttää Open XML -tiedostomuuntimien asennusta ja käyttöä, ja ne monessa tapauksessa tarvitaan myös muita tarkoituksia varten. Tarvittavat määritykset voidaan tämän jälkeen toimittaa työasemiin esimerkiksi Group Policyjen avulla. Näin kaikki voidaan tehdä valmiiksi ja määritykset ottaa käyttöön vain silloin, kun niitä tarvitaan, ja poistaa taasen käytöstä, kun uhka on mennyt ohitse.
Toki MOICEn käytössä on myös omat haasteensa - muunto binaarimuodosta XML-muotoon esimerkiksi poistaa tiedostosta kaikki makrot, jolloin menetelmä ei sovi makroja sisältävien tiedostojen muuntamiseen. Lisätietoja hasteista on edellä mainity KB-artikkelin 935865 loppupuolella.
Taustoja työkalusta löytyy myös David LeBlancin blogista osoitteessa https://blogs.msdn.com/david_leblanc/archive/2007/05/08/new-file-converter-coming-soon.aspx