Abstract-Det är generellt utmanande att skilja malware från godartade program. För att fatta detta beslut, människor analytiker är ofta intresserade av runtime värden: mål för reflekterande metod samtal, webbadresser till vilka data skickas, mål telefonnummer SMS-meddelanden, och många fler. Dock obfuscation och strängkryptering, som används av malware samt goodware, ofta inte bara göra mänskliga inspektioner, men också statiska analyser ineffektiva. Dessutom, malware ofta tricks dynamiska analyser genom att upptäcka exekveringsmiljön som emuleras av analysverktyget och sedan avstå från skadliga beteende. I detta arbete presenterar vi därför HARVESTER, en strategi för att helt automatiskt extrahera runtime värden från Android-program. HARVESTER är utformad för att extrahera värden även från mycket obfuscated state-of-the-art malware prover som obfuscate metoden kallar med reflektion, dölja känsliga värden i infödd kod, ladda kod dynamiskt och tillämpa anti-analys tekniker. Tillvägagångssättet kombinerar programskärning med kodgenerering och dynamisk körning. Experiment på 16,799 aktuella malware prover visar att HARVESTER helt automatiskt extraherar många känsliga värden, med perfekt precision. Processen tar vanligtvis mindre än tre minuter och kräver inte mänsklig interaktion. I synnerhet går det utan att simulera input från UI. Två fallstudier visar vidare att genom att integrera de extraherade värdena tillbaka i appen, kan HARVESTER öka återkallandet av befintliga statiska och dynamiska analysverktyg såsom FlowDroid och TaintDroid.
Rasthofer m.fl. REF utvecklade Harvester, ett tillvägagångssätt för att automatiskt extrahera runtime värden, såsom vissa klass- och metodnamn, från Android-appar.
Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques
{'venue': 'NDSS', 'journal': None, 'mag_field_of_study': ['Computer Science']}