Skadevare

DLL-kapring av sårbarhetsangrep, forebygging og oppdagelse

DLL-kapring av sårbarhetsangrep, forebygging og oppdagelse

DLL står for Dynamic Link Libraries og er eksterne deler av applikasjoner som kjører på Windows eller andre operativsystemer. De fleste applikasjoner er ikke komplette i seg selv og lagrer kode i forskjellige filer. Hvis det er behov for koden, blir den relaterte filen lastet inn i minnet og brukt. Dette reduserer filstørrelsen på applikasjonen mens du optimaliserer bruken av RAM. Denne artikkelen forklarer hva som er DLL-kapring og hvordan man oppdager og forhindrer det.

Hva er DLL-filer eller Dynamic Link Libraries

DLL-filer er Dynamic Link Libraries, og som det fremgår av navnet, er utvidelser av forskjellige applikasjoner. Enhver applikasjon vi bruker, kan eller ikke bruke visse koder. Slike koder lagres i forskjellige filer og blir påkalt eller lastet inn i RAM bare når den relaterte koden er nødvendig. Dermed sparer det en applikasjonsfil fra å bli for stor og for å forhindre ressurssuging av applikasjonen.

Stien for DLL-filer er satt av Windows-operativsystemet. Banen er satt ved hjelp av globale miljøvariabler. Hvis et program ber om en DLL-fil, ser operativsystemet som standard inn i den samme mappen der applikasjonen er lagret. Hvis den ikke finnes der, går den til andre mapper som angitt av de globale variablene. Det er prioriteringer knyttet til stier, og det hjelper Windows med å bestemme hvilke mapper du skal se etter DLL-ene. Det er her DLL-kapring kommer inn.

Hva er DLL-kapring

Siden DLLer er utvidelser og er nødvendige for å bruke nesten alle applikasjoner på maskinene dine, er de til stede på datamaskinen i forskjellige mapper som forklart. Hvis den opprinnelige DLL-filen erstattes med en falsk DLL-fil som inneholder skadelig kode, er den kjent som DLL-kapring.

Som nevnt tidligere er det prioriteringer hvor operativsystemet ser etter DLL-filer. Først ser den inn i samme mappe som applikasjonsmappen, og deretter søker den, basert på prioriteringene som er satt av operativsystemets miljøvariabler. Dermed hvis en god.dll-filen er i SysWOW64-mappen, og noen legger feil.dll i en mappe som har høyere prioritet sammenlignet med SysWOW64-mappen, vil operativsystemet bruke det dårlige.dll-fil, siden den har samme navn som DLL-en som applikasjonen ber om. Når du er i RAM, kan den utføre den ondsinnede koden i filen, og kan kompromittere datamaskinen eller nettverkene dine.

Hvordan oppdage DLL-kapring

Den enkleste metoden for å oppdage og forhindre DLL-kapring er å bruke tredjepartsverktøy. Det er noen gode gratisverktøy tilgjengelig i markedet som hjelper med å oppdage et DLL-hackforsøk og forhindre det.

Et slikt program er DLL Hijack Auditor, men det støtter bare 32-biters applikasjoner. Du kan installere den på datamaskinen din og skanne alle Windows-applikasjonene dine for å se hva alle applikasjoner er sårbare for DLL-kapring. Grensesnittet er enkelt og selvforklarende. Den eneste ulempen med dette programmet er at du ikke kan skanne 64-biters applikasjoner.

Et annet program for å oppdage DLL-kapring, DLL_HIJACK_DETECT, er tilgjengelig via GitHub. Dette programmet sjekker applikasjoner for å se om noen av dem er sårbare for DLL-kapring. Hvis det er det, informerer programmet brukeren. Applikasjonen har to versjoner - x86 og x64, slik at du kan bruke hver til å skanne henholdsvis 32-biters og 64-biters applikasjoner.

Det skal bemerkes at de ovennevnte programmene bare skanner applikasjonene på Windows-plattformen for sårbarheter og faktisk ikke forhindrer kapring av DLL-filer.

Hvordan forhindre DLL-kapring

Problemet bør takles av programmererne i utgangspunktet, da det ikke er mye du kan gjøre bortsett fra å øke sikkerhetssystemene dine. Hvis programmerere begynner å bruke en absolutt bane i stedet for en relativ bane, vil sårbarheten bli redusert. Hvis du leser den absolutte banen, vil ikke Windows eller annet operativsystem være avhengig av systemvariabler for banen, og vil gå rett for den tiltenkte DLL, og dermed avvise sjansene for å laste inn samme navn DLL i en høyere prioritetsbane. Denne metoden er ikke feilsikker fordi hvis systemet er kompromittert, og nettkriminelle vet den eksakte banen til DLL, vil de erstatte den opprinnelige DLL med den falske DLL. Det vil overskrive filen slik at den opprinnelige DLL-en blir endret til skadelig kode. Men igjen må nettkriminelle vite den nøyaktige absolutte banen som er nevnt i applikasjonen som krever DLL. Prosessen er tøff for nettkriminelle og kan derfor regnes med.

Når du kommer tilbake til det du kan gjøre, er det bare å prøve å øke sikkerhetssystemene dine for å sikre Windows-systemet ditt bedre. Bruk en god brannmur. Hvis mulig, bruk en maskinvarebrannmur eller slå på ruteren. Bruk gode inntrengingsdeteksjonssystemer slik at du vet om noen prøver å leke med datamaskinen din.

Hvis du er interessert i feilsøking av datamaskiner, kan du også utføre følgende for å øke sikkerheten din:

  1. Deaktiver DLL-lasting fra eksterne nettverksaksjer
  2. Deaktiver lasting av DLL-filer fra WebDAV
  3. Deaktiver WebClient-tjenesten helt eller sett den til manuell
  4. Blokkér TCP-portene 445 og 139 ettersom de brukes mest til å kompromittere datamaskiner
  5. Installer de siste oppdateringene til operativsystemet og sikkerhetsprogramvaren.

Microsoft har gitt ut et verktøy for å blokkere angrep på DLL-kapring. Dette verktøyet reduserer risikoen for DLL-kapringangrep ved å forhindre applikasjoner i å laste kode fra DLL-filer på en usikker måte.

Hvis du vil legge til noe i artikkelen, kan du kommentere nedenfor.

HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...
Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...
Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...