Return to search

Masking revealing hardware attributes in the source code of a hypervisor : A study exploring strategies to hide the identity of virtual environments during malware analysis

Background: Malware is responsible for a significant part of the ever increasing cost of cyberattacks. Malware analysis is an important part in minimizing these costs. Because of the malicious nature of malware, it has to be executed in a safe and isolated environment during dynamic analysis to not cause harm to a live system, which is why Virtual Machines (VM) or Sandboxes are popular solutions. However, because malware developers actively try to evade analysis of their malware, some use, among other things, hardware attributes to reveal the environment as an analysis environment. Objectives: The aim of this thesis is to investigate which hardware attributes can be used to detect virtual environments and how they can be masked in the source code of hypervisors. Methods: We conducted a literature review to explore what indicators of virtual environments were already known. Then, we examined the known artifacts to see which artifacts can be used to reveal QEMU/KVM and VirtualBox. Using this information we tried to mask the artifacts on QEMU/KVM using values which do not indicate a virtual environment. To evaluate our masking strategy we conducted a controlled experiment.  Results: The literature review resulted in 72 unique artifacts related to hardware. Most of these unique artifacts are identifiers such as manufacturer and product name. We created an attribute collection script, designed to gather data from QEMU/KVM and VirtualBox on 58 out of the 64 unique hardware artifacts. This script was executed in multiple environments and the data gathered from each environment was compared with each other in order to filter out non-artifacts. This resulted in 40 revealing artifact devices and 26 registry keys for QEMU/KVM and 25 artifact devices and 13 registry keys on VirtualBox. Out of these we attempted to mask 25 devices and 22 keys. Our results showed that we had successfully masked 23 out of the 25 devices and all the registry keys. Conclusions: Our results show that most hardware artifacts can be masked and that our whitelist method is a viable strategy to accomplish that. / Bakgrund: Skadlig programvara står för en stor del av de ständigt ökande kostnaderna för cyberattacker. Analys av malware (skadlig programvara) är en viktig del för att minimera dessa kostnader. På grund av dess illasinnade natur måste malware köras i en säker och isolerad miljö under dynamisk analys för att inte orsaka skada på en fysisk maskin, vilket är anledningen till att virtuella maskiner (VM) eller sandlådor är en populära verktyg för analys av malware. Eftersom utvecklare av malware aktivt försöker undvika analys av sin skadliga programvara, använder de bland annat hårdvaruattribut för att avslöja miljön som en analysmiljö. Objectives: Syftet med denna uppsats är att undersöka vilka hårdvaruattribut som kan användas för att detektera virtuella miljöer och hur de kan maskeras i källkoden för hypervisors. Metoder: Vi genomförde en litteraturstudie för att utforska vilka indikatorer för virtuella miljöer som redan var kända. Sedan undersökte vi artefakterna som hittades under litteraturstudien för att se vilka som kan användas för att avslöja just QEMU/KVM och VirtualBox. Slutligen försökte vi maskera artefakterna på QEMU/KVM genom att ersätta dem med värden som inte avslöjar existensen av en virtuell miljö. För att utvärdera vår maskeringsstrategi genomförde vi sedan ett kontrollerat experiment. Resultat: Litteraturstudien resulterade i 72 unika artefakter relaterade till hårdvara. De flesta av dessa unika artefakter är identifierande strängar som tillverkare och produktnamn. Vi använde 58 av 72 unika artefakter i ett skript som vi använde för att samla in hårdvaruinformation från QEMU/KVM och VirtualBox. Det här skriptet kördes i flera miljöer och data som samlats in från varje miljö jämfördes med varandra för att filtrera bort attribut som inte avslöjar existensen av den virtuella miljön. Detta resulterade i 40 avslöjande enheter och 26 registernycklar för QEMU/KVM och 25 enheter och 13 registernycklar på VirtualBox. Av dessa försökte vi maskera 25 enheter och 22 nycklar. Våra resultat visade att vi framgångsrikt hade maskerat 23 av de 25 enheterna och samtliga registernycklar. Slutsatser: Våra resultat visar att de flesta avslöjande hårdvaruattribut kan maskeras och att vår maskeringsstrategi är en användbar metod för att åstadkomma det.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-24722
Date January 2023
CreatorsEngström, Kevin, Lenz, Robin
PublisherBlekinge Tekniska Högskola, Institutionen för datavetenskap
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageSwedish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0029 seconds