Å innse at en angrepsvektor har kjørt i nettverket ditt rett under nesen din kan være sjokkerende. Du spilte din rolle ved å implementere det som virket som effektive sikkerhetsforsvar, men angriperen klarte å omgå dem uansett. Hvordan var det mulig?
De kunne ha implementert prosessinjeksjon ved å sette inn ondsinnede koder i dine legitime prosesser. Hvordan fungerer prosessinjeksjon, og hvordan kan du forhindre det?
Hva er prosessinjeksjon?
Prosessinjeksjon er en prosess der en angriper injiserer ondsinnede koder i en legitim og live prosess i et nettverk. Utbredt med malware-angrep, lar det cyberaktører infisere systemer på de mest beskjedne måtene. En avansert cyberangrepsteknikk, inntrengeren setter inn skadelig programvare i de gyldige prosessene dine og nyter privilegiene til disse prosessene.
Hvordan fungerer prosessinjeksjon?
De mest effektive typene angrep er de som kan kjøre i bakgrunnen uten å vekke mistanke. Normalt kan du oppdage en trussel mot skadelig programvare ved å skissere og undersøke alle prosessene i nettverket ditt. Men å oppdage prosessinjeksjon er ikke så lett fordi kodene skjuler seg under skyggene av dine legitime prosesser.
Siden du har godkjent de autoriserte prosessene dine, vil deteksjonssystemene dine bekrefte at de er gyldige uten indikasjon på at noe er galt. Injiserte prosesser omgår også disketterforskning fordi de ondsinnede kodene kjører i minnet til den lovlige prosessen.
Angriperen bruker usynligheten til kodene for å få tilgang til alle aspekter av nettverket ditt som de legitime prosessene de gjemmer seg under kan få tilgang til. Dette inkluderer visse administrative privilegier som du ikke vil gi omtrent hvem som helst.
Selv om prosessinjeksjon lett kan gå ubemerket hen, kan avanserte sikkerhetssystemer oppdage dem. Så nettkriminelle hever standarden ved å utføre det på de mest upretensiøse måtene som slike systemer vil overse. De bruker grunnleggende Windows-prosesser som cmd.exe, msbuild.exe, explorer.exe, etc. å sette i gang slike angrep.
3 Prosessinjeksjonsteknikker
Det finnes forskjellige prosessinjeksjonsteknikker for forskjellige formål. Siden aktører på nettrussel er svært kunnskapsrike om ulike systemer og deres sikkerhetsstatus, bruker de den mest passende teknikken for å øke suksessraten. La oss se på noen av dem.
1. DLL-injeksjon
DLL (Dynamic Link Library)-injeksjon er en prosessinjeksjonsteknikk der hackeren bruker en dynamisk koblingsbibliotek for å påvirke en kjørbar prosess, og tvinge den til å oppføre seg på måter du ikke hadde tenkt eller forvente.
Angrepet injiserer koden med den hensikt å overstyre den originale koden i systemet ditt og fjernkontrollere den.
DLL-injeksjon er kompatibel med flere programmer, og lar programmene bruke koden flere ganger uten å miste gyldigheten. For at en DLL-injeksjonsprosess skal lykkes, må skadelig programvare inneholde data fra den forurensede DLL-filen i nettverket ditt.
2. PE-injeksjon
En Portable Execution (PE) er en prosessinjeksjonsmetode der en angriper infiserer en gyldig og aktiv prosess i nettverket ditt med et skadelig PE-bilde. Det er enklere enn andre prosessinjeksjonsteknikker, da det ikke krever ferdigheter med skallkoding. Angripere kan enkelt skrive PE-koden i grunnleggende C++.
PE-injeksjon er diskfri. Skadevaren trenger ikke å kopiere dataene sine til noen disk før injeksjonen begynner.
3. Prosess uthuling
Process Hollowing er en prosessinjeksjonsteknikk der angriperen, i stedet for å bruke en eksisterende legitim prosess, oppretter en ny prosess, men infiserer den med ondsinnet kode. Angriperen utvikler den nye prosessen som en svchost.exe-fil eller notisblokk. På den måten vil du ikke finne det mistenkelig selv om du skulle oppdage det på prosesslisten din.
Den nye skadelige prosessen starter ikke umiddelbart. Den nettkriminelle gjør den inaktiv, kobler den til den legitime prosessen og skaper plass til den i systemets minne.
Hvordan kan du forhindre prosessinjeksjon?
Prosessinjeksjon kan ødelegge hele nettverket ditt ettersom angriperen kan ha det høyeste tilgangsnivået. Du gjør arbeidet deres mye enklere hvis de injiserte prosessene er kjent for dine mest verdsatte eiendeler. Dette er et angrep du må forsøke å forhindre hvis du ikke er klar til å miste kontrollen over systemet ditt.
Her er noen av de mest effektive måtene å forhindre prosessinjeksjon.
1. Vedta hvitelisting
Hvitelisting er prosessen med liste opp et sett med applikasjoner som kan komme inn i nettverket ditt basert på sikkerhetsvurderingen din. Du må ha ansett varene på hvitelisten din som harmløse, og med mindre innkommende trafikk faller innenfor dekningen av hvitelisten din, kan de ikke passere.
For å forhindre prosessinjeksjon med hvitelisting, må du også legge til brukerinndata på hvitelisten din. Det må være et sett med inndata som har lov til å gå gjennom sikkerhetskontrollene dine. Så hvis en angriper kommer med innspill utenfor din jurisdiksjon, vil systemet blokkere dem ute.
2. Overvåke prosesser
I den grad en prosessinjeksjon kan omgå noen sikkerhetskontroller, kan du snu det ved å følge nøye med på prosessatferden. For å gjøre dette må du først skissere den forventede ytelsen til en bestemt prosess og deretter sammenligne den med dens nåværende ytelse.
Tilstedeværelsen av ondsinnede koder i en prosess vil forårsake noen endringer, uansett hvor lite de måtte være i en prosess. Normalt vil du overse disse endringene fordi de er ubetydelige. Men når du er opptatt av å oppdage forskjeller mellom forventet ytelse og nåværende ytelse via prosessovervåking, vil du legge merke til anomalien.
3. Kode utgang
Cybertrusselaktører bruker ofte Cross-Site Scripting (XSS) for å injisere farlig koder i en prosessinjeksjon. Disse kodene blir til skript som kjører i bakgrunnen av nettverket ditt uten at du vet det. Du kan forhindre at det skjer ved å undersøke og rense alle mistenkelige innganger. På sin side vil de vises som data og ikke skadelige koder som tiltenkt.
Utdatakoding fungerer best med HTML-koding – en teknikk som lar deg kode variabel utdata. Du identifiserer noen spesialtegn og erstatter dem med alternativer.
Forhindre prosessinjeksjon med intelligensdrevet sikkerhet
Prosessinjeksjon skaper et røykteppe som dekker over ondsinnede koder i en gyldig og operasjonell prosess. Det du ser er ikke det du får. Angripere forstår effektiviteten av denne teknikken og bruker den kontinuerlig til å utnytte brukere.
For å bekjempe prosessinjeksjoner, må du overliste angriperen ved å være ikke så tydelig med forsvaret ditt. Iverksette sikkerhetstiltak som vil være usynlige på overflaten. De vil tro at de spiller deg, men uten at de vet det, er du den som spiller dem.