Vis enkel innførsel

dc.contributor.advisorFranke, Katrin
dc.contributor.advisorShalaginov, Andrii
dc.contributor.authorFauskrud, Joakim
dc.date.accessioned2019-09-19T14:00:56Z
dc.date.available2019-09-19T14:00:56Z
dc.date.issued2019
dc.identifier.urihttp://hdl.handle.net/11250/2617745
dc.description.abstractFlere millioner ondsinnede Android applikasjoner (skadevare) detekteres hvert år. Disse applikasjonene skjuler seg i Android-markedsplasser ved utgi seg for å være godsinnede applikasjoner. Når en bruker installerer skadavaren på enheten sin kan den vise reklame, stjele bankopplysninger, registrere seg til Premium SMS-tjenester, kryptere og holde filer for løsepenger eller installere flere applikasjoner. Det er kritisk at skadevaren blir detektere og fjernet fra markedsplassene før de blir installert av brukere. Men det er også viktig å kategorisere truslene skadevaren utgjør. Kategorisering av trusler kan hjelpe sikkerhetsanalytikere med å gjøre trusselvurdering, velge riktige mitigering strategier og framgangsmåter for fjerning. Det er vanlig praksis i bransjen å gruppere skadevare inn i skadevare-familier basert på likheter i kode, oppførsel og attribusjon til trussel aktør. Skadevare trusselen utvikler seg kontinuerlig for å unngå deteksjon, utnytte nye sårbarheter og for endre inntektsstrategier. Som et resultat blir nye varianter lagt til i skadevare familiene ettersom de utvikler seg. På grunn av den økende mengden med skadevare varianter er ikke manuell analyse praktisk mulig, og automatiserte løsninger er derfor nødvendig. Maskinlærings-baserte klassifiserere presentert i forsknings-litteraturen har oppnådd gode resultater for både detektering og familie-klassifisering av Android skadevare. En svakhet ved resultatene til disse klassifisererene er at tidslinjen til skadevaren blir ignorert under evaluering, og dermed blir ikke skadevare-utviklingen tatt med i betraktningen. I dette prosjektet undersøker vi resultat implikasjonene for en maskinlærings-basert klassifiserer når skadevare-utviklingen blir tatt med i betraktningen. Vi bruker et datasett med 14582 skadevare applikasjoner fra de 54 mest vanlige skadevare-familiene funnet i markedene mellom 2014-2016. Statiske og dynamiske (hybride) skadevare analyse metoder blir benyttet til å hente ut egenskaper som har produsert gode resultater for skille mellom skadevare-familier. Vi sammenligner resultater produsert av klassifiserere der skadevare i trening settet er datert tidligere enn skadevare i testing settet (tids-bevisst), med klassifiserere evaluert med k-fold cross validation (tids-ubevisst). Vi fant en 15.45% reduksjon i accuracy for den beste klassifisereren i den tids-bevisste situasjonen. Vi konkluderer derfor med at resultatene av en klassifiserer evaluert i en tids-ubevisst situasjon introduserer betydelig bias. Egenskapene som produserte best resultater for klassifisererene våre inkluderer egenskaper relatert til: Android API kall, permissions, intents, receivers, services, system kommandoer, native code, og strenger som er lengre enn 5000 karakterer. Vi sammenlignet også hvilke resultater som kunne produseres med egenskap-sett som inkluderte statiske, dynamiske og hybride egenskaper. Men på grunn av at en betydelig mengde av skadavaren krasjet under dynamiske analyse, kan vi ikke konkludere basert på resultatene. Til slutt målte vi tiden som kreves for å hente ut egenskapene som ble brukt i prosjektet for å gi et grunnlag for kostnaden av å hente ut egenskaper og hvordan dette kan påvirke klassifisering av Android skadevare-familier.
dc.description.abstractMillions of malicious Android applications are detected every year. These applications are disguised as goodware applications in Android marketplaces in order to trick users. When the malicious application (malware) is installed on an Android device it can display advertisement, steal banking credentials, register to premium SMS services, encrypt and hold files for ransom or install additional applications. While it is critical to detect and remove malicious applications from the marketplaces before these applications are installed by users, it is also important to categorize these threats. Categorizing these threats can aid a security analyst in threat assessment, identifying appropriate mitigation strategies and removal techniques. It is common practise in the industry to group malware into families based on similarity in code, behavior and author attribution. The malware threat is continuously evolving to avoid detection, exploit new vulnerabilities and adapt different monetization strategies in order to generate revenue. As a result new variants will be added to a family as the threat is evolving over time. Given the increasing number of malware variants, manual analysis is not practical and automated measures are required to assists security analysts. Machine learning based classifiers in the literature have shown great performance in both malware detection and malware family identification (categorization). However, the timeline of the malware samples, and thereby the evolution of malware, is often neglected when these classifiers are evaluated. In this study we investigate the performance implications of the malware evolution on a machine learning based Android malware family classifier. We use a dataset of 14582 malware samples from the 54 most common malware families found in the markets during 2014-2016. Static and dynamic (hybrid) malware analysis methods are used to a extract features that have shown promise in the literature for distinguishing between malware families. We compare the results of classifiers evaluated in settings where samples in the training set are dated before samples in testing set (time-aware) with classifiers evaluated using k-fold cross validation (time-unaware). A 15.45% decrease in accuracy was found for the best classifier in the time-unaware setting. We therefore conclude that the performance of classifiers evaluated in a time-unaware setting introduces significant bias to the result. The set of features that performed best in all settings includes feature related to: Android API calls, permissions, intents, receivers, services, opcodes, system commands, native code, and finally strings that are longer than 5000 characters. We also compared the results that could be produced with different feature subsets, static, dynamic and hybrid features. However, due to a considerable amount of applications crashing during the dynamic analysis, the results of this comparison is inconclusive. Finally we measured the time required to extract the features used in the study to shed some light on the cost affiliated with the feature extraction process and how this affects identification of malware samples.
dc.languageeng
dc.publisherNTNU
dc.titleHybrid analysis for Android malware family classification in a time-aware setting
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel