SlideShare a Scribd company logo
Subject: Emulation-based Software Protection
Presented by: Abdullah Roomi
Presented to : Dr.Belal Amro
Hebron University
College: Information Technology
Department: Network Security and Protection
EMULATION-BASED SOFTWARE
PROTECTION
• Overview
• Emulation Sandboxing
• Problem Definition
• How protection mechanism work
• Advantage and Disadvantage.
• Emulation-based Encrypted Code Execution
• Problem Definition
• How protection mechanism work
• Advantage and Disadvantage.
• Emulation-based Page Granularity Code Signing
• Problem Definition
• How protection mechanism work
• Advantage and Disadvantage.
OVERVIEW OF EMULATED –BASED
SOFTWARE PROTECTION
• Two emulation-based software protection schemes:
• Encrypted code execution .
• Page-granularity code signing .
• execute within trusted emulators while remaining out-of-band of
untrusted systems being emulated.
• The integrity and reliability of the protection mechanisms
depend upon attackers remaining sandboxed within the
emulated environments .
EMULATION SANDBOXING
Problem Definition :
Kernel malware is able to modify (attack) kernel
protection mechanisms.
EMULATION SANDBOXING
Protection Mechanism :
1. Host OS copies Guest OS instructions from Guest OS memory
into Host OS memory.
2. Guest OS instructions are translated and executed in Host OS
memory that it appears as if the original Guest OS instructions
had been executed .
3. This emulation process provides a sandbox that ensures that the
Guest OS instructions read and Write in the Guest OS Memory
, exclusively. The Host OS Memory cannot be accessed by the
Guest OS instructions thatreside in the Guest OS Memory
PROTECTION MECHANISM
(CONT’D)
EMULATION SANDBOXING
• Advantage :
• reduce software vulnerabilities to a restricted environment.
• Disadvantage:
• do not protect against reverse code engineering (RCE)
• do not protect against software vulnerabilities such as buffer
overflows, index array ,out of bound errors, race conditions,
integer overflows, and other types of memory corruption
vulnerabilities.
• do not provide adequate protection for computer devices and
software against attempts to bypass a security policy.
EMULATION-BASED ENCRYPTED
CODE EXECUTION
•Problem Definition :
• Reverse Code Engineering (RCE) uncovers the internal workings of a
program:
• Vulnerability
• intellectual property (IP) discovery
• To protect from RCE program code :
• anti-disassembly
• anti-debugging
• obfuscation techniques
• code may be encrypted
EMULATION-BASED ENCRYPTED
CODE EXECUTION
• Protection Mechanism :
• Host OS copies encrypted Guest OS instructions from Guest OS memory
into Host OS memory. The encrypted Guest OS instructions are
decrypted in Host OS memory. The decrypted instructions always remain
out-of-band of the Guest OS and are not accessible by Guest OS
instructions.
• Decrypted Guest OS instructions are translated (or interpreted) to a set
of Host OS instructions. When this set of translated Host OS instructions
execute the state of Guest OS memory and registers is modified such
that it appears as if the original Guest OS instructions had been
executed.
• The translation process ensures Guest OS instructions never read
decrypted Guest OS instructions ,emulation sandbox ensures Host OS
memory is inaccessible by Guest OS instructions
PROTECTION MECHANISM
(CONT’D)
EMULATION-BASED ENCRYPTED
CODE EXECUTION
• Advantage :
• protect against reverse code engineering (RCE)
• Disadvantage :
• do not protect against software vulnerabilities such as buffer
overflows, index array ,out of bound errors, race conditions,
integer overflows, and other types of memory corruption
vulnerabilities
• do not provide adequate protection for computer devices
and software against attempts to bypass a security policy
EMULATION-BASED PAGE
GRANULARITY CODE SIGNING
• Problem Definition :
• Software exploitation is a process that leverages design and
implementation errors ( buffer overflows, input-driven format strings,
integer overflows, race conditions, etc.)
• protection mechanisms :
• stack canaries
• variable reordering
• shadow arguments
• Etc.
• provide a blacklist approach to software protection
EMULATION-BASED PAGE
GRANULARITY CODE SIGNING
• Protection Mechanism :
• Host OS copies Guest OS instructions and Hash Message Authentication Code’s
(HMAC) (or digital signatures) of Guest OS instructions from Guest OS memory
into Host OS memory.
• HMACs of Guest OS instructions are recomputed using a secret key in Host OS
memory. The secret key remains in Host OS memory and is never accessible by
Guest OS instructions. Guest OS instructions with valid HMACs are translated (or
interpreted) to a set of Host OS instructions. This set of Host OS instructions is
executed as before.
• Guest OS instructions with invalid HMACs remain untranslated and therefore
unexecuted. Malicious code (unless signed using the secret key) will remain
unexecuted, thus protecting the system.
PROTECTION MECHANISM (CONT’D)
REFERENCES
• [1] Emulation-based Software Protection William Kimball
(wkimball@afit.edu)
• [2]
https://docs.google.com/viewer?url=patentimages.storage.googleapis.
com/pdfs/US8285987.pdf
• [3] http://www.virtualmvp.com/vmware-consumed-host-memory-vs-
active-guest-memory/
• [4] https://www.cs.bu.edu/~goldbe/teaching/HW55813/zhou.pdf
• [5] https://securebox.comodo.com/whitelist-vs-blacklist/

More Related Content

Similar to Emulation-based SW protection

Software Protection Techniques
Software Protection TechniquesSoftware Protection Techniques
Software Protection Techniques
Chaitanya Anpat
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
KashfUlHuda1
 
Bypass_AV-EDR.pdf
Bypass_AV-EDR.pdfBypass_AV-EDR.pdf
Bypass_AV-EDR.pdf
Farouk2nd
 
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
FRSecure
 
Limitations E - Commerce Security measures
Limitations E - Commerce Security measuresLimitations E - Commerce Security measures
Limitations E - Commerce Security measures
Jeril Peter
 
java2days 2014: Attacking JavaEE Application Servers
java2days 2014: Attacking JavaEE Application Serversjava2days 2014: Attacking JavaEE Application Servers
java2days 2014: Attacking JavaEE Application Servers
Martin Toshev
 
Osd diksha presentation
Osd diksha presentationOsd diksha presentation
Osd diksha presentation
dikshagupta111
 
Review of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptxReview of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptx
ssusere142fe
 
Confidential compute with hyperledger fabric .v17
Confidential compute with hyperledger fabric .v17Confidential compute with hyperledger fabric .v17
Confidential compute with hyperledger fabric .v17
LennartF
 
OIVM
OIVMOIVM
Exploitation techniques and fuzzing
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
G Prachi
 
Secure Coding in C/C++
Secure Coding in C/C++Secure Coding in C/C++
Secure Coding in C/C++
Dan-Claudiu Dragoș
 
Reverse Engineering Malware - A Practical Guide
Reverse Engineering Malware - A Practical GuideReverse Engineering Malware - A Practical Guide
Reverse Engineering Malware - A Practical Guide
intertelinvestigations
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
Soumitra Bhattacharyya
 
Software Security (Vulnerabilities) And Physical Security
Software Security (Vulnerabilities) And Physical SecuritySoftware Security (Vulnerabilities) And Physical Security
Software Security (Vulnerabilities) And Physical Security
Nicholas Davis
 
Software security (vulnerabilities) and physical security
Software security (vulnerabilities) and physical securitySoftware security (vulnerabilities) and physical security
Software security (vulnerabilities) and physical security
Nicholas Davis
 
metaploit framework
metaploit frameworkmetaploit framework
metaploit framework
Le Quyen
 
ch15.pdf
ch15.pdfch15.pdf
ch15.pdf
Sami Mughal
 
Program security
Program securityProgram security
Program security
G Prachi
 
Ch14 security
Ch14   securityCh14   security
Ch14 security
Welly Dian Astika
 

Similar to Emulation-based SW protection (20)

Software Protection Techniques
Software Protection TechniquesSoftware Protection Techniques
Software Protection Techniques
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
 
Bypass_AV-EDR.pdf
Bypass_AV-EDR.pdfBypass_AV-EDR.pdf
Bypass_AV-EDR.pdf
 
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
Slide Deck – Session 5 – FRSecure CISSP Mentor Program 2017
 
Limitations E - Commerce Security measures
Limitations E - Commerce Security measuresLimitations E - Commerce Security measures
Limitations E - Commerce Security measures
 
java2days 2014: Attacking JavaEE Application Servers
java2days 2014: Attacking JavaEE Application Serversjava2days 2014: Attacking JavaEE Application Servers
java2days 2014: Attacking JavaEE Application Servers
 
Osd diksha presentation
Osd diksha presentationOsd diksha presentation
Osd diksha presentation
 
Review of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptxReview of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptx
 
Confidential compute with hyperledger fabric .v17
Confidential compute with hyperledger fabric .v17Confidential compute with hyperledger fabric .v17
Confidential compute with hyperledger fabric .v17
 
OIVM
OIVMOIVM
OIVM
 
Exploitation techniques and fuzzing
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
 
Secure Coding in C/C++
Secure Coding in C/C++Secure Coding in C/C++
Secure Coding in C/C++
 
Reverse Engineering Malware - A Practical Guide
Reverse Engineering Malware - A Practical GuideReverse Engineering Malware - A Practical Guide
Reverse Engineering Malware - A Practical Guide
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
 
Software Security (Vulnerabilities) And Physical Security
Software Security (Vulnerabilities) And Physical SecuritySoftware Security (Vulnerabilities) And Physical Security
Software Security (Vulnerabilities) And Physical Security
 
Software security (vulnerabilities) and physical security
Software security (vulnerabilities) and physical securitySoftware security (vulnerabilities) and physical security
Software security (vulnerabilities) and physical security
 
metaploit framework
metaploit frameworkmetaploit framework
metaploit framework
 
ch15.pdf
ch15.pdfch15.pdf
ch15.pdf
 
Program security
Program securityProgram security
Program security
 
Ch14 security
Ch14   securityCh14   security
Ch14 security
 

More from abdullah roomi

Swap
SwapSwap
Sudo`
Sudo`Sudo`
IPsec
IPsecIPsec
Network File System (NFS)
Network File System (NFS)Network File System (NFS)
Network File System (NFS)
abdullah roomi
 
RSS Application Using Dom
RSS Application Using Dom  RSS Application Using Dom
RSS Application Using Dom
abdullah roomi
 
Security in Windows operating system
Security in Windows operating systemSecurity in Windows operating system
Security in Windows operating system
abdullah roomi
 
Wireless Sensor Networks
Wireless Sensor NetworksWireless Sensor Networks
Wireless Sensor Networks
abdullah roomi
 
Mobile Forensics
Mobile Forensics Mobile Forensics
Mobile Forensics
abdullah roomi
 
Nginx as a Revers Proxy for Apache on Ubuntu
Nginx as a Revers Proxy for Apache on UbuntuNginx as a Revers Proxy for Apache on Ubuntu
Nginx as a Revers Proxy for Apache on Ubuntu
abdullah roomi
 
it project
it project it project
it project
abdullah roomi
 

More from abdullah roomi (10)

Swap
SwapSwap
Swap
 
Sudo`
Sudo`Sudo`
Sudo`
 
IPsec
IPsecIPsec
IPsec
 
Network File System (NFS)
Network File System (NFS)Network File System (NFS)
Network File System (NFS)
 
RSS Application Using Dom
RSS Application Using Dom  RSS Application Using Dom
RSS Application Using Dom
 
Security in Windows operating system
Security in Windows operating systemSecurity in Windows operating system
Security in Windows operating system
 
Wireless Sensor Networks
Wireless Sensor NetworksWireless Sensor Networks
Wireless Sensor Networks
 
Mobile Forensics
Mobile Forensics Mobile Forensics
Mobile Forensics
 
Nginx as a Revers Proxy for Apache on Ubuntu
Nginx as a Revers Proxy for Apache on UbuntuNginx as a Revers Proxy for Apache on Ubuntu
Nginx as a Revers Proxy for Apache on Ubuntu
 
it project
it project it project
it project
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Emulation-based SW protection

  • 1. Subject: Emulation-based Software Protection Presented by: Abdullah Roomi Presented to : Dr.Belal Amro Hebron University College: Information Technology Department: Network Security and Protection
  • 2. EMULATION-BASED SOFTWARE PROTECTION • Overview • Emulation Sandboxing • Problem Definition • How protection mechanism work • Advantage and Disadvantage. • Emulation-based Encrypted Code Execution • Problem Definition • How protection mechanism work • Advantage and Disadvantage. • Emulation-based Page Granularity Code Signing • Problem Definition • How protection mechanism work • Advantage and Disadvantage.
  • 3. OVERVIEW OF EMULATED –BASED SOFTWARE PROTECTION • Two emulation-based software protection schemes: • Encrypted code execution . • Page-granularity code signing . • execute within trusted emulators while remaining out-of-band of untrusted systems being emulated. • The integrity and reliability of the protection mechanisms depend upon attackers remaining sandboxed within the emulated environments .
  • 4. EMULATION SANDBOXING Problem Definition : Kernel malware is able to modify (attack) kernel protection mechanisms.
  • 5. EMULATION SANDBOXING Protection Mechanism : 1. Host OS copies Guest OS instructions from Guest OS memory into Host OS memory. 2. Guest OS instructions are translated and executed in Host OS memory that it appears as if the original Guest OS instructions had been executed . 3. This emulation process provides a sandbox that ensures that the Guest OS instructions read and Write in the Guest OS Memory , exclusively. The Host OS Memory cannot be accessed by the Guest OS instructions thatreside in the Guest OS Memory
  • 7. EMULATION SANDBOXING • Advantage : • reduce software vulnerabilities to a restricted environment. • Disadvantage: • do not protect against reverse code engineering (RCE) • do not protect against software vulnerabilities such as buffer overflows, index array ,out of bound errors, race conditions, integer overflows, and other types of memory corruption vulnerabilities. • do not provide adequate protection for computer devices and software against attempts to bypass a security policy.
  • 8. EMULATION-BASED ENCRYPTED CODE EXECUTION •Problem Definition : • Reverse Code Engineering (RCE) uncovers the internal workings of a program: • Vulnerability • intellectual property (IP) discovery • To protect from RCE program code : • anti-disassembly • anti-debugging • obfuscation techniques • code may be encrypted
  • 9. EMULATION-BASED ENCRYPTED CODE EXECUTION • Protection Mechanism : • Host OS copies encrypted Guest OS instructions from Guest OS memory into Host OS memory. The encrypted Guest OS instructions are decrypted in Host OS memory. The decrypted instructions always remain out-of-band of the Guest OS and are not accessible by Guest OS instructions. • Decrypted Guest OS instructions are translated (or interpreted) to a set of Host OS instructions. When this set of translated Host OS instructions execute the state of Guest OS memory and registers is modified such that it appears as if the original Guest OS instructions had been executed. • The translation process ensures Guest OS instructions never read decrypted Guest OS instructions ,emulation sandbox ensures Host OS memory is inaccessible by Guest OS instructions
  • 11. EMULATION-BASED ENCRYPTED CODE EXECUTION • Advantage : • protect against reverse code engineering (RCE) • Disadvantage : • do not protect against software vulnerabilities such as buffer overflows, index array ,out of bound errors, race conditions, integer overflows, and other types of memory corruption vulnerabilities • do not provide adequate protection for computer devices and software against attempts to bypass a security policy
  • 12. EMULATION-BASED PAGE GRANULARITY CODE SIGNING • Problem Definition : • Software exploitation is a process that leverages design and implementation errors ( buffer overflows, input-driven format strings, integer overflows, race conditions, etc.) • protection mechanisms : • stack canaries • variable reordering • shadow arguments • Etc. • provide a blacklist approach to software protection
  • 13. EMULATION-BASED PAGE GRANULARITY CODE SIGNING • Protection Mechanism : • Host OS copies Guest OS instructions and Hash Message Authentication Code’s (HMAC) (or digital signatures) of Guest OS instructions from Guest OS memory into Host OS memory. • HMACs of Guest OS instructions are recomputed using a secret key in Host OS memory. The secret key remains in Host OS memory and is never accessible by Guest OS instructions. Guest OS instructions with valid HMACs are translated (or interpreted) to a set of Host OS instructions. This set of Host OS instructions is executed as before. • Guest OS instructions with invalid HMACs remain untranslated and therefore unexecuted. Malicious code (unless signed using the secret key) will remain unexecuted, thus protecting the system.
  • 15. REFERENCES • [1] Emulation-based Software Protection William Kimball (wkimball@afit.edu) • [2] https://docs.google.com/viewer?url=patentimages.storage.googleapis. com/pdfs/US8285987.pdf • [3] http://www.virtualmvp.com/vmware-consumed-host-memory-vs- active-guest-memory/ • [4] https://www.cs.bu.edu/~goldbe/teaching/HW55813/zhou.pdf • [5] https://securebox.comodo.com/whitelist-vs-blacklist/