TEACHERS
GALLERY
PRICING
SIGN IN
TRY ZURU
GET STARTED
Loop
Audio
Interval:
5s
10s
15s
20s
60s
Play
1 of 15
Slide Notes
Download
Go Live
Timeless Debugging
Share
Copy
Download
0
282
Published on Jul 09, 2016
No Description
View Outline
MORE DECKS TO EXPLORE
PRESENTATION OUTLINE
1.
Timeless Debuggers
..debugging is easy
2.
# whoami
Aleksandr Sinyaev
student of Saint-Petersburg State University of Aerospace Instrumentation
sometimes I play CTF
3.
Anatomy of a bug
The process of debugging is the process of reasoning backwards through the cause and effect chain from the bug's symptom to its origin.
4.
What the pentester knows
5.
What the pentester wants to know
6.
Traditional debugging
7.
Nondeterminism
signals sent to the program by the operating system: SIGINT, SIGSEGV, ...
interactions with the file system: read(fd, buf, size), …
system calls like getrandom(buf, size, flags)
timing: rdtsc, ...
device-specific input/output operations
8.
Timeless debugging
all debugging is "reverse debugging"
9.
Timeless debugging
record nondeterministic failure once, debug deterministically forever
go backwards in time
debuggers: QIRA, rr, RevPDB, REVEN-Axion
10.
rr
Mozilla's project, initial focus on Firefox
lightweight recording: rr records only the nondeterministic parts
usage: rr record prog --args →saves recording rr replay →replay of most recent recording
x86 CPU and UNIX only :(
no GUI(gdb)
11.
QEMU Interactive Runtime Analyser(QIRA)
geohot's project, competitor to strace and gdb
nice GUI
x86, powerpc, arm, mips IDA Integration
high runtime overload => not for realworld
12.
rr vs QIRA
13.
rr vs QIRA
14.
DEMO
15.
END
Aleksandr Sinyaev
Haiku Deck Pro User
×
Error!