Tietoturva nyt!
26.8.2010
Turvattoman DLL-lataamisen mahdollistavia ohjelmia löytyy paljon
Windows-käyttöjärjestelmän DLL-tiedostojen lataamiseen liittyvän turvattomuuden tultua julkisuuteen ovat eri tahot ryhtyneet etsimään ja luetteloimaan sovelluksia, jotka ovat mahdollisesti alttiita väärinkäytöksille. Huolimattomasti koodattuja ohjelmistoja on löytynyt paljon.
Microsoftin käyttöjärjestelmille tehtyihin sovelluksiin on muutaman viime päivän aikana julkaistu DLL-kirjastojen käyttöön liittyviä hyväksikäyttömenetelmiä. Haavoittuvien ohjelmien joukossa on kaikenlaisia sovelluksia mediatoistimista internet-selaimiin. Eri tahot ovat alkaneet myös julkaista listoja haavoittuvista ohjelmistoista.
Amerikkalainen tietoturvatutkija HD Moore julkaisi maanantaina automaattisen DLL-haavoittuvuuksien etsintätyökalun. Hyväksikäyttöesimerkkien (exploit proof of concept) huomattava lisääntyminen parin viime päivän aikana selittyneekin kyseisen työkalun käytöllä. Työkalusta julkaistiin tiistaina parannettu versio.
Ladattaviin kirjastoihin liittyvä ongelma on se, että jos sovelluksen tekijä ei ole täsmällisesti ohjelmakoodissa määritellyt, että mistä kirjastotiedosto ladataan, käyttöjärjestelmä etsii sitä tietyssä järjestyksessä ennalta määritellyistä paikoista, kun käyttäjä avaa sovelluksella tiedoston. Tätä ominaisuutta voidaan käyttää hyväksi hyökkäyksissä.
Microsoft on julkaissut ohjeita WebDAV- ja SMB-etäresurssien hyväksikäytön estämiseksi DLL-lataushyökkäyksissä. Menetelmistä löytyy lisätietoa Microsoftin knowledge base -artikkelista 2264107. Niiden avulla voidaan estää kirjastotiedostojen lataaminen työhakemistosta, jos ne sijaitsevat WebDAV- tai SMB-yhteyden takana.
DLL-ongelman kiertämiseksi ehdotetaan myös WebDAV- ja SMB-yhteyksien rajoittamista organisaation ulkopuolisiin osoitteisiin. Käytännössä WebDAV-yhteyksien estäminen voi kuitenkin estää sovelluksen toiminnan. Joka tapauksessa hakemistojen kirjoitusoikeudet tulisi tarkistaa, ja poistaa kirjoitusoikeudet tunnistautumattomilta käyttäjiltä.
Käytön aikana ladattavia kirjastoja myös muissa käyttöjärjestelmissä
Vastaava heikkous on periaatteessa olemassa monissa muissakin käyttöjärjestelmissä. Esimerkiksi Linux- ja muissa Unix-tyyppisissä käyttöjärjestelmissä ympäristömuuttujilla LD_LIBRARY_PATH ja PATH määritellään kirjastojen ja ohjelmatiedostojen hakujärjestys. Tyhjäksi jätetyn hakemiston tilalla polussa käytetään ajonaikaista hakemistoa (current working directory, $CWD).
Lisätietoa
| Sivua päivitetty 27.08.2010 |
|
 |
Tulostusversio |