Fingerprinting hardware devices Fingerprinting hardware devices using clock-skewing using clock-skewing
Renaud Lifchitz
renaud.lifchitz@gmail.com
#HES2010 8,9,10 April 2010 – Paris, France
Fingerprinting hardware devices Fingerprinting hardware devices - - PowerPoint PPT Presentation
Fingerprinting hardware devices Fingerprinting hardware devices using clock-skewing using clock-skewing Renaud Lifchitz renaud.lifchitz@gmail.com #HES2010 8,9,10 April 2010 Paris, France Presenter's bio French computer security
renaud.lifchitz@gmail.com
#HES2010 8,9,10 April 2010 – Paris, France
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 2
– Penetration testing & security audits – Security trainings
(EC-Council CEH, ECSA/LPT, CHFI, CEI certified)
– Security research
– Security of protocols (authentication, cryptography,
information leakage, zero-knowledge proofs...)
– Number theory (integer factorization, primality
tests, elliptic curves)
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 4
– Software implementation of clock – Material imperfections
(e.g. quartz fabrication)
– Differences in wire lengths – Differences in input capacitance – Intermediate components – ...
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 5
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 6
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 8
– An hardware clock called “RTC” (Real
time clock), made of quartz, battery powered
– A software clock (“system clock”)
handled by the OS kernel with a counter and interrupts (ticks)
– Kernel synchronizes its software clock
with RTC at boot time
– RTC is almost never read after
(even synchronizations are rare)
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 9
Using a better clock!
– Atomic clocks – GPS clocks (basically the same!) – Radio clocks (e.g. DCF77, TDF...)
1 s./3000 years
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 10
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 11
systems
clock match exact time
– 10 ms over Internet – 200 µs in LAN
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 12
levels of clock sources:
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 13
U.S. Naval Observatory in Colorado (Stratum 0 source)
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 14
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 15
ICMP layer of an ICMP Timestamp Reply
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 16
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 17
TCP layer of a “timestamp-enabled” TCP packet
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 18
– is stable on a given computer
– varies up to +/- 50 ppm
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 19
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 20
0.0 0.1 0.2 0.3 0.4 −2σ −1σ 1σ −3σ 3σ µ 2σ 34.1% 34.1% 13.6% 2.1% 13.6% 0.1% 0.1% 2.1%
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 21
can easily define a distance measure between any 2 points
algorithm:
– Hierarchical algorithms – Partitional algorithms (e.g. k-means) – Density-based algorithms
different computers on Internet
techniques for better efficiency (OS TCP/IP fingerprinting, IP IDs, banners...)
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 22
– Temperature:
– Altitude – High computer activity:
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 24
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 25
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 26
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 28
– TCP timestamps – ICMP or ICMP timestamp requests/replies – Any service delivering time (or just the time
fonctionality, not the service!): e.g. Apache “Date” HTTP header
– Your temperature – Your altitude – Your computer activity – Your processor & motherboard!
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 30
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 31
– Computers on a wired network
– Some NTP servers for suitable time
– Python & Scapy installed
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 32
Hackito Ergo Sum 2010 – 8,9,10 April 2010 “Fingerprinting hardware devices using clock-skewing” Renaud Lifchitz 34