Kaj je knjižnica z dinamičnimi povezavami?

Knjižnica dinamičnih povezav je sistem, ki ga uporablja Microsoft, da več aplikacijam omogoči dostop do istega dela kode v sistemu Windows® hkrati. To je eden od ključev za učinkovito delovanje večopravilnosti. Leta 2010 so varnostni raziskovalci odkrili, da bi lahko hekerji izkoristili vrzel v delovanju sistema knjižnice dinamičnih povezav. To je privedlo do dileme, kako to popraviti, ne da bi to vplivalo na uporabnost aplikacij.

Da bi razumeli, kako deluje knjižnica dinamičnih povezav, je pomembno razumeti razliko med Windows® in programskimi aplikacijami. Windows® je operacijski sistem, ki v veliki meri obstaja za usklajevanje načina, kako posamezne aplikacije, znane tudi kot programi, dostopajo do sposobnosti obdelave računalnika. Windows® je navsezadnje nabor računalniških kod, ki učinkovito delujejo kot pravilnik ali vodnik za interakcijo aplikacij med seboj in s strojno opremo.

Knjižnica dinamičnih povezav je sistem, s katerim lahko aplikacije dostopajo do posameznih delov kode Windows® in jih izvajajo. En primer bi bil razdelek sistema Windows®, ki je odgovoren za tiskanje dokumentov. Večina aplikacij mora na neki točki dostopati do te funkcije, vendar če bi vsaka aplikacija naložila ustrezno kodo v pomnilnik računalnika takoj, ko bi se aplikacija začela izvajati, bi bila to neučinkovita uporaba virov in bi lahko povzročila konflikte.

Da bi to rešili, je koda Windows® za določeno funkcijo, v tem primeru tiskanje, shranjena kot majhen program, znan kot knjižnica z dinamičnimi povezavami ali datoteka DLL. Če uporabnik zažene aplikacijo, kot je urejevalnik besedil, se ta datoteka ne odpre samodejno. Namesto tega urejevalnik besedil odpre in aktivira datoteko samo, ko je to potrebno, v tem primeru, ko želi uporabnik natisniti dokument.

V preteklosti so mnogi razvijalci aplikacij preprosto napisali kodo, ki je povedala, kako se imenuje ime ustrezne knjižnice dinamičnih povezav, namesto da bi natančno določili, kje naj se nahaja v računalniku. Da bi se temu izognili, ima Windows® nastavljen sistem za iskanje manjkajočih datotek DLL z iskanjem po nastavljenem seznamu lokacij v določenem vrstnem redu. Čeprav bi to teoretično lahko izkoristili, če bi zlonamerno datoteko, prikrito kot datoteko DLL, postavili na pravo mesto in jo tako našli in odprli pred zakonito datoteko, se to ni štelo za veliko varnostno tveganje, saj bi hekerji potrebovali fizični dostop do računalnika, da bi dobili zlonamerna datoteka na mestu.

Leta 2010 je bilo ugotovljeno, da bi hekerji teoretično lahko pridobili takšne datoteke prek oddaljene povezave, torej prek interneta. To je pomenilo, da je bilo na desetine aplikacij Windows® ranljivih za napade s to metodo. Varnostna skupnost je bila razdeljena glede tega, ali je bolje, da se posamezne aplikacije prepišejo tako, da določijo lokacijo zakonite datoteke DLL, ki se zanaša na ukrepanje vsakega razvijalca, ali da Microsoft spremeni način, kako Windows® obravnava takšne datoteke, kar lahko povzroči, da aplikacije prenehajo pravilno delovati.