Analyzing modern DRMs
Maurice Heumann
© WIBU-SYSTEMS AG
Who am I?
© WIBU-SYSTEMS AG 2024
2
2024-05-07
Who is WIBU?
© WIBU-SYSTEMS AG 2024
3
2024-05-07
Agenda
© WIBU-SYSTEMS AG 2024
4
2024-05-07
State of modern DRMs
5
State of modern DRMs
6
State of modern DRMs
7
How to analyze modern DRMs?
8
How to analyze modern DRMs?
→ new tools needed
9
Emulation
with Qiling
10
Qiling
11
Qiling
12
Qiling
DEMO
13
Qiling
but…
14
How to patch the binary?
15
How to patch the binary?
→ new tools needed
16
Hypervisor
17
What is a hypervisor?
18
How does a hypervisor work?
19
How does a hypervisor work?
20
How does a hypervisor work?
→ address translation enables EPT hooking
21
How does a hypervisor work?
22
What is EPT hooking?
Intel only
23
What is EPT hooking?
24
What is EPT hooking?
25
Virtual Address
Memory Read
Memory Execution
Physical Page
What is EPT hooking?
26
Virtual Address
Memory Read
Memory Execution
Physical Page
Physical Page
What is EPT hooking?
27
Source: Intel® 64 and IA-32 Architectures Software Developer’s Manual - Vol 3A: 4.5.4
What is EPT hooking?
28
What is EPT hooking?
29
What is EPT hooking?
30
What is EPT hooking?
31
EPT Hooking
DEMO
32
What else can a hypervisor do?
→ see HyperDbg (hyperdbg.org)
33
How to defeat Qiling & hypervisors?
34
How to defeat Qiling?
35
How to defeat hypervisors?
36
Summary
37
Summary
38
Links
39
40
We are hiring: maurice.heumann@wibu.com
Thank You!