Vad är ett Dynamic Link Library?

Ett dynamiskt länkbibliotek är ett system som används av Microsoft för att tillåta flera applikationer att få åtkomst till samma kodsektion i Windows® på samma gång. Detta är en av nycklarna till att multitasking fungerar effektivt. 2010 upptäckte säkerhetsforskare att kryphål i hur det dynamiska länkbibliotekssystemet fungerade kunde utnyttjas av hackare. Detta ledde till ett dilemma över hur man fixar det utan att påverka användbarheten hos applikationer.

För att förstå hur ett dynamiskt länkbibliotek fungerar är det viktigt att förstå skillnaden mellan Windows® och programvaruapplikationer. Windows® är ett operativsystem som till stor del existerar för att samordna hur enskilda applikationer, även kända som program, får åtkomst till datorns bearbetningsförmåga. Windows® i sig är i slutändan en uppsättning datorkoder som effektivt fungerar som regelbok eller guide för hur applikationer interagerar med varandra och med hårdvaran.

Det dynamiska länkbiblioteket är det system med vilket applikationer kan komma åt och köra enskilda delar av Windows®-koden. Ett exempel är den del av Windows® som ansvarar för utskrift av dokument. De flesta program måste komma åt den här funktionen vid någon tidpunkt, men om varje applikation laddar relevant kod i datorns minne så snart applikationen började köras skulle det vara en ineffektiv användning av resurser och kan orsaka konflikter.

För att lösa detta lagras Windows®-koden för en viss funktion, i detta fall utskrift, som ett litet program som kallas ett dynamiskt länkbibliotek eller DLL-fil. Om en användare kör ett program som en ordbehandlare öppnas inte filen automatiskt. Istället öppnar och aktiverar ordbehandlaren bara filen när den behövs, i det här fallet när användaren vill skriva ut ett dokument.

Historiskt sett skrev många applikationsutvecklare helt enkelt kod som sa vad namnet på det relevanta biblioteket för dynamisk länk kallades, snarare än att ange exakt var den skulle placeras på datorn. För att komma runt detta har Windows® ett uppsättningssystem för att hitta saknade DLL-filer genom att söka i en uppsättning lista med platser i en definierad ordning. Även om detta teoretiskt skulle kunna utnyttjas om en skadlig fil som är förklädd som en DLL-fil placerades på rätt plats och därmed hittades och öppnades före den legitima filen, betraktades detta inte som en stor säkerhetsrisk eftersom hackare skulle behöva fysisk tillgång till en maskin för att få den skadliga filen på plats.

2010 upptäcktes att hackare teoretiskt sett kunde få sådana filer på plats via en fjärranslutning: det vill säga över Internet. Detta innebar att dussintals Windows®-applikationer var sårbara för attacker med denna metod. Säkerhetsgemenskapen var uppdelad om huruvida det var bättre för enskilda applikationer att skrivas om för att ange platsen för den legitima DLL-filen, som förlitade sig på att varje utvecklare vidtog åtgärder, eller för Microsoft att ändra hur Windows® hanterar sådana filer, som kan orsaka att applikationer slutar fungera ordentligt.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?