Tietoturva nyt!
24.8.2010
Windows-sovellukset voivat ladata haitallisia DLL-tiedostoja
Tietoturvatutkijat ja Microsoft ovat kiinnittäneet huomiota siihen, että monet Windows-sovellukset käyttävät dynaamisesti ladattavia kirjastoja (DLL) tavalla, joka voi mahdollistaa haitallisen koodin sisällyttämisen sovelluksiin.
Windows-sovellukset käyttävät ns. dynaamisesti ladattavia kirjastoja (Dynamically Loaded Library, DLL), jotka sisältävät sovelluksen tarvitsemia funktioita. Windows sisältää suuren määrän DLL-tiedostoja, jotka se osaa ladata oikeasta hakemistosta pelkän tiedostonimen perusteella.
Sovellus voi kuitenkin käyttää myös omia DLL-tiedostojaan. Jos ladattavan DLL-tiedoston täydellistä tiedostonimeä polkuineen ei määritellä, Windows etsii tiedostoa tietyistä hakemistoista tietyssä järjestyksessä. Näiden hakemistojen joukossa on myös se hakemisto, jossa sovelluksen avaama tiedosto on. Tämä hakemisto voi olla hyökkääjän hallitsemalla verkkolevyllä.
Hyökkääjä voi hyödyntää tätä ominaisuutta siten, että hän sijoittaa samaan hakemistoon avattavan tiedoston kanssa itse tekemänsä DLL-kirjaston, joka on samanniminen kuin jokin sovelluksen käyttämä DLL-kirjasto. Jos sovelluksessa ei määritetä DLL-kirjaston tarkkaa polkua, sovellus lataa avattavan tiedoston hakemistosta hyökkääjän määrittelemän DLL-kirjaston. Tätä kautta hyökkääjä pääsee ujuttamaan sovellukseen haluamaansa ohjelmakoodia
Huolellisesti koodattujen sovellusten tulisi Microsoftin ohjelmointiohjeiden mukaan varmistaa, ettei DLL-tiedostoa ladata oletushakemistosta. Näyttää siltä, että on paljon sovelluksia, jotka eivät sitä tee.
Metasploit-työkaluun on julkaistu lisäosa, jonka avulla voi etsiä ja käyttää hyväksi DLL-tiedostojen lataamiseen liittyvää haavoittuvuutta.
Ongelman rajoittaminen
Microsoftin mukaan kyseessä ei varsinaisesti ole käyttöjärjestelmän haavoittuvuus, vaan pikemminkin huolimattomasti koodatun sovelluksen aiheuttama ongelma. Microsoft on julkaissut ohjeen ja uuden rekisteriavaimen CWDIllegalInDllSearch, jonka avulla voi vaikuttaa DLL-tiedostojen lataamiseen ja siten rajoittaa ongelmaa.
Lisätietoa
| Sivua päivitetty 25.08.2010 |
|
 |
Tulostusversio |