Hoewel het risico beperkt wordt door het feit dat iemand eerst een DLL op je desktop moet zien te plaatsen (of in een andere bekende map die op dat moment toevallig je "current working directory" is), moet je niet denken "ik gebruik geen Internet Explorer dus mij kan niks gebeuren".
Bijna alle Windows applicaties, bijv. ook Firefox en calc.exe, kunnen onder bepaalde omstandigheden IESHIMS.DLL (en WER.DLL) proberen te laden (ik heb geen idee onder welke omstandigheden, maar als aanvallers dit eerder ontdekken -of al weten- dan jij heb je mogelijk een probleem). Dat dit zo is kun je zien met het gratis programma Dependency Walker, dat je kunt vinden op
http://www.dependencywalker.com/.
De oorzaak ligt erin dat alle programma's die SHELL32.DLL laden (en dat zijn er VEEL).
SHELL32.DLL op zijn beurt *kan* (of zal, dat weet ik niet precies) o.a SHDOCVW.DLL laden
SHDOCVW.DLL op zijn beurt *kan* (of zal, dat weet ik niet precies) o.a MSHTML.DLL laden
MSHTML.DLL op zijn beurt *kan* (of zal, dat weet ik niet precies) o.a IEFRAME.DLL laden
IEFRAME.DLL op zijn beurt *kan* (of zal, dat weet ik niet precies) o.a. IESHIMS.DLL en WER.DLL laden.
Het probleem zit hem in IESHIMS.DLL en WER.DLL: die komen niet voor op een standaard XPSP3 systeem met IE8 (met andere browserversies en besturingsystemen weet ik het niet, heb ik niet onderzocht). Waarom deze niet worden geinstalleerd met IE8 weet ik niet. Het niet voorkomen ervan restulteert erin dat, op het moment dat
iets in die chain IESHIMS.DLL en/of WER.DLL probeert te laden, Microsoft by default ook in de "Current Working Directory" naar die DLL's zal zoeken. Als die gevonden worden en kwaadaardige content bevatten ben je "het bokje".
Ik ken momenteel 3 fixes om dit scenario te voorkomen:
(1) Installeer de juiste versies van IESHIMS.DLL en WER.DLL op je PC. Ik heb echter geen idee waar ik (betrouwbare versies) van deze DLL's kan vinden. Iemand!?!?
(2) Installeer de handmatige Microsoft Update KB2264107 en zet CWDIllegalInDllSearch op 0xFFFFFFFF (de door Microsoft geboden FixIt beschermt je alleen tegen exploits op WebDAV en netwerkdrives,
niet tegen exploits op je eigen PC of USB disks). Meer info:
https://secure.security.nl/artikel/34260/1/Problemen_na_DLL-lek-patch_KB2264107_en_CWDIllegalInDllSearch%3DFFFFFFFF.html. Deze aanpak kent echter vervelende bijwerkingen.
(3) Zie de 1e bijdrage onder
http://isc.sans.edu/diary.html?storyid=9445. Daarin wordt voorgesteld om
dummy DLL's (zonder functionaliteit) genaamd IESHIMS.DLL en WER.DLL op je systeem te zetten (in een directory die eerder wordt doorzocht dan de CWD, bijv. C:\Windows\System32\).
Wijziging 2010-09-04 23:16: typos gefixed, rechtsbovenin stond ISHIMS.DLL, correct is IESHIMS.DLL; en in het rijtje stond bij de laatste 2 regels links steeds MSHTML.DLL, de onderste regel moet zijn IEFRAME.DLL