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

PDF
Bryan Sanabria New
PDF
Sherry Reda Eskander
PDF
Silence Group
PDF
EuskalHack 2017 - Secure initialization of TEEs: when secure boot falls short
PDF
Vladimir Polshchikov-IT Administrator
PPT
Software
PDF
Linux binary Exploitation
PDF
IRJET- Development of Uncrackable Software
Bryan Sanabria New
Sherry Reda Eskander
Silence Group
EuskalHack 2017 - Secure initialization of TEEs: when secure boot falls short
Vladimir Polshchikov-IT Administrator
Software
Linux binary Exploitation
IRJET- Development of Uncrackable Software

Similar to Emulation-based SW protection (20)

PDF
Windows Offender: Reverse Engineering Windows Defender's Antivirus Emulator
PPT
B-Sides Seattle 2012 Offensive Defense
PPT
Software security
PPTX
Halvar Flake: Why Johnny can’t tell if he is compromised
PDF
x86 Software Reverse-Engineering, Cracking, and Counter-Measures 1st Edition ...
PDF
Automatic reverse engineering of malware emulators
PDF
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
PDF
Possibility of arbitrary code execution by Step-Oriented Programming
PDF
Possibility of arbitrary code execution by Step-Oriented Programming by Hiroa...
PDF
AllBits presentation - Lower Level SW Security
PDF
A taxonomy of obfuscating transformations
PDF
System Integrity
PPTX
BlueHat v17 || KERNELFAULT: R00ting the Unexploitable using Hardware Fault In...
PDF
Native Code Execution Control for Attack Mitigation on Android
PDF
Designing and Attacking DRM (RSA 2008)
PDF
ESET’s guide to deobfuscating and devirtualizing FinFisher
PDF
Wrangling with the Ghost: An Inside Story of Mitigating Speculative Execution...
PDF
Automatic binary deobfuscation
DOCX
Mansour Alirfan5632632IntroductionProposalResults.docx
PDF
You Can Run but You Can’t Read: Preventing Disclosure Exploits in Executable ...
Windows Offender: Reverse Engineering Windows Defender's Antivirus Emulator
B-Sides Seattle 2012 Offensive Defense
Software security
Halvar Flake: Why Johnny can’t tell if he is compromised
x86 Software Reverse-Engineering, Cracking, and Counter-Measures 1st Edition ...
Automatic reverse engineering of malware emulators
[CB20] Pwning OT: Going in Through the Eyes by Ta-Lun Yen
Possibility of arbitrary code execution by Step-Oriented Programming
Possibility of arbitrary code execution by Step-Oriented Programming by Hiroa...
AllBits presentation - Lower Level SW Security
A taxonomy of obfuscating transformations
System Integrity
BlueHat v17 || KERNELFAULT: R00ting the Unexploitable using Hardware Fault In...
Native Code Execution Control for Attack Mitigation on Android
Designing and Attacking DRM (RSA 2008)
ESET’s guide to deobfuscating and devirtualizing FinFisher
Wrangling with the Ghost: An Inside Story of Mitigating Speculative Execution...
Automatic binary deobfuscation
Mansour Alirfan5632632IntroductionProposalResults.docx
You Can Run but You Can’t Read: Preventing Disclosure Exploits in Executable ...
Ad

More from abdullah roomi (10)

PPTX
PPTX
PDF
Network File System (NFS)
PDF
RSS Application Using Dom
PPTX
Security in Windows operating system
DOCX
Wireless Sensor Networks
PPTX
Mobile Forensics
PPTX
Nginx as a Revers Proxy for Apache on Ubuntu
PPTX
it project
Network File System (NFS)
RSS Application Using Dom
Security in Windows operating system
Wireless Sensor Networks
Mobile Forensics
Nginx as a Revers Proxy for Apache on Ubuntu
it project
Ad

Recently uploaded (20)

PDF
Architecture types and enterprise applications.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
project resource management chapter-09.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Getting Started with Data Integration: FME Form 101
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPT
What is a Computer? Input Devices /output devices
Architecture types and enterprise applications.pdf
A comparative study of natural language inference in Swahili using monolingua...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Programs and apps: productivity, graphics, security and other tools
OMC Textile Division Presentation 2021.pptx
Hybrid model detection and classification of lung cancer
Zenith AI: Advanced Artificial Intelligence
project resource management chapter-09.pdf
Tartificialntelligence_presentation.pptx
A novel scalable deep ensemble learning framework for big data classification...
Getting Started with Data Integration: FME Form 101
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Developing a website for English-speaking practice to English as a foreign la...
Web App vs Mobile App What Should You Build First.pdf
observCloud-Native Containerability and monitoring.pptx
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
What is a Computer? Input Devices /output devices

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/