SlideShare ist ein Scribd-Unternehmen logo
Alvaro Forero | Security Expert
alvaro.forero@wibu.com
Ruediger Kuegler | Security Expert
ruediger.kuegler@wibu.com
Virtuelles CodeMoving mit
Translocated Execution
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 1
Agenda
 Übersicht CodeMeter Protection Suite
 AxProtector
 IxProtector
 Translocated Execution
 Live Demo
 Zusammenfassung – Sicherheit
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 2
CodeMeter
Protection Suite
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 3
CodeMeter Protection Suite
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 4
CodeMeter Protection Suite
Automatischer Schutz
(IP Protection)
Anti-Debug Methoden
Verwendete
CodeMeter Variante
Individuelle
Funktionsverschlüsselung
Integritätsschutz
(Tamper Protection)
Authentizität der Software
(Secure Loader / Authenticity)
Java SE
Java EE
Embedded
Operating System
.NETPC (Windows,
Linux, macOS)
CodeMeter
Runtime
CodeMeter
Runtime
CodeMeter
Runtime
CodeMeter
Embedded
CodeMeter
Embedded
IxProtector
AxProtector
AxProtector .NET
AxProtector Java
AxProtector CmE
ExProtector
AxProtector
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 5
Protected Application
AxProtector
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 6
Compiled Application
Data Section
Resource Section
Code Section
AxProtector
Header
Data Section
Resource Section
Code Section
Header
Encrypted
Code Section
Encrypted
Data Section
Encrypted
Resource Section
AxEngine
(Security Engine)
Ungeschützte Anwendung
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 7
Geschützte Anwendung
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 8
Sicherheitsoptionen
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 9
 Ressource-Verschlüsselung
 Code-Modifikationen
 Statisch
 Dynamisch
 Debugger Check
 Basic
 Erweitert
 Generisch
 Sperren von Lizenzen
Keine Inter-Sektions Aufrufe (Option –a)
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 10
Protected ApplicationCompiled Application
Header
AxProtector
Header
Data Section
Resource Section
Code SectionCode Section
Data Section
Resource Section
Code SectionEncrypted
Code Section
Encrypted
Data Section
Encrypted
Resource Section
AxEngine
(Security Engine)
IxProtector
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 11
Protected Application
AxEngine
(Security Engine)
Compiled Application
IxProtector
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 12
IxProtector
Header
Data Section
Resource Section
Code Section
Function Function
Header
Code Section
Data Section
Resource Section
Function Function
Encrypted
Function
Encrypted
Function
Einzelne verschlüsselte Funktion
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 13
Verschlüsselter Code ergibt keinen Sinn
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 14
Unencrypted Code Encrypted (nonsense) Code
Protected Application
AxEngine
(Security Engine)
Compiled Application
AxProtector und IxProtector
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 15
AxProtector
IxProtector
Header
Data Section
Resource Section
Code Section
Function Function
Header
Code Section
Data Section
Resource Section
Function Function
Encrypted
Function
Encrypted
Function
Encrypted
Data Section
Encrypted
Resource Section
Encrypted
Code Section
Encrypted
Function
Encrypted
Function
IxProtector (Zur Laufzeit - Standard)
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 16
 Start der Anwendung
 …
 Aufruf WupiDecryptCodeId(n)
 Entschlüsselt Funktion n „in place“
 Ausführung Funktion n
 Aufruf WupiEncryptCodeId(n)
 Verschlüsselt Funktion n „in place“
 …
Protected Application
Header
Code Section
Data Section
Function Function
Encrypted
Function
Encrypted
Function
Encrypted
Data Section
Encrypted
Code Section
Encrypted
Function
Encrypted
Function
Encrypted
Resource Section
AxEngine
(Security Engine)
Translocated Execution
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 17
Protected ApplicationCompiled Application
IxProtector mit Translocated Execution
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 18
IxProtector
Header Header
Code Section
Function Function
Data Section
Resource Section
Code Section
Data Section
Resource Section
Function FunctionStub
Enc.
Function
Stub
Enc.
Function
Encrypted Functions
AxEngine
(Security Engine)
Protected ApplicationCompiled Application
AxProtector und IxProtector mit Translocated Execution
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 19
AxProtector
IxProtector
Header
Data Section
Code Section
Function Function
Header
Encrypted Functions
Resource Section
Code Section
Data Section
Resource Section
Function FunctionStub
Enc.
Function
Stub
Enc.
Function
Encrypted Code Section
Stub
Enc.
Function
Stub
Enc.
Function
Enc. Resource Section
Encrypted Data Section
AxEngine
(Security Engine)
IxProtector (During Runtime – With Translocated Execution)
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 20
 Start der Anwendung
 …
 Ausführung Funktion n
 Entschlüsselt Funktion n auf Heap
 Springt zu Funktion n (auf Heap)
 Entfernt (überschreibt) Funktion n
aus dem Heap
 Nächste Funktion an gleicher
Stelle
Protected Application
AxEngine
(Security Engine)
Header
Encrypted Functions
Code Section
Data Section
Stub
Enc.
Function
Stub
Enc.
Function
Encrypted Code Section
Stub
Enc.
Function
Stub
Enc.
Function
Encrypted Data Section
Heap
FunctionFunction
Enc. Resource Section
Verfügbare Optionen
 Automatisch (OOPE=1)
 Entschlüsseln, Ausführen, Löschen
 Manuell (OOPE=2)
 WupiDecryptCodeId, Ausführen, WupiEncryptCodeId
 Automatisch mit Cache (OOPE=5)
 Entschlüsseln, Ausführen, im Cache halten
 Löschen nach x Sekunden
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 21
Demo
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 22
Zusammenfassung –
Sicherheit
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 23
Sicherheit
 AxProtector entschlüsselt die komplette Anwendung beim Start
 Anti-Dumping, Code-Modifikationen und Ressource-Verschlüsselung
 Vermeidung von Inter-Sektions Aufrufen
 IxProtector lässt Funktionen verschlüsselt im Speicher
 Entschlüsselung dynamisch zur Laufzeit bei Bedarf
 Translocated Execution macht es noch schwerer diese Funktionen zur
Laufzeit zu finden
 Manuelle und automatische Entschlüsselung zur Laufzeit
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 24
Germany: +49-721-931720
USA: +1-425-7756900
China: +86-21-55661790
http://www.wibu.com
info@wibu.com
Vielen Dank für Ihre Aufmerksamkeit
06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 25

Weitere ähnliche Inhalte

Ähnlich wie Virtuelles CodeMoving mit Translocated Execution

Schutz und Lizenzierung für Embedded-Geräte
Schutz und Lizenzierung für Embedded-GeräteSchutz und Lizenzierung für Embedded-Geräte
Schutz und Lizenzierung für Embedded-Geräte
team-WIBU
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
gedoplan
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
Predrag61
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien KontaktenAKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
Didactum
 
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisierenSoftware, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
team-WIBU
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
Integration von Schutz und Lizenzierung einfach gemacht
Integration von Schutz und Lizenzierung einfach gemachtIntegration von Schutz und Lizenzierung einfach gemacht
Integration von Schutz und Lizenzierung einfach gemacht
team-WIBU
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
Heiko Brenn
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche Wolke
Thomas Uhl
 
Schutz von Java-Anwendungen
Schutz von Java-AnwendungenSchutz von Java-Anwendungen
Schutz von Java-Anwendungen
team-WIBU
 
Managed GNU/Linux Servers
Managed GNU/Linux ServersManaged GNU/Linux Servers
Managed GNU/Linux Servers
South Tyrol Free Software Conference
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Nico Orschel
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit ag
Inke Kauer
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
BATbern
 
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm ServerInfrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
Didactum
 
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
Didactum
 
Microprofile.io
Microprofile.io Microprofile.io
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
Stephan Kaps
 

Ähnlich wie Virtuelles CodeMoving mit Translocated Execution (20)

Schutz und Lizenzierung für Embedded-Geräte
Schutz und Lizenzierung für Embedded-GeräteSchutz und Lizenzierung für Embedded-Geräte
Schutz und Lizenzierung für Embedded-Geräte
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien KontaktenAKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
AKCP securityProbe 5E-X60 - Überwachung von bis zu 60 potentialfreien Kontakten
 
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisierenSoftware, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
Software, Maschinen und Materialien mit neuen Geschäftsmodellen monetarisieren
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Integration von Schutz und Lizenzierung einfach gemacht
Integration von Schutz und Lizenzierung einfach gemachtIntegration von Schutz und Lizenzierung einfach gemacht
Integration von Schutz und Lizenzierung einfach gemacht
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
Deutsche Wolke
Deutsche WolkeDeutsche Wolke
Deutsche Wolke
 
Schutz von Java-Anwendungen
Schutz von Java-AnwendungenSchutz von Java-Anwendungen
Schutz von Java-Anwendungen
 
Managed GNU/Linux Servers
Managed GNU/Linux ServersManaged GNU/Linux Servers
Managed GNU/Linux Servers
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit ag
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm ServerInfrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
Infrastruktur-Überwachung mit dem AKCP securityProbe 5E-X20 Alarm Server
 
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
AKCP securityProbe 5E Alarm Server - Umwelt- und Sicherheitsüberwachung & Zut...
 
Microprofile.io
Microprofile.io Microprofile.io
Microprofile.io
 
Kaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes seinKaps - Es muss nicht immer Kubernetes sein
Kaps - Es muss nicht immer Kubernetes sein
 

Mehr von team-WIBU

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
team-WIBU
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
team-WIBU
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
team-WIBU
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
team-WIBU
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
team-WIBU
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
team-WIBU
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
team-WIBU
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
team-WIBU
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
team-WIBU
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
team-WIBU
 
Protecting and Licensing .NET Applications
Protecting and Licensing .NET ApplicationsProtecting and Licensing .NET Applications
Protecting and Licensing .NET Applications
team-WIBU
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
team-WIBU
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
team-WIBU
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
team-WIBU
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
team-WIBU
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
team-WIBU
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
team-WIBU
 
Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
team-WIBU
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
team-WIBU
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
team-WIBU
 

Mehr von team-WIBU (20)

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Unlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial SecurityUnlocking the Future: Empowering Industrial Security
Unlocking the Future: Empowering Industrial Security
 
The Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success TogetherThe Power of Partnership: Enabling Success Together
The Power of Partnership: Enabling Success Together
 
Unleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter BasicsUnleash the Power of CodeMeter - CodeMeter Basics
Unleash the Power of CodeMeter - CodeMeter Basics
 
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für GeschäftskontinuitätKeine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
Keine Zeit für Leerlauf – Lizenzverfügbarkeit für Geschäftskontinuität
 
No Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuityNo Time to Idle – License availability for business continuity
No Time to Idle – License availability for business continuity
 
Cloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline ScenariosCloud-Based Licensing in Offline Scenarios
Cloud-Based Licensing in Offline Scenarios
 
Optimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best PracticesOptimizing Cloud Licensing: Strategies and Best Practices
Optimizing Cloud Licensing: Strategies and Best Practices
 
For a Few Licenses More
For a Few Licenses MoreFor a Few Licenses More
For a Few Licenses More
 
App Management on the Edge
App Management on the EdgeApp Management on the Edge
App Management on the Edge
 
Protecting and Licensing .NET Applications
Protecting and Licensing .NET ApplicationsProtecting and Licensing .NET Applications
Protecting and Licensing .NET Applications
 
A Bit of License Management Magic
A Bit of License Management MagicA Bit of License Management Magic
A Bit of License Management Magic
 
The first step is always the most decisive
The first step is always the most decisiveThe first step is always the most decisive
The first step is always the most decisive
 
Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...Protection and monetization of 3D printed objects in the spare parts business...
Protection and monetization of 3D printed objects in the spare parts business...
 
Authenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevicesAuthenticate and authorize your IIoTdevices
Authenticate and authorize your IIoTdevices
 
How and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based LicensesHow and Why to Create and Sell Consumption-Based Licenses
How and Why to Create and Sell Consumption-Based Licenses
 
Serving Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every AppetiteServing Up Features-on-Demand for Every Appetite
Serving Up Features-on-Demand for Every Appetite
 
Security and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptxSecurity and Protection for Machine Learning.pptx
Security and Protection for Machine Learning.pptx
 
License Portal - The DIY Solution
License Portal - The DIY SolutionLicense Portal - The DIY Solution
License Portal - The DIY Solution
 
Running code in secure hardware or cloud environments
Running code in secure hardware or cloud environmentsRunning code in secure hardware or cloud environments
Running code in secure hardware or cloud environments
 

Virtuelles CodeMoving mit Translocated Execution

  • 1. Alvaro Forero | Security Expert alvaro.forero@wibu.com Ruediger Kuegler | Security Expert ruediger.kuegler@wibu.com Virtuelles CodeMoving mit Translocated Execution 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 1
  • 2. Agenda  Übersicht CodeMeter Protection Suite  AxProtector  IxProtector  Translocated Execution  Live Demo  Zusammenfassung – Sicherheit 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 2
  • 3. CodeMeter Protection Suite 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 3
  • 4. CodeMeter Protection Suite 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 4 CodeMeter Protection Suite Automatischer Schutz (IP Protection) Anti-Debug Methoden Verwendete CodeMeter Variante Individuelle Funktionsverschlüsselung Integritätsschutz (Tamper Protection) Authentizität der Software (Secure Loader / Authenticity) Java SE Java EE Embedded Operating System .NETPC (Windows, Linux, macOS) CodeMeter Runtime CodeMeter Runtime CodeMeter Runtime CodeMeter Embedded CodeMeter Embedded IxProtector AxProtector AxProtector .NET AxProtector Java AxProtector CmE ExProtector
  • 5. AxProtector 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 5
  • 6. Protected Application AxProtector 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 6 Compiled Application Data Section Resource Section Code Section AxProtector Header Data Section Resource Section Code Section Header Encrypted Code Section Encrypted Data Section Encrypted Resource Section AxEngine (Security Engine)
  • 7. Ungeschützte Anwendung 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 7
  • 8. Geschützte Anwendung 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 8
  • 9. Sicherheitsoptionen 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 9  Ressource-Verschlüsselung  Code-Modifikationen  Statisch  Dynamisch  Debugger Check  Basic  Erweitert  Generisch  Sperren von Lizenzen
  • 10. Keine Inter-Sektions Aufrufe (Option –a) 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 10 Protected ApplicationCompiled Application Header AxProtector Header Data Section Resource Section Code SectionCode Section Data Section Resource Section Code SectionEncrypted Code Section Encrypted Data Section Encrypted Resource Section AxEngine (Security Engine)
  • 11. IxProtector 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 11
  • 12. Protected Application AxEngine (Security Engine) Compiled Application IxProtector 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 12 IxProtector Header Data Section Resource Section Code Section Function Function Header Code Section Data Section Resource Section Function Function Encrypted Function Encrypted Function
  • 13. Einzelne verschlüsselte Funktion 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 13
  • 14. Verschlüsselter Code ergibt keinen Sinn 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 14 Unencrypted Code Encrypted (nonsense) Code
  • 15. Protected Application AxEngine (Security Engine) Compiled Application AxProtector und IxProtector 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 15 AxProtector IxProtector Header Data Section Resource Section Code Section Function Function Header Code Section Data Section Resource Section Function Function Encrypted Function Encrypted Function Encrypted Data Section Encrypted Resource Section Encrypted Code Section Encrypted Function Encrypted Function
  • 16. IxProtector (Zur Laufzeit - Standard) 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 16  Start der Anwendung  …  Aufruf WupiDecryptCodeId(n)  Entschlüsselt Funktion n „in place“  Ausführung Funktion n  Aufruf WupiEncryptCodeId(n)  Verschlüsselt Funktion n „in place“  … Protected Application Header Code Section Data Section Function Function Encrypted Function Encrypted Function Encrypted Data Section Encrypted Code Section Encrypted Function Encrypted Function Encrypted Resource Section AxEngine (Security Engine)
  • 17. Translocated Execution 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 17
  • 18. Protected ApplicationCompiled Application IxProtector mit Translocated Execution 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 18 IxProtector Header Header Code Section Function Function Data Section Resource Section Code Section Data Section Resource Section Function FunctionStub Enc. Function Stub Enc. Function Encrypted Functions AxEngine (Security Engine)
  • 19. Protected ApplicationCompiled Application AxProtector und IxProtector mit Translocated Execution 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 19 AxProtector IxProtector Header Data Section Code Section Function Function Header Encrypted Functions Resource Section Code Section Data Section Resource Section Function FunctionStub Enc. Function Stub Enc. Function Encrypted Code Section Stub Enc. Function Stub Enc. Function Enc. Resource Section Encrypted Data Section AxEngine (Security Engine)
  • 20. IxProtector (During Runtime – With Translocated Execution) 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 20  Start der Anwendung  …  Ausführung Funktion n  Entschlüsselt Funktion n auf Heap  Springt zu Funktion n (auf Heap)  Entfernt (überschreibt) Funktion n aus dem Heap  Nächste Funktion an gleicher Stelle Protected Application AxEngine (Security Engine) Header Encrypted Functions Code Section Data Section Stub Enc. Function Stub Enc. Function Encrypted Code Section Stub Enc. Function Stub Enc. Function Encrypted Data Section Heap FunctionFunction Enc. Resource Section
  • 21. Verfügbare Optionen  Automatisch (OOPE=1)  Entschlüsseln, Ausführen, Löschen  Manuell (OOPE=2)  WupiDecryptCodeId, Ausführen, WupiEncryptCodeId  Automatisch mit Cache (OOPE=5)  Entschlüsseln, Ausführen, im Cache halten  Löschen nach x Sekunden 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 21
  • 22. Demo 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 22
  • 23. Zusammenfassung – Sicherheit 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 23
  • 24. Sicherheit  AxProtector entschlüsselt die komplette Anwendung beim Start  Anti-Dumping, Code-Modifikationen und Ressource-Verschlüsselung  Vermeidung von Inter-Sektions Aufrufen  IxProtector lässt Funktionen verschlüsselt im Speicher  Entschlüsselung dynamisch zur Laufzeit bei Bedarf  Translocated Execution macht es noch schwerer diese Funktionen zur Laufzeit zu finden  Manuelle und automatische Entschlüsselung zur Laufzeit 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 24
  • 25. Germany: +49-721-931720 USA: +1-425-7756900 China: +86-21-55661790 http://www.wibu.com info@wibu.com Vielen Dank für Ihre Aufmerksamkeit 06.09.2017 © WIBU-SYSTEMS AG 2017 - Virtuelles CodeMoving mit Translocated Execution 25