Usikkert DLL-helvede i Windows sender udviklere på overarbejde
Windows' særlige DLL-filer gør det muligt for applikationer at dele en funktion og spare hukommelse. Men DLL-filerne er også blevet beskrevet som et helvede, fordi udvikleren af applikationen ikke har fuld kontrol over, hvor en bestemt DLL-fil ligger.
Det problem har medført et sikkerhedshul, som har været kendt i flere år, men som nu har fået rettet den store projektør mod sig, efter nye beskrivelser af, hvordan sikkerhedshullet kan udnyttes. Det skriver SANS Internet Storm Center.
Microsoft har derfor udsendt en sikkerhedsadvarsel, som lidt usædvanligt mest er et opråb til udviklere af Windows-applikationer, som skal sørge for at implementere sikker søgning efter DLL-filer.
»Microsoft er ved at undersøge, hvilke Microsoft-applikationer, som benytter det. Tredjepartsudviklere bliver informeret via Microsoft Vulnerability Research Program. Vi opfordrer til, at man gør søgningen mere specifik, så man har hele søgestien med,« siger sikkerhedschef Morten Juul Nielsen fra Microsoft Danmark.
Problemet ligger i den rækkefølge, hvori Windows søger efter en DLL-fil, som efterspørges af en applikation. DLL-filer håndterer alt fra tekster til fejlmeddelelser over dialogbokse til internetkommunikation. Og fordelen er, at udvikleren af en applikation ikke behøver at inkludere en bestemt DLL i sin applikation.
Under applikationen vil der desuden ligge et større hierarki af DLL-filer, som applikationen er afhængig af, men som udvikleren ikke nødvendigvis er klar over.
Microsoft har derfor frigivet et værktøj, som kan hjælpe med at finde ud af, om en bestemt applikation mangler DLL-filer og søger efter dem på en måde, som kan være et sikkerhedsproblem.
Det vil ske, hvis søgningen efter en DLL-fil sker, mens det aktive arbejdsbibliotek, current working directory, er sat til eksempelvis en ekstern webressource via WebDAV. Det aktive bibliotek er nemlig den mappe, hvor Windows først vil forsøge at finde en DLL-fil, som en applikation efterspørger.
Et hotfix, som man dog bør teste grundigt, tilføjer en værdi til Registreringsdatabasen i Windows, og gør det muligt at blokere for enten det aktive bibliotek, WebDAV eller eksterne biblioteker.
Løsningen er ifølge Microsoft ikke umiddelbart en rettelse til Windows, men derimod at softwareudviklere er nødt til at rette deres applikationer til, så de følger retningslinjerne for at undgå problemet. Problemet har været kendt længe, og det gælder også de gode skikke, som kan sikre mod, det bliver udnyttet.
»Det er en forebyggende måde at håndtere problemet på. Som det er lige nu, så er det laboratorieforsøg. Der er ingen, der er blevet angrebet,« siger Morten Juul Nielsen.
Hele DLL-strukturen er blevet kritiseret flere gange op gennem Windows-historien, men Microsoft har ingen planer om at lave om på brugen af DLL, hvilket ville afskære al bagudkompatibilitet. Til gengæld har Microsoft mulighed for at ændre standardrækkefølgen af, hvilke biblioteker der bliver gennemsøgt for manglende DLL-filer.

