Malwareanalys är en process eller teknik för att bestämma ursprunget och potentiell inverkan av ett specificerat malwareprov. Malware kan vara allt som ser skadligt ut eller fungerar som ett virus, mask, bugg, trojan, spionprogram, adware etc. Varje misstänkt programvara som kan skada ditt system kan betraktas som en skadlig kod. Oberoende av den ökande användningen av programvaran mot malware, är världen uppenbar för en snabb utveckling i malwareattacker. Allt som är anslutet till Internet är benäget för malware attack.
Detekteringen av skadlig kod fortsätter att utgöra en utmaning, eftersom potentiella angripare hittar nya och avancerade sätt att fly från upptäcktsmetoder. Det är här malwareanalys kommer till bilden.
Malware-analys ger en bättre förståelse för hur en malware fungerar och vad som kan göras för att eliminera dessa hot. Malwareanalysen kan göras med olika mål i åtanke för att förstå omfattningen av skadlig programinfektion, att känna till följderna av malwareangreppet, för att identifiera malwareens art och för att fastställa malwareens funktionalitet.
Det finns två typer av metoder som används för att upptäcka och analysera skadlig kod: Statisk skadlig analys och dynamisk skadlig analys. Statisk analys innebär att man granskar det givna malwareprovet utan att faktiskt köra det, medan Dynamisk analys utförs systematiskt i en kontrollerad miljö. Vi presenterar en opartisk jämförelse mellan de två som hjälper dig att bättre förstå metoderna för skadlig analys.
Statisk analys är en process för att analysera ett binärt malware utan att koden verkligen körs. Statisk analys utförs vanligen genom att bestämma signaturen för binärfilen som är en unik identifiering för binärfilen och kan göras genom att beräkna filens kryptografiska hash och förstå varje komponent.
Den binära filen för skadlig kod kan omvandlas genom att ladda körbar till en demonterare, t.ex. IDA. Den maskin-exekverbara koden kan konverteras sammansättningsspråkskod så att den lätt kan läsas och förstås av människor. Analytikern ser då på programmet för att få en bättre förståelse för vad den kan och vad det är programmerat att göra.
Dynamisk analys innebär att man kör malwareprovet och observerar sitt beteende på systemet för att avlägsna infektionen eller stoppa den från att sprida sig till andra system. Systemet är inställt i en sluten, isolerad virtuell miljö så att malwareprovet kan studeras noggrant utan risk för skador på ditt system.
Vid avancerad dynamisk analys kan en debugger användas för att bestämma funktionaliteten för den skadliga programvaran som annars skulle ha varit svår att få med andra tekniker. Till skillnad från statisk analys är det beteendebaserat, så det är svårt att sakna viktiga beteenden.
Malware kan uppträda annorlunda beroende på vad de är programmerade att göra, vilket gör det allt viktigare att förstå deras funktionaliteter. Det finns i princip två metoder för att göra det: Statisk analys och dynamisk analys. Statisk analys är en process för att bestämma ursprunget för skadliga filer för att förstå deras beteende utan att egentligen utföra skadlig programvara. Dynamisk analys är å andra sidan en mer detaljerad process av upptäckt och analys av skadlig kod som utförs i en kontrollerad miljö och hela processen övervakas för att observera malwareens beteende.
Statisk malwareanalys är ett ganska enkelt och okomplicerat sätt att analysera ett malwareprov utan att faktiskt utföra det, så processen kräver inte att analytikern går igenom varje fas. Det observerar helt enkelt malwareens beteende för att avgöra vad det kan eller vad det kan göra för systemet. Dynamisk skadlig kodsanalys innefattar däremot en grundlig analys med hjälp av beteendet och handlingarna i malwareprovet under körning för att få en bättre förståelse för provet. Systemet är inställt i en sluten och isolerad miljö med korrekt övervakning.
Statisk analys innebär att man analyserar signaturen för binärfilen för skadlig kod som är en unik identifiering för binärfilen. Den binära filen kan omvandlas med hjälp av en disassembler som IDA för att konvertera maskinkörbar kod till sammansättningsspråkskod för att göra det mänskligt läsbart. Några av de tekniker som används för statisk analys är filfingeravtryck, virusskanning, minnesdumpning, paketdetektering och felsökning. Dynamisk analys innebär att man analyserar malwareens beteende i en sandlåda miljö så att den inte påverkar andra system. Manuell analys ersätts av automatisk analys genom kommersiella sandlådor.
Statisk analys använder sig av en signaturbaserad metod för att upptäcka och analysera skadlig kod. En signatur är inget annat än en unik identifierare för en specifik skadlig kod som är en sekvens av byte. Olika mönster används för att söka efter signaturer. Signaturbaserade antimalwareprogram är effektiva mot de flesta vanliga typerna av skadlig kod, men är ineffektiva mot sofistikerade och avancerade skadliga program. Det är här dynamisk analys kommer till bild. I stället för ett signaturbaserat tillvägagångssätt använder dynamisk analys ett beteendebaserat tillvägagångssätt för att bestämma malwareens funktionalitet genom att studera de åtgärder som utförs av den givna skadliga programvaran.
Detektion, identifiering och preliminär analys är avgörande för malwareanalys och det är väldigt mycket nödvändigt att köra en systemanalys för att innehålla spridningen av skadlig kod för att stoppa det från att sprida sig till andra produktiva system eller filer och kataloger. I den här artikeln jämförde vi malwaredetekteringstekniker baserat på statisk och dynamisk malwareanalys. Båda är de allmänt använda teknikerna för att upptäcka skadlig kod, förutom att statisk analys använder sig av en signaturbaserad tillvägagångssätt, medan dynamisk analys använder en beteendebaserad metod för att upptäcka skadlig kod. Oavsett vilken teknik som används för att upptäcka skadlig kod, tillåter båda metoderna oss att få en bättre förståelse för hur malware fungerar och vad kan vi göra åt det.