SlideShare a Scribd company logo
An Introduction to
Return-Oriented
Exploitation on ARM64
by Billy Ellis
BSidesMCR 2018@bellis1000
whoami
•Billy Ellis
•17 year old from UK
•App development & programming for 5 years
•Interested in security & exploitation for 2 years
@bellis1000 BSidesMCR 2018
• Created various ‘exploit exercise’
binaries for ARM/ARM64
• Author of ‘Beginner’s Guide to
Exploitation on ARM’
• Run a YouTube channel teaching
various exploit development &
iOS jailbreaking videos
My work
@bellis1000 BSidesMCR 2018
• Introduce ‘return-oriented’ exploitation techniques (for
those who are unfamiliar)
• Cover fundamentals of ARM/ARM64
• Demo a ROP exploit on ARM64
Focus of my talk
@bellis1000 BSidesMCR 2018
Why target ARM?
@bellis1000 BSidesMCR 2018
• Almost all smartphones & tablets run on ARM-based chips
• Some laptops now also use ARM
• Embedded systems / co-processors (TouchBar) too
Why target ARM?
@bellis1000 BSidesMCR 2018
• Mobile devices have become much more popular in the
last decade
• Makes ARM a worth while target for attackers
Why target ARM?
@bellis1000 BSidesMCR 2018
ARM Fundamentals
@bellis1000 BSidesMCR 2018
• 32-bit RISC architecture
• Instructions of fixed size (32 bits)
• 16-bit mode known as ‘thumb’
• 16 registers
ARMv7
@bellis1000 BSidesMCR 2018
• R0 - R12 (general purpose)
• R13 (stack pointer)
• R14 (link register)
• R15 (program counter)
ARMv7 Registers
@bellis1000 BSidesMCR 2018
• aka ARM64
• 64-bit ARM architecture
• Supports AArch32 for backwards compatibility
• Supports exception levels (EL3 - EL0)
ARMv8
@bellis1000 BSidesMCR 2018
• 30 general purpose registers (X0 - X29)
• W0 - W29 (32-bit context)
• Link Register X30
• Stack Pointer X31
• Program Counter (not directly modifiable)
ARMv8 Registers
@bellis1000 BSidesMCR 2018
Differences
@bellis1000
ARMv7 ARMv8
BSidesMCR 2018
Differences
@bellis1000
ARMv7 ARMv8
Register names
BSidesMCR 2018
Differences
@bellis1000
ARMv7 ARMv8
Instruction mnemonics
BSidesMCR 2018
Differences
@bellis1000
ARMv7 ARMv8
Return instructions
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Adds specified
registers’ values
to top of stack
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Manually grow
the stack
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Store register
pair at location
specified
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Remove top
items from stack
and place into
specified
registers
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Load register
pair from
memory location
specified
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Manually shrink
the stack
BSidesMCR 2018
Differences
@bellis1000
ARMv7
ARMv8
Return (branch
to X30)
BSidesMCR 2018
What is ROP?
@bellis1000 BSidesMCR 2018
• Return Oriented Programming
• Modern exploit technique
• Code re-use attack
• Originally used as alternative to shellcode
What is ROP?
@bellis1000 BSidesMCR 2018
• Old fashioned method of writing a payload
• Involves writing byte-representation of instructions to
memory
• Jump to that memory to execute the payload
What is shellcode?
@bellis1000 BSidesMCR 2018
Example
@bellis1000 BSidesMCR 2018
Example
@bellis1000
• NX / DEP prevent stack
data being executed
• Not possible on modern
systems
BSidesMCR 2018
ROP provides a
workaround!
@bellis1000 BSidesMCR 2018
• Uses legitimate instructions out of context
• Chains together several ‘gadgets’ to achieve desired
outcome
• NX / DEP no longer matters
How does it work?
@bellis1000 BSidesMCR 2018
• Short sequences of instructions ending with a ‘RET’
• The ‘RET’ is required in order to chain gadgets
• Gadgets are found within __TEXT segment
• Usually found at the end of a function
Gadgets
@bellis1000 BSidesMCR 2018
Example gadget
@bellis1000 BSidesMCR 2018
Example gadget
@bellis1000
Store Register
instruction
BSidesMCR 2018
Example gadget
@bellis1000
Data
BSidesMCR 2018
Example gadget
@bellis1000
Location
Data
BSidesMCR 2018
Example gadget
@bellis1000
Memory location
(top of stack)
Load Pair of
registers
X29 & X30
(X30 is Link
Register)
BSidesMCR 2018
Example gadget
@bellis1000
Return - branch
to X30
BSidesMCR 2018
Gadget chaining
@bellis1000
• Gadgets can be chained using their ‘RET’ instructions
• Place gadget addresses in order on stack
• Each ‘RET’ will jump to the next address on the stack
BSidesMCR 2018
Example
@bellis1000 BSidesMCR 2018
Example
@bellis1000
Fill stack with junk up
until return address
BSidesMCR 2018
Example
@bellis1000
Overwrite return
address with first
gadget address
BSidesMCR 2018
Example
@bellis1000
Additional gadget
addresses follow
BSidesMCR 2018
Example
@bellis1000
Gadgets are executed
one after the other
BSidesMCR 2018
Example
@bellis1000
The ‘RET’ jumps to
the next gadget
BSidesMCR 2018
Finding gadgets
@bellis1000
• Search binary for ‘RET’ instructions
• Search backwards from the ‘RET’ to find useful
instructions
• Many great tools do this automatically for multiple
architectures
BSidesMCR 2018
ARM Gadget Finders
@bellis1000
• https://github.com/JonathanSalwan/ROPgadget
• https://github.com/sashs/Ropper
• http://ropshell.com
BSidesMCR 2018
Complex ROP Chains
@bellis1000
• Many exploits require huge gadget chains
• Sometimes involving hundreds of gadgets for complex
tasks
• e.g. kernel patching
BSidesMCR 2018
What’s the problem?
@bellis1000 BSidesMCR 2018
What’s the problem?
@bellis1000
• All vulnerabilities are different
• Some may limit the amount of gadgets that can be executed
• Some may only allow a single gadget worth of arbitrary
code execution
• e.g. non-stack-based function pointer overwrite
BSidesMCR 2018
Solution: Stack Pivot
@bellis1000 BSidesMCR 2018
What is Stack Pivoting?
@bellis1000
• Creating a fake stack
• Control SP value to point to new location
• Populate this memory with ROP chain
• Redirect code execution to first gadget in the chain
BSidesMCR 2018
The Stack
@bellis1000
• Theoretically it is a stack
of items
BSidesMCR 2018
The Stack
@bellis1000
• Theoretically it is a stack
of items
• PUSH to add item
BSidesMCR 2018
The Stack
@bellis1000
• Theoretically it is a stack
of items
• PUSH to add item
• POP to remove item
BSidesMCR 2018
In reality…
@bellis1000
• It’s just an abstraction
• The stack does not exist as we imagine it
• It is just an area of memory like any other
BSidesMCR 2018
In reality…
@bellis1000 BSidesMCR 2018
In reality…
@bellis1000
Stack Pointer points to
top of stack
BSidesMCR 2018
In reality…
@bellis1000
“POP {R1}”
BSidesMCR 2018
In reality…
@bellis1000
“POP {R1}”
BSidesMCR 2018
In reality…
@bellis1000
“POP {R1}”
Stack is one
item shorter
BSidesMCR 2018
In reality…
@bellis1000
“POP {R1}”
This memory
does not need to
be cleared
BSidesMCR 2018
In reality…
@bellis1000
“PUSH {R2}”
BSidesMCR 2018
In reality…
@bellis1000
“PUSH {R2}”
BSidesMCR 2018
In reality…
@bellis1000
“PUSH {R2}”
New item is
added to
top of stack
BSidesMCR 2018
Stack Pivot
@bellis1000 BSidesMCR 2018
Stack Pivot
@bellis1000 BSidesMCR 2018
Stack Pivot
@bellis1000
Attacker controlled
memory populated with
gadget addresses
BSidesMCR 2018
Stack Pivot
@bellis1000 BSidesMCR 2018
Stack Pivot
@bellis1000
Modify SP register
to point to start of
ROP stack
BSidesMCR 2018
Stack Pivot
@bellis1000
Program now treats
this as the stack
BSidesMCR 2018
How do we control
Stack Pointer?
@bellis1000 BSidesMCR 2018
How do we control SP?
@bellis1000
• Use a pivot gadget
• Overwrite SP value
BSidesMCR 2018
Stack Pivot Gadget
@bellis1000 BSidesMCR 2018
Stack Pivot Gadget
@bellis1000
Overwrite SP with
value of X5
BSidesMCR 2018
Stack Pivot Gadget
@bellis1000
Load X30 and
Return
BSidesMCR 2018
Example Attack
@bellis1000 BSidesMCR 2018
Target Overview
@bellis1000
Target Name:
Architecture:
Description:
bsides_demo
ARMv7/ARMv8
Small binary vulnerable to a heap
buffer overflow allowing a
function pointer to be
overwritten.
BSidesMCR 2018
Aim
@bellis1000
• Call secret() function
• Pass correct code as first parameter
BSidesMCR 2018
@bellis1000 BSidesMCR 2018
@bellis1000 BSidesMCR 2018
@bellis1000 BSidesMCR 2018
@bellis1000 BSidesMCR 2018
@bellis1000
Vulnerability
BSidesMCR 2018
@bellis1000
Vulnerability
512 byte copy into
object’s name[] char
array
BSidesMCR 2018
@bellis1000
Vulnerability
name[] array is
only 64 bytes long
512 byte copy into
object’s name[] char
array
BSidesMCR 2018
@bellis1000
Vulnerability
Will overflow causing
function pointer to be
overwritten!
512 byte copy into
object’s name[] char
array
BSidesMCR 2018
@bellis1000
Vulnerability
Conveniently placed call
to function pointer ;)
BSidesMCR 2018
@bellis1000
Vulnerability
Offset 0x40 (64) bytes
from ‘name’ buffer
BSidesMCR 2018
@bellis1000
secret()
BSidesMCR 2018
@bellis1000
secret()
Secret code
BSidesMCR 2018
@bellis1000
secret()
Compared against
W0 (first arg)
BSidesMCR 2018
@bellis1000
secret()
Conditional branch
BSidesMCR 2018
@bellis1000
secret()
BSidesMCR 2018
@bellis1000
secret()
BSidesMCR 2018
@bellis1000
secret()
BSidesMCR 2018
@bellis1000
secret()
Why not
jump here?
BSidesMCR 2018
Too easy!
@bellis1000 BSidesMCR 2018
@bellis1000
Too easy!
• The point is to show a ROP example
• This is not a real-life exploit
• We’ll assume we must call secret() from its entry point
BSidesMCR 2018
@bellis1000
Exploit plan
• Gain code execution
• Set up X0/W0 with secret code
• Jump to secret()
BSidesMCR 2018
What do we know?
@bellis1000
• We can control R15/PC by overwriting pointer
• We can execute a single gadget
• We need a stack pivot!
BSidesMCR 2018
Stack Pivot Criteria
@bellis1000
• Must be a single gadget
• Must point SP to start of our heap buffer
BSidesMCR 2018
Look familiar?
@bellis1000 BSidesMCR 2018
Look familiar?
@bellis1000
Overwrites SP
with value of
X5
BSidesMCR 2018
Look familiar?
@bellis1000
main() sets up
X5 to point to
heap object
BSidesMCR 2018
@bellis1000
Checklist
• Find stack pivot
• Load X0/W0 with code
• Call secret()
BSidesMCR 2018
Two gadgets
@bellis1000 BSidesMCR 2018
Two gadgets
@bellis1000
Load X3 and X4
with controlled
values
BSidesMCR 2018
Two gadgets
@bellis1000
Return
BSidesMCR 2018
Two gadgets
@bellis1000
Move value of
X4 into X0
BSidesMCR 2018
Two gadgets
@bellis1000
Return
BSidesMCR 2018
@bellis1000
Checklist
• Find stack pivot
• Load X0/W0 with code
• Call secret()
BSidesMCR 2018
@bellis1000
Checklist
• Find stack pivot
• Load X0/W0 with code
• Call secret()
BSidesMCR 2018
Building the exploit!
@bellis1000 BSidesMCR 2018
@bellis1000
Payload structure
BSidesMCR 2018
@bellis1000
Payload structure
This data is written to
the object’s heap
chunk
BSidesMCR 2018
@bellis1000
Payload structure
char name[64];
BSidesMCR 2018
@bellis1000
Payload structure
Function pointer that
gets overwritten
BSidesMCR 2018
@bellis1000
Payload structure
Points to stack
pivot gadget
BSidesMCR 2018
@bellis1000
Payload structure
Junk bytes
loaded into X29
BSidesMCR 2018
@bellis1000
Payload structure
Points to second
gadget
BSidesMCR 2018
@bellis1000
Payload structure
Junk bytes
loaded into X3
BSidesMCR 2018
@bellis1000
Payload structure
secret() code
loaded into X4
BSidesMCR 2018
@bellis1000
Payload structure
Junk bytes
loaded into X29
BSidesMCR 2018
@bellis1000
Payload structure
Points to third
gadget
BSidesMCR 2018
@bellis1000
Payload structure
Junk bytes
loaded into X29
BSidesMCR 2018
@bellis1000
Payload structure
Points to
secret() function
BSidesMCR 2018
@bellis1000
Running the exploit
BSidesMCR 2018
@bellis1000
Running the exploit
BSidesMCR 2018
Exploit complete!
@bellis1000 BSidesMCR 2018
@bellis1000
Some useful links
• https://azeria-labs.com
• http://liveoverflow.com
• https://quequero.org/2014/04/introduction-to-arm-architecture/
• https://github.com/Billy-Ellis/Exploit-Challenges
• https://zygosec.com
BSidesMCR 2018
@bellis1000
@bellis1000 BSidesMCR 2018

More Related Content

What's hot

Linux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend ProgramingLinux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend Programing
Angel Boy
 
Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
Teymur Kheirkhabarov
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
Yu-Hsin Hung
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay Networks
Laurent Bernaille
 
Binary exploitation - AIS3
Binary exploitation - AIS3Binary exploitation - AIS3
Binary exploitation - AIS3
Angel Boy
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
Sam Bowne
 
Injection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniquesInjection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniques
enSilo
 
Tcache Exploitation
Tcache ExploitationTcache Exploitation
Tcache Exploitation
Angel Boy
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
 
Modern Kernel Pool Exploitation: Attacks and Techniques
Modern Kernel Pool Exploitation: Attacks and TechniquesModern Kernel Pool Exploitation: Attacks and Techniques
Modern Kernel Pool Exploitation: Attacks and Techniques
Michael Scovetta
 
Execution
ExecutionExecution
Execution
Angel Boy
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
Brendan Gregg
 
An introduction to Rust: the modern programming language to develop safe and ...
An introduction to Rust: the modern programming language to develop safe and ...An introduction to Rust: the modern programming language to develop safe and ...
An introduction to Rust: the modern programming language to develop safe and ...
Claudio Capobianco
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
Alexei Starovoitov
 
Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)
Angel Boy
 
Linux Binary Exploitation - Stack buffer overflow
Linux Binary Exploitation - Stack buffer overflowLinux Binary Exploitation - Stack buffer overflow
Linux Binary Exploitation - Stack buffer overflow
Angel Boy
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Jérôme Petazzoni
 
Linux BPF Superpowers
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF Superpowers
Brendan Gregg
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Community
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
RajKharvar
 

What's hot (20)

Linux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend ProgramingLinux Binary Exploitation - Return-oritend Programing
Linux Binary Exploitation - Return-oritend Programing
 
Hunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows EnvironmentHunting for Credentials Dumping in Windows Environment
Hunting for Credentials Dumping in Windows Environment
 
Android Binder IPC for Linux
Android Binder IPC for LinuxAndroid Binder IPC for Linux
Android Binder IPC for Linux
 
Deep dive in Docker Overlay Networks
Deep dive in Docker Overlay NetworksDeep dive in Docker Overlay Networks
Deep dive in Docker Overlay Networks
 
Binary exploitation - AIS3
Binary exploitation - AIS3Binary exploitation - AIS3
Binary exploitation - AIS3
 
CNIT 141: 4. Block Ciphers
CNIT 141: 4. Block CiphersCNIT 141: 4. Block Ciphers
CNIT 141: 4. Block Ciphers
 
Injection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniquesInjection on Steroids: Codeless code injection and 0-day techniques
Injection on Steroids: Codeless code injection and 0-day techniques
 
Tcache Exploitation
Tcache ExploitationTcache Exploitation
Tcache Exploitation
 
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledgeLinux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
 
Modern Kernel Pool Exploitation: Attacks and Techniques
Modern Kernel Pool Exploitation: Attacks and TechniquesModern Kernel Pool Exploitation: Attacks and Techniques
Modern Kernel Pool Exploitation: Attacks and Techniques
 
Execution
ExecutionExecution
Execution
 
BPF: Tracing and more
BPF: Tracing and moreBPF: Tracing and more
BPF: Tracing and more
 
An introduction to Rust: the modern programming language to develop safe and ...
An introduction to Rust: the modern programming language to develop safe and ...An introduction to Rust: the modern programming language to develop safe and ...
An introduction to Rust: the modern programming language to develop safe and ...
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 
Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)Windows 10 Nt Heap Exploitation (Chinese version)
Windows 10 Nt Heap Exploitation (Chinese version)
 
Linux Binary Exploitation - Stack buffer overflow
Linux Binary Exploitation - Stack buffer overflowLinux Binary Exploitation - Stack buffer overflow
Linux Binary Exploitation - Stack buffer overflow
 
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxConAnatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
Anatomy of a Container: Namespaces, cgroups & Some Filesystem Magic - LinuxCon
 
Linux BPF Superpowers
Linux BPF SuperpowersLinux BPF Superpowers
Linux BPF Superpowers
 
Ceph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking ToolCeph Tech Talk -- Ceph Benchmarking Tool
Ceph Tech Talk -- Ceph Benchmarking Tool
 
Git and github fundamentals
Git and github fundamentalsGit and github fundamentals
Git and github fundamentals
 

Similar to Introduction to Return-Oriented Exploitation on ARM64 - Billy Ellis

Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!
Marco Obinu
 
MLSEC 2020
MLSEC 2020MLSEC 2020
MLSEC 2020
Zoltan Balazs
 
Patterns of 64-bit errors in games
Patterns of 64-bit errors in gamesPatterns of 64-bit errors in games
Patterns of 64-bit errors in games
Andrey Karpov
 
SAST, CWE, SEI CERT and other smart words from the information security world
SAST, CWE, SEI CERT and other smart words from the information security worldSAST, CWE, SEI CERT and other smart words from the information security world
SAST, CWE, SEI CERT and other smart words from the information security world
Andrey Karpov
 
ARM Polyglot Shellcode - HITB2019AMS
ARM Polyglot Shellcode - HITB2019AMSARM Polyglot Shellcode - HITB2019AMS
ARM Polyglot Shellcode - HITB2019AMS
Saumil Shah
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
ESUG
 
Java on arm theory, applications, and workloads [dev5048]
Java on arm  theory, applications, and workloads [dev5048]Java on arm  theory, applications, and workloads [dev5048]
Java on arm theory, applications, and workloads [dev5048]
Aleksei Voitylov
 
Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
Larry Lawler
 
What has to be paid attention when reviewing code of the library you develop
What has to be paid attention when reviewing code of the library you developWhat has to be paid attention when reviewing code of the library you develop
What has to be paid attention when reviewing code of the library you develop
Andrey Karpov
 
Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11
ShapeBlue
 
Whats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlinesWhats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlines
ShapeBlue
 
Using next gen storage in Cloudstack
Using next gen storage in CloudstackUsing next gen storage in Cloudstack
Using next gen storage in Cloudstack
ShapeBlue
 
Devoxx France 2018 : Mes Applications en Production sur Kubernetes
Devoxx France 2018 : Mes Applications en Production sur KubernetesDevoxx France 2018 : Mes Applications en Production sur Kubernetes
Devoxx France 2018 : Mes Applications en Production sur Kubernetes
Michaël Morello
 
Sparc64 vii+ on the m4000 to m9000
Sparc64 vii+ on the m4000 to m9000Sparc64 vii+ on the m4000 to m9000
Sparc64 vii+ on the m4000 to m9000
solarisyougood
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14
CHOOSE
 
Talk: The Present and Future of Pharo
Talk: The Present and Future of PharoTalk: The Present and Future of Pharo
Talk: The Present and Future of Pharo
Marcus Denker
 
Deploying on Kubernetes - An intro
Deploying on Kubernetes - An introDeploying on Kubernetes - An intro
Deploying on Kubernetes - An intro
André Cruz
 
Building clouds with apache cloudstack apache roadshow 2018
Building clouds with apache cloudstack   apache roadshow 2018Building clouds with apache cloudstack   apache roadshow 2018
Building clouds with apache cloudstack apache roadshow 2018
ShapeBlue
 
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Marco Obinu
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
Felipe Prado
 

Similar to Introduction to Return-Oriented Exploitation on ARM64 - Billy Ellis (20)

Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!Infrastructure as Code on Azure: Show your Bicep!
Infrastructure as Code on Azure: Show your Bicep!
 
MLSEC 2020
MLSEC 2020MLSEC 2020
MLSEC 2020
 
Patterns of 64-bit errors in games
Patterns of 64-bit errors in gamesPatterns of 64-bit errors in games
Patterns of 64-bit errors in games
 
SAST, CWE, SEI CERT and other smart words from the information security world
SAST, CWE, SEI CERT and other smart words from the information security worldSAST, CWE, SEI CERT and other smart words from the information security world
SAST, CWE, SEI CERT and other smart words from the information security world
 
ARM Polyglot Shellcode - HITB2019AMS
ARM Polyglot Shellcode - HITB2019AMSARM Polyglot Shellcode - HITB2019AMS
ARM Polyglot Shellcode - HITB2019AMS
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
Java on arm theory, applications, and workloads [dev5048]
Java on arm  theory, applications, and workloads [dev5048]Java on arm  theory, applications, and workloads [dev5048]
Java on arm theory, applications, and workloads [dev5048]
 
Cics TS 5.1 user experience
Cics TS 5.1 user experienceCics TS 5.1 user experience
Cics TS 5.1 user experience
 
What has to be paid attention when reviewing code of the library you develop
What has to be paid attention when reviewing code of the library you developWhat has to be paid attention when reviewing code of the library you develop
What has to be paid attention when reviewing code of the library you develop
 
Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11Paul Angus - what's new in ACS 4.11
Paul Angus - what's new in ACS 4.11
 
Whats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlinesWhats new in Cloudstack 4.11 - behind the headlines
Whats new in Cloudstack 4.11 - behind the headlines
 
Using next gen storage in Cloudstack
Using next gen storage in CloudstackUsing next gen storage in Cloudstack
Using next gen storage in Cloudstack
 
Devoxx France 2018 : Mes Applications en Production sur Kubernetes
Devoxx France 2018 : Mes Applications en Production sur KubernetesDevoxx France 2018 : Mes Applications en Production sur Kubernetes
Devoxx France 2018 : Mes Applications en Production sur Kubernetes
 
Sparc64 vii+ on the m4000 to m9000
Sparc64 vii+ on the m4000 to m9000Sparc64 vii+ on the m4000 to m9000
Sparc64 vii+ on the m4000 to m9000
 
Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14Denker - Pharo: Present and Future - 2009-07-14
Denker - Pharo: Present and Future - 2009-07-14
 
Talk: The Present and Future of Pharo
Talk: The Present and Future of PharoTalk: The Present and Future of Pharo
Talk: The Present and Future of Pharo
 
Deploying on Kubernetes - An intro
Deploying on Kubernetes - An introDeploying on Kubernetes - An intro
Deploying on Kubernetes - An intro
 
Building clouds with apache cloudstack apache roadshow 2018
Building clouds with apache cloudstack   apache roadshow 2018Building clouds with apache cloudstack   apache roadshow 2018
Building clouds with apache cloudstack apache roadshow 2018
 
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
Infrastructure as Code on Azure - Show your Bicep! v0.2 - .NetConf 2020 by Do...
 
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
DEF CON 27 - XILING GONG PETER PI - exploiting qualcom wlan and modem over th...
 

Recently uploaded

BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
Robin Haunschild
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
OECD Directorate for Financial and Enterprise Affairs
 
Legislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptxLegislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptx
Charmi13
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
kainatfatyma9
 
Prsentation for VIVA Welike project 1semester.pptx
Prsentation for VIVA Welike project 1semester.pptxPrsentation for VIVA Welike project 1semester.pptx
Prsentation for VIVA Welike project 1semester.pptx
prafulpawar29
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
SkillCertProExams
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
Raheem Muhammad
 
Genesis chapter 3 Isaiah Scudder.pptx
Genesis    chapter 3 Isaiah Scudder.pptxGenesis    chapter 3 Isaiah Scudder.pptx
Genesis chapter 3 Isaiah Scudder.pptx
FamilyWorshipCenterD
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
IEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdfIEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdf
Claudio Gallicchio
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Ben Linders
 
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
gfysze
 
Gamify it until you make it Improving Agile Development and Operations with ...
Gamify it until you make it  Improving Agile Development and Operations with ...Gamify it until you make it  Improving Agile Development and Operations with ...
Gamify it until you make it Improving Agile Development and Operations with ...
Ben Linders
 
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPEACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
Charmi13
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
kekzed
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
RIDHIMAGARG21
 
2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates
UAE Ppt
 

Recently uploaded (19)

BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdfBRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
BRIC_2024_2024-06-06-11:30-haunschild_archival_version.pdf
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
 
Legislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptxLegislation And Regulations For Import, Manufacture,.pptx
Legislation And Regulations For Import, Manufacture,.pptx
 
Using-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptxUsing-Presentation-Software-to-the-Fullf.pptx
Using-Presentation-Software-to-the-Fullf.pptx
 
Prsentation for VIVA Welike project 1semester.pptx
Prsentation for VIVA Welike project 1semester.pptxPrsentation for VIVA Welike project 1semester.pptx
Prsentation for VIVA Welike project 1semester.pptx
 
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
ServiceNow CIS-ITSM Exam Dumps & Questions [2024]
 
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
The Intersection between Competition and Data Privacy – KEMP – June 2024 OECD...
 
Proposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP IncProposal: The Ark Project and The BEEP Inc
Proposal: The Ark Project and The BEEP Inc
 
Genesis chapter 3 Isaiah Scudder.pptx
Genesis    chapter 3 Isaiah Scudder.pptxGenesis    chapter 3 Isaiah Scudder.pptx
Genesis chapter 3 Isaiah Scudder.pptx
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
 
IEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdfIEEE CIS Webinar Sustainable futures.pdf
IEEE CIS Webinar Sustainable futures.pdf
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
 
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
一比一原版(unc毕业证书)美国北卡罗来纳大学教堂山分校毕业证如何办理
 
Gamify it until you make it Improving Agile Development and Operations with ...
Gamify it until you make it  Improving Agile Development and Operations with ...Gamify it until you make it  Improving Agile Development and Operations with ...
Gamify it until you make it Improving Agile Development and Operations with ...
 
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPEACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
ACTIVE IMPLANTABLE MEDICAL DEVICE IN EUROPE
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
 
2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates2 December UAE National Day - United Arab Emirates
2 December UAE National Day - United Arab Emirates
 

Introduction to Return-Oriented Exploitation on ARM64 - Billy Ellis