dc.contributor.advisor | Bálek, Martin | |
dc.creator | Smrž, Dominik | |
dc.date.accessioned | 2017-09-27T09:37:08Z | |
dc.date.available | 2017-09-27T09:37:08Z | |
dc.date.issued | 2017 | |
dc.identifier.uri | http://hdl.handle.net/20.500.11956/90466 | |
dc.description.abstract | In this Thesis, we propose a machine-learning based classification algorithm of applications for a popular mobile phone operating system Android that can dis- tinguish malicious samples from benign ones. Feature extraction for the machine learning is based on static analysis of the application's bytecode with focus on API and method calls. We show various ways to transform the most frequent API and method calls into numeric (histogram-based) features. We further examine the specifics of the extracted features and discuss their importance. The dataset used for experiments in this Thesis contains more than 200,000 samples with approxi- mately half of them malicious and half of them benign. Further, multiple machine learning algorithms are examined and their performance is evaluated. The size of our dataset prevents overfitting and hence provides a reliable basis for training of classification models. The results of the experiments show that the proposed algo- rithm achieves very low false positive rate under 2.9% while preserving specificity over 93.6%. 1 | en_US |
dc.description.abstract | V této práci navrhujeme klasifikační algoritmus založený na metodách stro- jového učení pro aplikace na populární operační systém Android, který má za cíl rozlišovat škodlivé aplikace od nezávadných. Extrakce příznaků pro strojové učení je založena na statické analýze bajtkódu se zaměřením na API volání a volání metod. Ukazujeme různé přístupy jak z nejčastějších API volání vytvořit seznam číselných příznaků. Dále zkoumáme specifika extrahovaných příznaků a jejich důležitost. Dataset, který je použit pro experimenty v této práci, obsahuje přes 200 000 vzorků, z nichž přibližně polovina je škodlivá a polovina nezávadná. Zkoušíme několik různých algoritmů strojového učení a vyhodnocujeme jejich kva- litu. Velikost našeho datasetu snižuje poměr šumu a poskytuje tak dobrý základ pro trénování klasifikačních modelů. Výsledky experimentů ukazují, že navrhovaný algoritmus má poměru vzorků, které byly chybně označné jako škodlivé, pod 2,9 % přičemž správně nalezne přes 93,6 % malwaru. 1 | cs_CZ |
dc.language | English | cs_CZ |
dc.language.iso | en_US | |
dc.publisher | Univerzita Karlova, Matematicko-fyzikální fakulta | cs_CZ |
dc.subject | malware analysis | en_US |
dc.subject | android | en_US |
dc.subject | machine learning | en_US |
dc.subject | feature engineering | en_US |
dc.subject | analýza malware | cs_CZ |
dc.subject | android | cs_CZ |
dc.subject | strojové učení | cs_CZ |
dc.subject | feature engineering | cs_CZ |
dc.title | Feature extraction from Android application packages and its usage in machine learning for malware classification | en_US |
dc.type | bakalářská práce | cs_CZ |
dcterms.created | 2017 | |
dcterms.dateAccepted | 2017-09-06 | |
dc.description.department | Computer Science Institute of Charles University | en_US |
dc.description.department | Informatický ústav Univerzity Karlovy | cs_CZ |
dc.description.faculty | Faculty of Mathematics and Physics | en_US |
dc.description.faculty | Matematicko-fyzikální fakulta | cs_CZ |
dc.identifier.repId | 190526 | |
dc.title.translated | Extrakce příznaků z programových balíčků systému Android a jejich použití ve strojovém učení pro klasifikaci malware | cs_CZ |
dc.contributor.referee | Kofroň, Jan | |
thesis.degree.name | Bc. | |
thesis.degree.level | bakalářské | cs_CZ |
thesis.degree.discipline | General Computer Science | en_US |
thesis.degree.discipline | Obecná informatika | cs_CZ |
thesis.degree.program | Informatika | cs_CZ |
thesis.degree.program | Computer Science | en_US |
uk.thesis.type | bakalářská práce | cs_CZ |
uk.taxonomy.organization-cs | Matematicko-fyzikální fakulta::Informatický ústav Univerzity Karlovy | cs_CZ |
uk.taxonomy.organization-en | Faculty of Mathematics and Physics::Computer Science Institute of Charles University | en_US |
uk.faculty-name.cs | Matematicko-fyzikální fakulta | cs_CZ |
uk.faculty-name.en | Faculty of Mathematics and Physics | en_US |
uk.faculty-abbr.cs | MFF | cs_CZ |
uk.degree-discipline.cs | Obecná informatika | cs_CZ |
uk.degree-discipline.en | General Computer Science | en_US |
uk.degree-program.cs | Informatika | cs_CZ |
uk.degree-program.en | Computer Science | en_US |
thesis.grade.cs | Dobře | cs_CZ |
thesis.grade.en | Good | en_US |
uk.abstract.cs | V této práci navrhujeme klasifikační algoritmus založený na metodách stro- jového učení pro aplikace na populární operační systém Android, který má za cíl rozlišovat škodlivé aplikace od nezávadných. Extrakce příznaků pro strojové učení je založena na statické analýze bajtkódu se zaměřením na API volání a volání metod. Ukazujeme různé přístupy jak z nejčastějších API volání vytvořit seznam číselných příznaků. Dále zkoumáme specifika extrahovaných příznaků a jejich důležitost. Dataset, který je použit pro experimenty v této práci, obsahuje přes 200 000 vzorků, z nichž přibližně polovina je škodlivá a polovina nezávadná. Zkoušíme několik různých algoritmů strojového učení a vyhodnocujeme jejich kva- litu. Velikost našeho datasetu snižuje poměr šumu a poskytuje tak dobrý základ pro trénování klasifikačních modelů. Výsledky experimentů ukazují, že navrhovaný algoritmus má poměru vzorků, které byly chybně označné jako škodlivé, pod 2,9 % přičemž správně nalezne přes 93,6 % malwaru. 1 | cs_CZ |
uk.abstract.en | In this Thesis, we propose a machine-learning based classification algorithm of applications for a popular mobile phone operating system Android that can dis- tinguish malicious samples from benign ones. Feature extraction for the machine learning is based on static analysis of the application's bytecode with focus on API and method calls. We show various ways to transform the most frequent API and method calls into numeric (histogram-based) features. We further examine the specifics of the extracted features and discuss their importance. The dataset used for experiments in this Thesis contains more than 200,000 samples with approxi- mately half of them malicious and half of them benign. Further, multiple machine learning algorithms are examined and their performance is evaluated. The size of our dataset prevents overfitting and hence provides a reliable basis for training of classification models. The results of the experiments show that the proposed algo- rithm achieves very low false positive rate under 2.9% while preserving specificity over 93.6%. 1 | en_US |
uk.file-availability | V | |
uk.publication.place | Praha | cs_CZ |
uk.grantor | Univerzita Karlova, Matematicko-fyzikální fakulta, Informatický ústav Univerzity Karlovy | cs_CZ |