Što je biblioteka dinamičkih veza?

Biblioteka dinamičke veze je sustav koji koristi Microsoft kako bi omogućio da više aplikacija pristupi istom dijelu koda u sustavu Windows® u isto vrijeme. Ovo je jedan od ključeva za učinkovit rad multitaskinga. 2010. istraživači sigurnosti otkrili su da hakeri mogu iskoristiti rupu u načinu rada sustava knjižnice dinamičkih veza. To je dovelo do dileme kako to popraviti bez utjecaja na upotrebljivost aplikacija.

Da biste razumjeli način na koji funkcionira biblioteka s dinamičkim vezama, važno je razumjeti razliku između Windows® i softverskih aplikacija. Windows® je operativni sustav koji uglavnom postoji radi koordinacije načina na koji pojedinačne aplikacije, također poznate kao programi, pristupaju sposobnostima obrade računala. Sam Windows® je u konačnici skup računalnih kodova koji učinkovito djeluje kao pravilnik ili vodič za interakciju aplikacija među sobom i s hardverom.

Biblioteka dinamičke veze je sustav pomoću kojeg aplikacije mogu pristupiti i pokrenuti pojedinačne dijelove Windows® koda. Jedan primjer bi bio odjeljak sustava Windows® odgovoran za ispis dokumenata. Većina aplikacija u nekom trenutku treba pristupiti ovoj značajci, ali kada bi svaka aplikacija učitala relevantni kod u memoriju računala čim se aplikacija počela pokrenuti, to bi bilo neučinkovito korištenje resursa i moglo bi uzrokovati sukobe.

Kako bi se to riješilo, Windows® kod za određenu funkciju, u ovom slučaju ispis, pohranjuje se kao mali program poznat kao biblioteka dinamičke veze ili DLL datoteka. Ako korisnik pokrene aplikaciju kao što je program za obradu teksta, ova se datoteka ne otvara automatski. Umjesto toga, program za obradu teksta otvara i aktivira datoteku samo kada je to potrebno, u ovom slučaju kada korisnik želi ispisati dokument.

Povijesno gledano, mnogi su programeri aplikacija jednostavno napisali kod koji je rekao kako se zove relevantna biblioteka dinamičkih poveznica, umjesto da specificiraju točno gdje bi se trebala nalaziti na računalu. Da bi se to zaobišlo, Windows® ima postavljen sustav za lociranje nedostajućih DLL datoteka pretragom skupnog popisa lokacija u definiranom redoslijedu. Iako bi se to teoretski moglo iskoristiti ako se zlonamjerna datoteka prerušena u DLL datoteku stavi na pravo mjesto i tako pronađe i otvori prije legitimne datoteke, to se nije smatralo velikim sigurnosnim rizikom jer bi hakeri trebali fizički pristup računalu da bi dobili zlonamjerna datoteka na mjestu.

Godine 2010. otkriveno je da hakeri teoretski mogu postaviti takve datoteke na mjesto putem udaljene veze: to jest, putem interneta. To je značilo da su deseci Windows® aplikacija bili ranjivi na napade pomoću ove metode. Sigurnosna zajednica bila je podijeljena oko toga je li bolje da se pojedinačne aplikacije prepišu kako bi se odredila lokacija legitimne DLL datoteke, koja se oslanjala na poduzimanje radnji svakog programera, ili da Microsoft promijeni način na koji Windows® postupa s takvim datotekama, što može uzrokovati da aplikacije prestanu ispravno raditi.