490 likes | 503 Views
RHMD: Evasion-Resilient Hardware Malware Detectors. Khaled N. Khasawneh *, Nael Abu-Ghazaleh*, Dmitry Ponomarev**, Lei Yu**. University of California, Riverside *, Binghamton University **. Malware is Everywhere!. Malware is Everywhere!. Over 250,000 malware registered every day!.
E N D
RHMD: Evasion-Resilient Hardware Malware Detectors Khaled N. Khasawneh*, Nael Abu-Ghazaleh*, Dmitry Ponomarev**, Lei Yu** University of California, Riverside *, Binghamton University ** MICRO 2017 – Boston, USA, October 2017
Malware is Everywhere! Over 250,000 malware registered every day!
Traditional Software Malware Detection • Static malware detection • Search for signatures in the executable • Can detect all known malware with no false alarms • Can be evaded by new malware and polymorphic malware • Dynamic malware detection • Monitors the behavior of the program • Can detect unknown malware • Very high overhead limiting use in practice
Hardware Malware Detectors (HMDs) • Use Machine Learning: detect malware as computational anomaly • Use low-level features collected from the hardware • Can be always-on without adding performance overhead • Many research papers including ISCA’13, HPCA’15 and MICRO’16
Can malware evade HMDs? Paper Contributions Reverse-engineer HMDs Develop evasive malware Evade detection after re-training
Paper Contributions 1- Provably harder to reverse-engineer 2- Robust to evasion Reverse-engineer HMDs • Yes! Using RHMDs Develop evasive malware Evade detection after re-training
How to Reverse Engineer HMDs? • Challenges: • We don’t know the detection period • We don’t know the features used • We don’t know the detection algorithm • Approach: • Train different classifiers • Derive specific parameters as an optimization problem
Reverse Engineering HMDs Attacker Training Data _________________________
Reverse Engineering HMDs Victim HMD Attacker Training Data 10100 Black box output _________________________
Reverse Engineering HMDs Victim HMD Attacker Training Data 10100 Black box output _________________________ Training model Data Labels
Reverse Engineering HMDs Victim HMD Attacker Training Data 10100 Black box output _________________________ Training model Data Labels Reverse-engineered HMD
We Can Guess Detectors Parameters! • Victim HMD parameters: - 10K detection period - Instructions features vector
We Can Guess Detectors Parameters! • Victim HMD parameters: - 10K detection period - Instructions features vector • Guessing detection period: • LR: Logistic Regression • DT: Decision Tree • SVM: Support Vector Machines
We Can Guess Detectors Parameters! • Victim HMD parameters: - 10K detection period - Instructions features vector • Guessing feature vector: • LR: Logistic Regression • DT: Decision Tree • SVM: Support Vector Machines
Reverse Engineering Effectiveness Logistic Regression Neural Networks
Reverse Engineering Effectiveness Current generation of HMDs can be reverse engineered Logistic Regression Neural Networks
How to Create Evasive Malware? • Challenges: - We don’t have malware source code - We can’t decompile malware because its obfuscated • Our approach: PIN Dynamic Control Flow Graph
What we Should Add to Evade? • Logistic Regression (LR) • LR is defined by a weight vector θ • Add instructions whose weights are negative
What we Should Add to Evade? • Neural Network (NN) • Collapse the description of the NN into a single vector • Add instructions whose weights are negative
What we Should Add to Evade? Current generation of HMDs are vulnerable to evasion attacks! • Neural Network (NN) • Collapse the description of the NN into a single vector • Add instructions whose weights are negative
Can we Retrain with Samples of Evasive Malware? • Linear Model • Logistic Regression
Can we Retrain with Samples of Evasive Malware? • Linear Model • Logistic Regression • Non-Linear Model • Neural Network
Explaining Retraining Performance Linear Model (LR)
Explaining Retraining Performance Non-Linear Model (NN)
What if we Keep Retraining? Re-training is not a general solution
Overview of RHMDs RHMD HMD 1 HMD 2 Pool of diverse HMDs . . . HMD n
Overview of RHMDs RHMD HMD 1 HMD 2 Input Output . . . HMD n Selector
Overview of RHMDs Detection period Number of committed instructions 0 … Features vector RHMD HMD 1 HMD 2 Input Output . . . HMD n Selector
Overview of RHMDs Detection period Number of committed instructions 0 … … Features vector RHMD HMD 1 HMD 2 Input Output . . . HMD n Selector
Overview of RHMDs Detection period Number of committed instructions 0 … … … Features vector RHMD HMD 1 HMD 2 Input Output . . . HMD n Selector
Overview of RHMDs Detection period Number of committed instructions 0 … … … Features vector RHMD Diversify by Different: 1- Features 2- Detection periods HMD 1 HMD 2 . . . HMD n Selector
ReverseEngineer RHMDs Randomizing the features (a) Two feature vectors (b) Three feature vectors
Reverse Engineer RHMDs Randomizing the features and detection period (a) Two feature vectors and two periods (b) Three feature vectors and two periods
Hardware Overhead • FPGA prototype on open core (AO486): • RHMD with three detectors: • Area increase 1.72% • Power increase 0.78%
Conclusion • Current generation of HMDs vulnerable to evasion • Developed a methodology to reverse-engineer and evade detectors • Explored Re-training HMDs • Benefit is limited • Developed new class of Evasion-Resilient HMDs • Robust to evasion • Low overhead
Thank you! Questions? RAID 2015 – Kyoto, Japan, November 2015