Vad är ett dynamiskt länkbibliotek?
Ett dynamiskt länkbibliotek är ett system som används av Microsoft för att låta flera applikationer komma åt samma avsnitt av kod i Windows® samtidigt. Detta är en av nycklarna till multitasking att arbeta 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, det är 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 behandlingsförmågor. Windows® är i slutändan en uppsättning datorkoder som effektivt fungerar som regelboken eller guiden för hur applikationer interagerar med varandra och med hårdvaran.
Det dynamiska länkbiblioteket är det system som applicatJoner kan komma åt och köra enskilda avsnitt av Windows® -kod. Ett exempel skulle vara avsnittet i Windows® som ansvarar för utskriftsdokument. De flesta applikationer måste komma åt den här funktionen vid någon tidpunkt, men om varje applikation laddar den relevanta koden 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 en applikation som en ordbehandlare öppnas inte den här filen. Istället öppnar och aktiverar ordprocessorn endast filen som och när den behövs, i det här fallet när användaren vill skriva ut ett dokument.
Historiskt skrev många applikationsutvecklare helt enkelt kod som sa vad namnet på releVant Dynamic Link Library kallades, snarare än att specificera exakt var det borde vara beläget 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ättningslista med platser i en definierad ordning. Även om detta teoretiskt kan utnyttjas om en skadlig fil förklädd som en DLL -fil sattes på rätt plats och därmed hittades och öppnades före den legitima filen, ansågs detta inte vara en viktig säkerhetsrisk eftersom hackare skulle behöva fysisk åtkomst till en maskin för att få den skadliga filen på plats.
2010 upptäcktes att hackare teoretiskt kunde få sådana filer på plats via en avlägsen anslutning: det vill säga över internet. Detta innebar att dussintals Windows® -applikationer var sårbara för attacker med hjälp av denna metod. Säkerhetsgemenskapen delades om huruvida det var bättre för enskilda applikationer att skrivas om för att specificera platsen för den legitima DLL -filen, som förlitade sig på att varje utvecklare vidtog åtgärder, ellerFör att Microsoft ska ändra hur Windows® hanterar sådana filer, som potentiellt kan få applikationer att sluta fungera korrekt.