Analýza záznamů běhu malwaru pomocí hierarchického multi-instančního učení
Analyzing the execution of malware in a sandbox using hierarchical multiple instance learning
Typ dokumentu
diplomová prácemaster thesis
Autor
Dominik Kouba
Vedoucí práce
Pevný Tomáš
Oponent práce
Cavallaro Lorenzo
Studijní obor
Kybernetická bezpečnostStudijní program
Otevřená informatikaInstituce přidělující hodnost
katedra počítačůPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Cílem této práce bylo provést dynamickou analýzu spustitelných souborů a vytvořit datovou sadu reportů. Dále jsme se zaměřili na statistické modelování shromážděných dat a vyhodnocení přesnosti těchto modelů. Nakonec jsme použili statistické metody pro vysvětlení predikcí a diskutovali výsledky. Motivace experimentu byla převážně kvalita interpretace modelu a její přínos k dosažení spolupráce strojového učení a kybernetické bezpečnosti. Pro analýzu malwaru jsme použili sandbox CAPEv2 a implementovali jsme celý proces od stažení vzorků až po sběr výsledků analýz. Modelování bylo realizováno pomoci frameworku hierarchického multi-instančního učení (HMill). Vstupními vektory pro model byly záznamy o chování (např. volání API, uložené soubory, procesy) a výstupními třídami byly detekované znaky chování (tzv. signature), obojí k dispozici v získaných JSON reportech. HMill používá pro modelování vstupního dokumentu stromově strukturovanou neuronovou síť. Natrénované modely byly vysvětleny pomocí Banzhafových hodnot a metody výběru minimálního podstromu. Zanalyzovali jsme 80,000 veřejně přístupných vzorků malwaru a shromáždili výsledky, ze kterých byly získány vstupní vektory a výstupní třídy pro náš model. Pro každý signature byl natrénován binární klasifikátor. U devíti z celkových dvanácti modelů jsme pozorovali přesnost nad 90%, což bylo dostatečné pro následující experimenty s vysvětlováním modelu. Přestože původní report může obsahovat i stovky položek, vysvětlení pro každý model obsahovalo pouze 3-5 položek. Abychom byli schopni lépe vyhodnotit vysvětlení modelů, prozkoumali jsme Python implementaci každého signature a nalezli jeho skutečnou příčinu. Z našich pozorování je zřejmé, že některé modely do svých predikcí zapojují původní příčiny. Zároveň stojí za zmínku, že některé modely s vysokou přesností použili i jiné části původního vstupního vektoru. The goal of the thesis was to perform a dynamic malware analysis of portable executable files and create a dataset of analysis reports. Furthermore, we aimed at statistical modelling of the collected data and evaluation of models. Lastly, we intended to explain the model's predictions using statistical methods and discuss the results. The whole process was motivated by model interpretability to achieve greater compliance of machine learning and cybersecurity. We used CAPEv2 sandbox for malware analysis and implemented a pipeline that downloads malware samples, distributes them among multiple sandbox instances, and finally collects results. The Hierarchical Multiple Instance Learning (HMill) framework was used to model the dependence of malware signatures on behavioural features like API calls, dropped files and processes, both presented in analysis JSON report. The HMill framework uses a tree-structured neural net to model the structure of the input document. Trained models were explained using Banzhaf values and minimal subtree selection. We analyzed 80,000 publicly accessible malware samples and collected results, from which signatures and behavioural features were extracted. A binary classifier was trained for each extracted signature. Nine out of twelve signatures resulted in a balanced accuracy above 90%, which was sufficient for model explanation experiments. Even though there might be hundreds of entries in the original behavioural report, the explainer only provided 3-5 entries as an explanation for each model. To evaluate the explanation, Python implementation of the signatures was examined to get their true cause. It is evident from our observations that some models are intensely associated with the original signature's cause. It is worth noting that there are cases where the model used different behavioural features with high accuracy.
Kolekce
- Diplomové práce - 13136 [892]