Hvad er et dynamisk linkbibliotek?
Et dynamisk linkbibliotek er et system, der bruges af Microsoft til at give flere applikationer adgang til den samme sektion af koden i Windows® på samme tid. Dette er en af nøglerne til multitasking, der fungerer effektivt. I 2010 opdagede sikkerhedsforskere, at smuthul på den måde, det dynamiske linkbibliotekssystem fungerede, kunne udnyttes af hackere. Dette førte til et dilemma over, hvordan man løser det uden at påvirke anvendeligheden af applikationer.
For at forstå, hvordan et dynamisk linkbibliotek fungerer, er det vigtigt at forstå forskellen mellem Windows® og softwareapplikationer. Windows® er et operativsystem, der i vid udstrækning findes for at koordinere den måde, individuelle applikationer, også kendt som programmer, får adgang til computerens behandlingsevner. Windows® i sig selv er i sidste ende et sæt computerkoder, der effektivt fungerer som regelbogen eller vejledningen til, hvordan applikationer interagerer med hinanden og med hardware.
Det dynamiske linkbibliotek er det system, hvor applikationer kan få adgang til og køre individuelle sektioner af Windows®-kode. Et eksempel ville være det afsnit i Windows®, der er ansvarlig for udskrivning af dokumenter. De fleste applikationer har brug for adgang til denne funktion på et tidspunkt, men hvis hvert program indlæser den relevante kode i computerens hukommelse, så snart applikationen begyndte at køre, ville det være en ineffektiv brug af ressourcer og kunne forårsage konflikter.
For at løse dette gemmes Windows®-koden for en bestemt funktion, i dette tilfælde udskrivning, som et lille program kendt som et dynamisk linkbibliotek eller DLL-fil. Hvis en bruger kører et program, f.eks. En tekstbehandler, åbnes denne fil ikke automatisk. I stedet åbnes og aktiveres tekstbehandleren kun filen, når den er nødvendig, i dette tilfælde når brugeren ønsker at udskrive et dokument.
Historisk skrev mange applikationsudviklere simpelthen kode, der sagde, hvad navnet på det relevante dynamiske linkbibliotek blev kaldt, snarere end at specificere nøjagtigt, hvor det skulle være placeret på computeren. For at komme omkring dette har Windows® et sæt system til at lokalisere manglende DLL-filer ved at søge i en sæt liste over placeringer i en defineret rækkefølge. Selvom dette teoretisk kunne udnyttes, hvis en ondsindet fil, der er forklædt som en DLL-fil, blev placeret på det rigtige sted og således fundet og åbnet før den legitime fil, blev dette ikke betragtet som en større sikkerhedsrisiko, da hackere ville have brug for fysisk adgang til en maskine for at få den ondsindede fil på plads.
I 2010 blev det opdaget, at hackere teoretisk kunne få sådanne filer på plads via en fjernforbindelse: det vil sige over internettet. Dette betød dusinvis af Windows®-applikationer, der var sårbare over for angreb ved hjælp af denne metode. Sikkerhedsfællesskabet var uenig om, hvorvidt det var bedre, at individuelle applikationer blev omskrevet for at specificere placeringen af den legitime DLL-fil, som var afhængig af, at hver udvikler iværksatte handling, eller at Microsoft ændrede den måde, Windows® håndterer sådanne filer, kan potentielt forårsage, at applikationer holder op med at fungere korrekt.