Et sikkerhetsproblem ble nylig oppdaget i Microsoft Windows-operativsystemer som utnytter standard dll legge atferd.
En sikkerhetsveiledning (Microsoft Security Advisory forklarer at “problemet er forårsaket av spesifikke usikre programmering praksiser som gjør såkalte binære plante-eller DLL-forhåndslaste angrep”.
I enkle termer: Programmer som ikke bruker kvalifisert stier for ekstern dynamisk kobling biblioteker bruk standard Windows-innstillinger for å finne de dll-filer på systemet, og en av de første stedene som det skal søkes i er programmet katalog, som kan være en lokal eller ekstern katalog.
Utnyttelsen av dll-filer rett og slett nødt til å bli plassert i de kataloger som skal utføres av programmer. Berørte er mange populære programmer, inkludert Firefox, VLC, Opera, Photoshop, uTorrent eller PowerPoint.
Microsoft publiserte mer informasjon om DLL forhåndslaste eksterne angrep vektor i et blogginnlegg på Sikkerhet Forskning og Forsvar blogg.
Blant informasjonen er en løsning som krever etablering av Register-tastene for å endre bibliotek legge atferd, enten på et system bredt nivå, eller for spesifikke applikasjoner.
Du kan åpne registerredigering på følgende måte:
- Trykk på Windows-tasten, skriv inn regedit, og trykk enter.
- Bekreft UAC-spørsmål.
- Naviger til følgende bane: HKEY_LOCAL_MACHINE/SYSTEM CurrentControlSet/Kontroll/Session Manager/CWDIllegalInDllSearch
- Eller denne banen, hvis du ønsker å konfigurere programmet-bestemt atferd: HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Image File Execution Options/binaryname.exe/CWDIllegalInDllSearch
For å opprette CWDIllegalInDllSearch-tasten, høyre-klikk på Session Manager, og velg Ny – > Dword (32-biters Verdi) hvis du ønsker å forbedre beskyttelsen på et system-wide nivå, eller høyre-klikk på “Image File Execution Options, velg Ny – > – Tasten, gi det et navn som filen navnet på programmet du ønsker å herde mot angrep, og deretter høyreklikk på den nøkkelen du opprettet, og velg Ny – > Dword (32-biters Verdi), samt for å skape CWDIllegalInDllSearch.
Begge tastene støtter følgende verdier, som har ulike virkninger avhengig av plasseringen av programmet:
Scenario 1: programmet er startet fra en lokal mappe, for eksempel C:Program Filer
0xffffffff Fjerner den gjeldende arbeidsmappen fra standard DLL-søk for.
0 Bruker standard DLL-søk banen. Dette er standard Windows, og den minst sikre innstillingen.
1 Blokkerer en DLL-filen lastes inn fra gjeldende arbeidsmappe hvis den gjeldende arbeidsmappen er satt til en WebDAV-mappe.
2 Kvartaler innlasting av en DLL fra den gjeldende arbeidsmappen hvis den gjeldende arbeidsmappen er satt til en ekstern mappe.Scenario 2: programmet er startet fra en ekstern mappe, for eksempel \remoteshare
0xffffffff Fjerner den gjeldende arbeidsmappen fra standard DLL-søk for.
0 Bruker standard DLL-søk banen. Dette er standard Windows, og den minst sikre innstillingen.
1 Blokkerer en DLL-filen lastes inn fra gjeldende arbeidsmappe hvis den gjeldende arbeidsmappen er satt til en WebDAV-mappe.
2 Gjør at DLL-filen lastes inn fra gjeldende arbeidsmappe hvis den gjeldende arbeidsmappen er satt til en ekstern mappe. DLL-er som lastes inn fra en WebDAV-aksje er blokkert hvis den gjeldende arbeidsmappen er satt til en WebDAV-aksje.Scenario 3: programmet er startet fra en WebDAV-mappe, for eksempel http://remote/share
0xffffffff Fjerner den gjeldende arbeidsmappen fra standard DLL-søk for.
0 Bruker standard DLL-søk banen. Dette er standard Windows, og den minst sikre innstillingen.
Den foreslåtte verdien er 0xffffffff som det beskytter systemet mot disse typer dll side-loading-angrep. Vær oppmerksom på at du kan kjøre inn kompatibilitetsproblemer når du gjør endringer på en system-wide nivå.
Du kan bruke programmet-innstilling er i dette tilfellet å endre standardverdien.