Technical Report RHUL–MA–2015–11 4 March 2015
Total Page:16
File Type:pdf, Size:1020Kb
Cross-Platform Malware Contamination Nicholas Aquilina Technical Report RHUL–MA–2015–11 4 March 2015 Information Security Group Royal Holloway University of London Egham, Surrey, TW20 0EX United Kingdom www.ma.rhul.ac.uk/tech Cross‐Platform Malware Contamination Nicholas Aquilina SRN: 090397493 2014 Project submitted as part of the requirements for the award of the M. Sc. in Information Security of the University of London. Project Submission Form University of London M. Sc. Information Security Student Project Supervisor Nicholas Aquilina Dr Konstantinos Markantonakis SRN: 090397493 Miclor, Flat 2, Triq l‐Ghasir, Zebbug ZBG1501, Malta [email protected] Anti‐Plagiarism Declaration You are reminded that all work submitted as part of the requirements for any examination of the University of London must be expressed in your own words and incorporate your own ideas and judgements. Using another person’s thoughts or words as though they were your own work is considered to be copying or plagiarism. This is not allowed. You must clearly identify direct quotations from the published or unpublished work of another person by placing those quotes inside quotation marks, and also provide a full reference to their source. Whether you use a series of short quotations from several different sources or a single long quotation from a single source, they must all be identified clearly. Equally, if you summarise another person’s ideas or judgements, you must refer to that person in your text, and include the work referred to in your bibliography. Failure to observe these rules may result in an allegation of cheating. I declare that this assignment is all my own work, and that I have acknowledged all quotations from the published or unpublished works of other people. I declare that I have also read the statement on plagiarism in the General Regulations for Awards at Graduate and Masters Levels for the MSc in Information Security (Section 9) and in accordance with it I submit this project report as my own work. Please sign here to show that you have read the above: Nicholas Aquilina Date To my wife and son i Table of Contents Acknowledgements ........................................................................................................................... v List of Figures .................................................................................................................................... vi List of Tables ..................................................................................................................................... vi List of Screenshots ............................................................................................................................ vi Executive Summary ......................................................................................................................... viii 1 – Introduction ................................................................................................................................. 1 1.1 Background ............................................................................................................................. 1 1.2 Aims and Objectives of the Project ........................................................................................ 1 1.3 Research Approach ................................................................................................................. 2 1.3.1 Qualitative research approach ........................................................................................ 2 1.3.2 Quantitative research approach ...................................................................................... 2 1.4 Project Structure ..................................................................................................................... 3 2 – Malware History and Cross‐Platform Contamination ................................................................. 4 2.1 What is Malware? ................................................................................................................... 4 2.2 A Brief History of Malware ..................................................................................................... 5 2.3 How Malware Evolved from the Traditional Computer Platform to the Mobile Platform .... 6 2.4 Review of Various Malware Threat Models ......................................................................... 10 2.5 Review of Various Malware Infection Vectors ..................................................................... 13 2.6 Revenue Channels Exploited by Malware ............................................................................ 19 2.6.1 Billed events .................................................................................................................. 19 2.6.2 Payment systems ........................................................................................................... 20 2.7 Cross‐Platform Contamination ............................................................................................. 20 2.8 Concluding Remarks ............................................................................................................. 23 3 – Malware Concealment Strategies ............................................................................................. 24 3.1 Introduction to Malware Concealment Strategies ............................................................... 24 3.2 Overview of Obfuscation Theory .......................................................................................... 25 3.3 Passive Strategies to Evade Detection .................................................................................. 26 3.3.1 Code obfuscation ........................................................................................................... 26 3.3.2 Entry point obfuscation ................................................................................................. 28 3.3.3 Encryption ...................................................................................................................... 28 3.3.4 Packing ........................................................................................................................... 29 ii 3.3.5 Oligomorphism .............................................................................................................. 30 3.3.6 Polymorphism ................................................................................................................ 30 3.3.7 Metamorphism .............................................................................................................. 31 3.4 Active Strategies to Evade Detection ................................................................................... 33 3.4.1 Anti‐emulation ............................................................................................................... 33 3.4.2 Anti‐debugging .............................................................................................................. 33 3.4.3 Anti‐disassembling ......................................................................................................... 34 3.5 Concluding Remarks ............................................................................................................. 34 4 – Malware Detection Strategies ................................................................................................... 36 4.1 Introduction to Malware Detection Strategies .................................................................... 36 4.2 Malware Detection Using Static Techniques ........................................................................ 37 4.2.1 Introduction to static malware analysis ........................................................................ 37 4.2.2 Signature analysis and hashing ...................................................................................... 37 4.2.3 Extract system calls ........................................................................................................ 38 4.2.4 Static taint analysis ........................................................................................................ 38 4.3 Malware Detection Using Dynamic Techniques ................................................................... 40 4.3.1 Introduction to dynamic malware analysis ................................................................... 40 4.3.2 Dynamic taint analysis ................................................................................................... 41 4.3.3 Behavioural analysis ...................................................................................................... 43 4.4 Malware Detection Using Heuristics .................................................................................... 44 4.4.1 Introduction to heuristic malware analysis ................................................................... 44 4.4.2 Monitoring API and system calls ................................................................................... 45 4.4.3 OpCode analysis ............................................................................................................ 45 4.4.4 Using N‐Grams for detection ......................................................................................... 46 4.4.5 Representing malware through control flow graphs .................................................... 46 4.5 Malware Detection Using Hybrid Techniques .....................................................................