Malware-analyse er en prosess eller teknikk for å bestemme opprinnelsen og potensiell innvirkning av en spesifisert malware-prøve. Malware kan være noe som ser ondsinnet ut eller virker som et virus, orm, bug, trojan, spyware, adware osv. Enhver mistenkelig programvare som kan skade systemet ditt, kan betraktes som en malware. Uavhengig av den økende bruken av programvare for anti-malware, opplever verden en rask utvikling i malwareangrep. Alt som er koblet til Internett er utsatt for malware angrep.
Malware deteksjon fortsetter å utgjøre utfordring som potensielle angripere finner nye og avanserte måter å unnslippe fra deteksjonsmetoder. Det er her malwareanalyse kommer til bildet.
Malware analyse gir en bedre forståelse av hvordan en malware fungerer og hva som kan gjøres for å eliminere disse truslene. Malwareanalysen kan gjøres med ulike mål i tankene som å forstå omfanget av malwareinfeksjon, å vite konsekvensene av malwareangrepet, for å identifisere malwareens art og for å fastslå malwareens funksjonalitet.
Det finnes to typer metoder som brukes til å oppdage og analysere malware: Statisk skadelig programvareanalyse og dynamisk analyse av skadelig programvare. Statisk analyse innebærer å undersøke den oppgitte malware-prøven uten å kjøre den, mens dynamisk analyse utføres systematisk i et kontrollert miljø. Vi presenterer en objektiv sammenligning mellom de to for å hjelpe deg med å forstå metodene for malware-analyse bedre.
Statisk analyse er en prosess for å analysere en malware binær uten å faktisk kjøre koden. Statisk analyse utføres vanligvis ved å bestemme signaturen til binærfilen som er en unik identifikasjon for binærfilen og kan gjøres ved å beregne filens kryptografiske hash og forstå hver komponent.
Binærfilen for skadelig programvare kan omvendt konstrueres ved å laste den kjørbare til en demonterer som IDA. Den maskin-kjørbare koden kan konverteres monteringsspråkkode slik at den lett kan leses og forstås av mennesker. Analytikeren ser da på programmet for å få en bedre forståelse av hva det er i stand til og hva det er programmert til å gjøre.
Dynamisk analyse innebærer å kjøre malwareprøven og observere sin oppførsel på systemet for å fjerne infeksjonen eller stoppe den fra å spre seg inn i andre systemer. Systemet settes opp i et lukket, isolert virtuelt miljø slik at malware-prøven kan studeres grundig uten risiko for skade på systemet ditt.
I avansert dynamisk analyse kan en debugger brukes til å bestemme funksjonaliteten til skadelig programvare som ellers ville vært vanskelig å oppnå ved hjelp av andre teknikker. I motsetning til statisk analyse er det adferdsbasert, så det er vanskelig å savne viktige oppføringer.
Malware kan oppføre seg annerledes avhengig av hva de er programmert til å gjøre som gjør det enda viktigere å forstå funksjonaliteten deres. Det er i utgangspunktet to metoder for å gjøre det: Statisk analyse og dynamisk analyse. Statisk analyse er en prosess for å bestemme opprinnelsen til ondsinnede filer for å forstå deres oppførsel uten å faktisk utføre skadelig programvare. Dynamisk analyse er derimot en mer detaljert prosess for malware deteksjon og analyse utført i et kontrollert miljø og hele prosessen overvåkes for å observere oppførselen til malware.
Statisk malware analyse er en ganske enkel og grei måte å analysere et malware utvalg uten å faktisk utføre det, slik at prosessen ikke krever at analytikeren går gjennom hver fase. Det observerer bare oppførselen til malware for å avgjøre hva det er i stand til eller hva det kan gjøre med systemet. Dynamisk malwareanalyse innebærer derimot en grundig analyse med bruk av oppførsel og handlinger av malware-prøven under utførelse for å få bedre forståelse av prøven. Systemet settes opp i et lukket og isolert miljø med riktig overvåking.
Statisk analyse innebærer å analysere signaturen til binærfilen for skadelig programvare som er en unik identifikasjon for binærfilen. Den binære filen kan omvendt konstrueres ved hjelp av en demonterer som IDA for å konvertere maskinkoden til samlingskode for å gjøre det menneskelig lesbart. Noen av teknikkene som brukes til statisk analyse er filfingeravtrykk, virusskanning, minnedumping, pakkedeteksjon og feilsøking. Dynamisk analyse innebærer å analysere oppførsel av skadelig programvare i et sandkasse miljø, slik at det ikke vil påvirke andre systemer. Manuell analyse erstattes av automatisert analyse gjennom kommersielle sandkasser.
Statisk analyse bruker en signaturbasert tilnærming til malware-deteksjon og analyse. En signatur er ingenting annet enn en unik identifikator for en bestemt malware som er en sekvens av byte. Ulike mønstre brukes til å skanne etter signaturer. Signaturbaserte antimalwareprogrammer er effektive mot de fleste vanlige typer malware, men er ineffektive mot sofistikerte og avanserte malwareprogrammer. Det er her dynamisk analyse kommer til bilde. I stedet for en signaturbasert tilnærming bruker dynamisk analyse en oppførselsbasert tilnærming til å bestemme malwareens funksjonalitet ved å studere handlinger utført av den angitte malware.
Deteksjon, identifikasjon og foreløpig analyse er avgjørende for malwareanalyse, og det er veldig viktig å kjøre en systemanalyse for å holde spredningen av skadelig programvare, slik at den ikke sprer seg til andre produktive systemer eller filer og kataloger. I denne artikkelen sammenlignet vi malware-deteksjonsteknikker basert på statisk og dynamisk malwareanalyse. Begge er de mye brukte teknikkene for malware-deteksjon, bortsett fra at statisk analyse bruker en signaturbasert tilnærming, mens dynamisk analyse bruker en oppførselbasert tilnærming til malware-deteksjon. Uansett hvilken teknikk som brukes til oppdagelse av skadelig programvare, gir begge metodene oss en bedre forståelse av hvordan malware fungerer og hva kan vi gjøre med det.