Hva er et dynamisk koblingsbibliotek?
Et dynamisk koblingsbibliotek er et system som brukes av Microsoft for å la flere applikasjoner få tilgang til den samme delen av koden i Windows® samtidig. Dette er en av nøklene til multitasking å jobbe effektivt. I 2010 oppdaget sikkerhetsforskere at smutthull i måten Dynamic Link Library -systemet fungerte kunne utnyttes av hackere. Dette førte til et dilemma om hvordan du fikser det uten å påvirke brukbarheten til applikasjoner.
For å forstå måten et dynamisk koblingsbibliotek fungerer, er det viktig å forstå forskjellen mellom Windows® og programvareapplikasjoner. Windows® er et operativsystem som i stor grad eksisterer for å koordinere måten individuelle applikasjoner, også kjent som programmer, får tilgang til datamaskinens behandlingsevner. Windows® i seg selv er til slutt et sett med datakoder som effektivt fungerer som regelbok eller guide for hvordan applikasjoner samhandler med hverandre og med maskinvaren.
Dynamic Link Library er systemet som applikasjonIoner kan få tilgang til og kjøre individuelle deler av Windows® -koden. Et eksempel vil være delen av Windows® som er ansvarlig for å skrive ut dokumenter. De fleste applikasjoner må få tilgang til denne funksjonen på et tidspunkt, men hvis hver applikasjon lastet den aktuelle koden inn i datamaskinens minne så snart applikasjonen begynte å kjøre, ville det være en ineffektiv bruk av ressurser og kan forårsake konflikter.
For å løse dette lagres Windows® -koden for en bestemt funksjon, i dette tilfellet utskrift, som et lite program kjent som et dynamisk koblingsbibliotek eller DLL -fil. Hvis en bruker kjører en applikasjon som en tekstbehandler, åpnes ikke denne filen automatisk. I stedet åpnes og aktiverer ordbehandleren bare filen når den er nødvendig, i dette tilfellet når brukeren ønsker å skrive ut et dokument.
Historisk sett skrev mange applikasjonsutviklere ganske enkelt kode som sa hva navnet på RELEVant Dynamic Link Library ble kalt, i stedet for å spesifisere nøyaktig hvor det skulle være plassert på datamaskinen. For å komme seg rundt dette har Windows® et angitt system for å finne manglende DLL -filer ved å søke i en angitt liste over steder i en definert rekkefølge. Selv om dette teoretisk sett kan utnyttes hvis en ondsinnet fil forkledd som en DLL -fil ble satt på rett sted og dermed funnet og åpnet for den legitime filen, ble dette ikke betraktet som en viktig sikkerhetsrisiko da hackere ville trenge fysisk tilgang til en maskin for å få den ondsinnede filen på plass.
I 2010 ble det oppdaget at hackere teoretisk sett kunne få slike filer på plass via en ekstern tilkobling: det vil si over internett. Dette betydde at dusinvis av Windows® -applikasjoner var sårbare for angrep ved bruk av denne metoden. Sikkerhetssamfunnet ble delt om hvorvidt det var bedre for individuelle applikasjoner å bli skrevet om for å spesifisere plasseringen av den legitime DLL -filen, som stolte på hver utvikler som tok grep, ellerFor at Microsoft skal endre måten Windows® takler slike filer, noe som potensielt kan føre til at applikasjoner slutter å fungere ordentlig.