Introduction Our Solution Conclusions
Hardware-Assisted Application Misbehavior
Detection
Marcus Botacin Paulo de Geus Andr´e Gr´egio
XVIII SBSEG
2018
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Agenda
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Bugs
Undesirable
Safety: Crashes.
Security: Exploitation.
Countermeasures
Good Software Engineering: Really ?
Fuzzing: Too slow to cover all paths.
CFI: Too specific to extend to general cases.
Alternative
Runtime Monitoring: COTS binaries monitoring.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Background
Program as a Finite State Machine
Figure: Program as a Finite State Machine. Data is inputted to an
initial state and transitions lead to the final state, outputting the
computation result.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Program in Memory
Branch as Transitions
Figure: Program representation in memory. Branch instructions are
responsible for state transitions.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Key Idea
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Key Idea
Our Solution
Tracking Expected Branches
Figure: Expected Branches Policy. The solid arrows correspond to
paths previously seem, thus representing expected branches. The dotted
arrows represent so-far unknown branches, which might indicate a
misbehavior.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Key Idea
Our Solution
Learning Expected Branches
Figure: Automated learning. Flags 1 and 0 indicate, respectively, whether
a given branch was expected (allowed) to occur or not.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Implementation
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Implementation
Our Solution
Implementation
Table: ASLR-aware data collection. Offset normalization. Despite the
distinct image base addresses, branch offsets are unique.
Branch Execution 1 Execution 2 Execution N Offset
I 0x7FF1D30 0x7FF3D30 0x7FF5D80 0x1D30
II 0x7FF1E30 0x7FF3E30 0x7FF5E80 0x1E30
II 0x7FF1EF0 0x7FF3EF0 0x7FF5F40 0x1EF0
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Implementation
Our Solution
Implementation
Figure: Branch Database. Source addresses are used to index allowed
target addresses. Unidentified entries are considered as unexpected
branches.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Implementation
Detection Policies
Violation Detection
Figure: Misbehavior Detection. Solution detects violations using a
threshold value over data from a moving window.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Implementation
Our Solution
Implementation
Figure: Semi-supervised learning. Solution asks for user confirmation.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Evaluation
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Evaluation
Evaluation
Synthetic Example
Code 1: Validation code.
main (){
char s t r [MAX STRING ] ;
i n t loop =0, opt =0;
do{
scanf (”%d”,& opt ) ;
i f ( opt >0){ p r i n t f (” Greater than zero n ” ) ; }
e l s e i f ( opt <0){ p r i n t f (” Smaller than zero n ” ) ; }
e l s e { p r i n t f (”Bad choice n ” ) ; scanf (”%s ” , s t r ) ; }
} while ( ! loop ) ;
p r i n t f (” Should never be executed n ” ) ;
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Evaluation
Evaluation
Easy File Share
Code 2: Real application under a ROP-based attack. Differences between
the expected and the observed branches.
Unexpected Branches : [0 x150C , 0x1C80C , 0x13020 ]
Unexpected Branches : [ ]
Unexpected Branches : [0 x1731A , 0xD31A , 0x7C81A ,
0x33B1A , 0x2AC1A , 0xFC21A , 0x12941A , 0x29A1A ]
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Evaluation
Evaluation
Easy File Share
Figure: Exploit Execution
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Discussion
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Discussion
Discussion
Immediate Follow-up
Enriching Crash Reports.
Future Developments
Distributed Allowed Paths Identification.
OS Self-Repair.
Automatic Backup recovery.
Challenges
Distinguish Exploits from Crashes.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Roteiro
1 Introduction
2 Our Solution
Key Idea
Implementation
Evaluation
Discussion
3 Conclusions
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Concluding Remarks
Advances: Low-Overhead, Ruleless Misbehavior Detection.
Challenges: Distinguish Exploitation from Crashes.
Future: OS Self-repair.
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
Introduction Our Solution Conclusions
Questions ?
Contact Information
mfbotacin@inf.ufpr.br
Hardware-Assisted Application Misbehavior Detection XVIII SBSEG

More Related Content

PPT
Diagnostic process
PPTX
Basics of process fault detection and diagnostics
PDF
Systematic Architecture Level Fault Diagnosis Using Statistical Techniques
PDF
IRJET - Floor Cleaning Robot with Vision
PPTX
Presentation1.2.pptx
PDF
Fault Injection for Software Certification
PDF
Accelerated .NET Memory Dump Analysis training public slides
PDF
WSO2 Machine Learner - Product Overview
Diagnostic process
Basics of process fault detection and diagnostics
Systematic Architecture Level Fault Diagnosis Using Statistical Techniques
IRJET - Floor Cleaning Robot with Vision
Presentation1.2.pptx
Fault Injection for Software Certification
Accelerated .NET Memory Dump Analysis training public slides
WSO2 Machine Learner - Product Overview

Similar to Hardware-Assisted Application Misbehavior Detection (20)

PDF
IRJET- Intrusion Detection through Image Processing and Getting Notified ...
PPTX
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
PDF
Análise de malware com suporte de hardware
PDF
Accelerated Windows Debugging 3 training public slides
PDF
Ceh v8 labs module 03 scanning networks
PDF
IRJET - IoT based Anti Theft Detection and Alerting System using Raspberry Pi
PDF
Gui based debuggers
PPTX
Talos: Neutralizing Vulnerabilities with Security Workarounds for Rapid Respo...
PDF
Ring 0/-2 Rootkits: bypassing defenses -- DEF CON 2018 USA
PPTX
Embeded system
PPT
Embedded system - introduction to arm7
PDF
The Role Of Software And Hardware As A Common Part Of The...
PPTX
Legacy Lowdown - Options When Migrating Solaris Applications
PDF
IRJET - Automated Fraud Detection Framework in Examination Halls
PDF
Mobile Software Diagnostics
PDF
IRJET- A Study on Penetration Testing using Metasploit Framework
PDF
Penetration testing using metasploit framework
PDF
A Smart Target Detection System using Fuzzy Logic and Background Subtraction
DOCX
Meier_ECET365_Manual_LI
PDF
A LOG-BASED TRACE AND REPLAY TOOL INTEGRATING SOFTWARE AND INFRASTRUCTURE
IRJET- Intrusion Detection through Image Processing and Getting Notified ...
The System of Automatic Searching for Vulnerabilities or how to use Taint Ana...
Análise de malware com suporte de hardware
Accelerated Windows Debugging 3 training public slides
Ceh v8 labs module 03 scanning networks
IRJET - IoT based Anti Theft Detection and Alerting System using Raspberry Pi
Gui based debuggers
Talos: Neutralizing Vulnerabilities with Security Workarounds for Rapid Respo...
Ring 0/-2 Rootkits: bypassing defenses -- DEF CON 2018 USA
Embeded system
Embedded system - introduction to arm7
The Role Of Software And Hardware As A Common Part Of The...
Legacy Lowdown - Options When Migrating Solaris Applications
IRJET - Automated Fraud Detection Framework in Examination Halls
Mobile Software Diagnostics
IRJET- A Study on Penetration Testing using Metasploit Framework
Penetration testing using metasploit framework
A Smart Target Detection System using Fuzzy Logic and Background Subtraction
Meier_ECET365_Manual_LI
A LOG-BASED TRACE AND REPLAY TOOL INTEGRATING SOFTWARE AND INFRASTRUCTURE
Ad

More from Marcus Botacin (20)

PDF
Cross-Regional Malware Detection via Model Distilling and Federated Learning
PDF
What do malware analysts want from academia? A survey on the state-of-the-pra...
PDF
GPThreats: Fully-automated AI-generated malware and its security risks
PDF
[Texas A&M University] Research @ Botacin's Lab
PDF
Pilares da Segurança e Chaves criptográficas
PDF
Machine Learning by Examples - Marcus Botacin - TAMU 2024
PDF
Near-memory & In-Memory Detection of Fileless Malware
PDF
GPThreats-3: Is Automated Malware Generation a Threat?
PDF
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
PDF
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
PDF
Hardware-accelerated security monitoring
PDF
How do we detect malware? A step-by-step guide
PDF
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
PDF
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
PDF
On the Malware Detection Problem: Challenges & Novel Approaches
PDF
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
PDF
Near-memory & In-Memory Detection of Fileless Malware
PDF
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
PDF
Integridade, confidencialidade, disponibilidade, ransomware
PDF
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
Cross-Regional Malware Detection via Model Distilling and Federated Learning
What do malware analysts want from academia? A survey on the state-of-the-pra...
GPThreats: Fully-automated AI-generated malware and its security risks
[Texas A&M University] Research @ Botacin's Lab
Pilares da Segurança e Chaves criptográficas
Machine Learning by Examples - Marcus Botacin - TAMU 2024
Near-memory & In-Memory Detection of Fileless Malware
GPThreats-3: Is Automated Malware Generation a Threat?
[HackInTheBOx] All You Always Wanted to Know About Antiviruses
[Usenix Enigma\ Why Is Our Security Research Failing? Five Practices to Change!
Hardware-accelerated security monitoring
How do we detect malware? A step-by-step guide
Among Viruses, Trojans, and Backdoors:Fighting Malware in 2022
Extraindo Caracterı́sticas de Arquivos Binários Executáveis
On the Malware Detection Problem: Challenges & Novel Approaches
All You Need to Know to Win a Cybersecurity Adversarial Machine Learning Comp...
Near-memory & In-Memory Detection of Fileless Malware
Does Your Threat Model Consider Country and Culture? A Case Study of Brazilia...
Integridade, confidencialidade, disponibilidade, ransomware
An Empirical Study on the Blocking of HTTP and DNS Requests at Providers Leve...
Ad

Recently uploaded (20)

PPT
Mutation in dna of bacteria and repairss
PPTX
Substance Disorders- part different drugs change body
PPTX
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
PDF
Assessment of environmental effects of quarrying in Kitengela subcountyof Kaj...
PDF
Looking into the jet cone of the neutrino-associated very high-energy blazar ...
PDF
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
PPT
Presentation of a Romanian Institutee 2.
PPTX
TORCH INFECTIONS in pregnancy with toxoplasma
PPT
Heredity-grade-9 Heredity-grade-9. Heredity-grade-9.
PDF
Science Form five needed shit SCIENEce so
PPTX
Understanding the Circulatory System……..
PPTX
perinatal infections 2-171220190027.pptx
PDF
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
PDF
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
PPTX
Probability.pptx pearl lecture first year
PDF
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
PPTX
Introcution to Microbes Burton's Biology for the Health
PPT
THE CELL THEORY AND ITS FUNDAMENTALS AND USE
PPTX
gene cloning powerpoint for general biology 2
PDF
S2 SOIL BY TR. OKION.pdf based on the new lower secondary curriculum
Mutation in dna of bacteria and repairss
Substance Disorders- part different drugs change body
INTRODUCTION TO PAEDIATRICS AND PAEDIATRIC HISTORY TAKING-1.pptx
Assessment of environmental effects of quarrying in Kitengela subcountyof Kaj...
Looking into the jet cone of the neutrino-associated very high-energy blazar ...
Is Earendel a Star Cluster?: Metal-poor Globular Cluster Progenitors at z ∼ 6
Presentation of a Romanian Institutee 2.
TORCH INFECTIONS in pregnancy with toxoplasma
Heredity-grade-9 Heredity-grade-9. Heredity-grade-9.
Science Form five needed shit SCIENEce so
Understanding the Circulatory System……..
perinatal infections 2-171220190027.pptx
Worlds Next Door: A Candidate Giant Planet Imaged in the Habitable Zone of ↵ ...
CHAPTER 3 Cell Structures and Their Functions Lecture Outline.pdf
Probability.pptx pearl lecture first year
Unit 5 Preparations, Reactions, Properties and Isomersim of Organic Compounds...
Introcution to Microbes Burton's Biology for the Health
THE CELL THEORY AND ITS FUNDAMENTALS AND USE
gene cloning powerpoint for general biology 2
S2 SOIL BY TR. OKION.pdf based on the new lower secondary curriculum

Hardware-Assisted Application Misbehavior Detection

  • 1. Introduction Our Solution Conclusions Hardware-Assisted Application Misbehavior Detection Marcus Botacin Paulo de Geus Andr´e Gr´egio XVIII SBSEG 2018 Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 2. Introduction Our Solution Conclusions Agenda 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 3. Introduction Our Solution Conclusions Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 4. Introduction Our Solution Conclusions Bugs Undesirable Safety: Crashes. Security: Exploitation. Countermeasures Good Software Engineering: Really ? Fuzzing: Too slow to cover all paths. CFI: Too specific to extend to general cases. Alternative Runtime Monitoring: COTS binaries monitoring. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 5. Introduction Our Solution Conclusions Background Program as a Finite State Machine Figure: Program as a Finite State Machine. Data is inputted to an initial state and transitions lead to the final state, outputting the computation result. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 6. Introduction Our Solution Conclusions Program in Memory Branch as Transitions Figure: Program representation in memory. Branch instructions are responsible for state transitions. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 7. Introduction Our Solution Conclusions Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 8. Introduction Our Solution Conclusions Key Idea Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 9. Introduction Our Solution Conclusions Key Idea Our Solution Tracking Expected Branches Figure: Expected Branches Policy. The solid arrows correspond to paths previously seem, thus representing expected branches. The dotted arrows represent so-far unknown branches, which might indicate a misbehavior. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 10. Introduction Our Solution Conclusions Key Idea Our Solution Learning Expected Branches Figure: Automated learning. Flags 1 and 0 indicate, respectively, whether a given branch was expected (allowed) to occur or not. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 11. Introduction Our Solution Conclusions Implementation Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 12. Introduction Our Solution Conclusions Implementation Our Solution Implementation Table: ASLR-aware data collection. Offset normalization. Despite the distinct image base addresses, branch offsets are unique. Branch Execution 1 Execution 2 Execution N Offset I 0x7FF1D30 0x7FF3D30 0x7FF5D80 0x1D30 II 0x7FF1E30 0x7FF3E30 0x7FF5E80 0x1E30 II 0x7FF1EF0 0x7FF3EF0 0x7FF5F40 0x1EF0 Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 13. Introduction Our Solution Conclusions Implementation Our Solution Implementation Figure: Branch Database. Source addresses are used to index allowed target addresses. Unidentified entries are considered as unexpected branches. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 14. Introduction Our Solution Conclusions Implementation Detection Policies Violation Detection Figure: Misbehavior Detection. Solution detects violations using a threshold value over data from a moving window. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 15. Introduction Our Solution Conclusions Implementation Our Solution Implementation Figure: Semi-supervised learning. Solution asks for user confirmation. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 16. Introduction Our Solution Conclusions Evaluation Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 17. Introduction Our Solution Conclusions Evaluation Evaluation Synthetic Example Code 1: Validation code. main (){ char s t r [MAX STRING ] ; i n t loop =0, opt =0; do{ scanf (”%d”,& opt ) ; i f ( opt >0){ p r i n t f (” Greater than zero n ” ) ; } e l s e i f ( opt <0){ p r i n t f (” Smaller than zero n ” ) ; } e l s e { p r i n t f (”Bad choice n ” ) ; scanf (”%s ” , s t r ) ; } } while ( ! loop ) ; p r i n t f (” Should never be executed n ” ) ; Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 18. Introduction Our Solution Conclusions Evaluation Evaluation Easy File Share Code 2: Real application under a ROP-based attack. Differences between the expected and the observed branches. Unexpected Branches : [0 x150C , 0x1C80C , 0x13020 ] Unexpected Branches : [ ] Unexpected Branches : [0 x1731A , 0xD31A , 0x7C81A , 0x33B1A , 0x2AC1A , 0xFC21A , 0x12941A , 0x29A1A ] Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 19. Introduction Our Solution Conclusions Evaluation Evaluation Easy File Share Figure: Exploit Execution Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 20. Introduction Our Solution Conclusions Discussion Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 21. Introduction Our Solution Conclusions Discussion Discussion Immediate Follow-up Enriching Crash Reports. Future Developments Distributed Allowed Paths Identification. OS Self-Repair. Automatic Backup recovery. Challenges Distinguish Exploits from Crashes. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 22. Introduction Our Solution Conclusions Roteiro 1 Introduction 2 Our Solution Key Idea Implementation Evaluation Discussion 3 Conclusions Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 23. Introduction Our Solution Conclusions Concluding Remarks Advances: Low-Overhead, Ruleless Misbehavior Detection. Challenges: Distinguish Exploitation from Crashes. Future: OS Self-repair. Hardware-Assisted Application Misbehavior Detection XVIII SBSEG
  • 24. Introduction Our Solution Conclusions Questions ? Contact Information mfbotacin@inf.ufpr.br Hardware-Assisted Application Misbehavior Detection XVIII SBSEG