Dynaaminen linkkikirjasto on Microsoftin käyttämä järjestelmä, jonka avulla useat sovellukset voivat käyttää samaa koodiosaa Windows® -käyttöjärjestelmässä samanaikaisesti. Tämä on yksi avaimista tehokkaaseen moniajoon. Vuonna 2010 tietoturvatutkijat havaitsivat, että hakkerit voivat hyödyntää porsaanreikiä dynaamisen linkkirjastojärjestelmän toiminnassa. Tämä johti ongelmaan siitä, kuinka korjata se vaikuttamatta sovellusten käytettävyyteen.
Jotta ymmärrät, miten dynaaminen linkkikirjasto toimii, on tärkeää ymmärtää ero Windows®- ja ohjelmistosovellusten välillä. Windows® on käyttöjärjestelmä, joka on suurelta osin koordinoitava tapaa, jolla yksittäiset sovellukset, jotka tunnetaan myös nimellä ohjelmat, käyttävät tietokoneen prosessointikykyä. Itse Windows® on viime kädessä joukko tietokonekoodeja, jotka toimivat tehokkaasti sääntökirjana tai oppaana sovellusten vuorovaikutuksessa keskenään ja laitteiston kanssa.
Dynaaminen linkkikirjasto on järjestelmä, jonka avulla sovellukset voivat käyttää ja suorittaa yksittäisiä Windows® -koodin osia. Yksi esimerkki olisi Windows® -osa, joka vastaa asiakirjojen tulostamisesta. Useimmat sovellukset joutuvat käyttämään tätä ominaisuutta jossain vaiheessa, mutta jos jokainen sovellus lataa tarvittavan koodin tietokoneen muistiin heti, kun sovellus on käynnistynyt, resurssien käyttö on tehotonta ja voi aiheuttaa ristiriitoja.
Tämän ratkaisemiseksi tietyn toiminnon, tässä tapauksessa tulostuksen, Windows® -koodi tallennetaan pienenä ohjelmana, joka tunnetaan dynaamisen linkin kirjastona tai DLL -tiedostona. Jos käyttäjä käyttää sovellusta, kuten tekstinkäsittelyohjelmaa, tätä tiedostoa ei avata automaattisesti. Sen sijaan tekstinkäsittelyohjelma avaa ja aktivoi tiedoston vain silloin, kun sitä tarvitaan, tässä tapauksessa, kun käyttäjä haluaa tulostaa asiakirjan.
Historiallisesti monet sovelluskehittäjät yksinkertaisesti kirjoittivat koodin, joka sanoi asianomaisen dynaamisen linkkikirjaston nimen, sen sijaan, että määrittäisivät tarkalleen, missä sen pitäisi sijaita tietokoneessa. Tämän kiertämiseksi Windows®: ssa on joukkojärjestelmä puuttuvien DLL -tiedostojen paikantamiseksi etsimällä joukko luetteloita sijainneista määritetyssä järjestyksessä. Vaikka tätä voitaisiin teoriassa hyödyntää, jos DLL -tiedostona naamioitu haitallinen tiedosto asetettaisiin oikeaan paikkaan ja löydettäisiin ja avattaisiin ennen laillista tiedostoa, tätä ei pidetty suurena tietoturvariskinä, koska hakkerit tarvitsevat fyysisen pääsyn koneeseen saadakseen haitallinen tiedosto paikallaan.
Vuonna 2010 havaittiin, että hakkerit voisivat teoriassa saada tällaiset tiedostot paikalleen etäyhteyden kautta eli Internetin kautta. Tämä tarkoitti sitä, että kymmenet Windows® -sovellukset olivat alttiita hyökkäyksille tällä menetelmällä. Suojausyhteisö oli eri mieltä siitä, olisiko parempi, että yksittäiset sovellukset kirjoitettaisiin uudelleen määrittämään laillisen DLL -tiedoston sijainti, joka perustui jokaisen kehittäjän toimiin, tai Microsoft muutti tapaa, jolla Windows® käsittelee tällaisia tiedostoja. saattaa mahdollisesti estää sovellusten toimimisen oikein.