Preventing (Network) Time Travel with Chronos
Omer Deutsch, Neta Rozen Schiff, Danny Dolev, Michael Schapira
Preventing (Network) Time Travel with Chronos Omer Deutsch, Neta - - PowerPoint PPT Presentation
Preventing (Network) Time Travel with Chronos Omer Deutsch, Neta Rozen Schiff , Danny Dolev, Michael Schapira Network Time Protocol (N (NTP) NTP synchronizes time across computer systems over the Internet. Many applications rely on NTP
Omer Deutsch, Neta Rozen Schiff, Danny Dolev, Michael Schapira
The NTP client gathers time samples from NTP servers
NTP queries Poll process: ? ? ?
NTP server NTP server NTP server
client
NTP server NTP server NTP server
client …….
The NTP client gathers time samples from NTP servers NTP responses: Poll process:
NTP server NTP server NTP server
client …….
The NTP client gathers time samples from NTP servers
The “best” time samples are selected and are used to update the local clock NTP responses: Selection process: Poll process:
NTP server NTP server NTP server
client …….
The NTP client gathers time samples from NTP servers
The “best” time samples are selected and are used to update the local clock NTP responses: Selection process: Poll process:
NTP server NTP server NTP server
client
NTP server NTP server NTP server
MitM client …….
NTP server NTP server NTP server
MitM client …….
to/from servers (encryption and authentication are insufficient)
NTP server NTP server NTP server
MitM client …….
and this set is often DNS-cached (implementation property).
and this set is often DNS-cached (implementation property). Attacker only needs MitM capabilities with respect to few NTP servers
and this set is often DNS-cached (implementation property).
well-distributed around the UTC (the correct time) Attacker only needs MitM capabilities with respect to few NTP servers
and this set is often DNS-cached (implementation property).
well-distributed around the UTC (the correct time) Attacker only needs MitM capabilities with respect to few NTP servers Powerful and sophisticated MitM attackers are beyond the scope of traditional threat models
Chronos’ design combines several ingredients:
Chronos’ design combines several ingredients:
Chronos’ design combines several ingredients:
……………. ……………. …………….
100s of servers
at random
……………. ……………. …………….
100s of servers
at random
low to high
……………. ……………. …………….
100s of servers
at random
low to high
highest time samples
? ? ?
Check: If (the remaining samples are close)
?
Check: If (the remaining samples are close) and (average time close to local time)
Check: If (the remaining samples are close) and (average time close to local time)
time
Check: If (the remaining samples are close) and (average time close to local time)
time
……………. ……………. …………….
100s of servers Check: If (the remaining samples are close) and (average time close to local time)
time
……………. ……………. …………….
100s of servers
Check: If (the remaining samples are close) and (average time close to local time)
time
……………. ……………. …………….
100s of servers
Check: If (the remaining samples are close) and (average time close to local time)
time
……………. ……………. …………….
100s of servers if check & resample failed k times: \\ panic mode
……………. ……………. …………….
100s of servers
if check & resample failed k times: \\ panic mode
……………. ……………. …………….
100s of servers
if check & resample failed k times: \\ panic mode
……………. ……………. …………….
100s of servers
if check & resample failed k times: \\ panic mode
client time
if check & resample failed k times: \\ panic mode
client time
if check & resample failed k times: \\ panic mode
client time
attacker
servers in Europe and the US
log scale
# servers queried per update
Scenario 1: #( ) ≤ d #( ) ≥ m-d
Scenario 1: #( ) ≤ d #( ) ≥ m-d
All malicious samples are lower than all good samples (Or, all malicious samples are higher than all good samples)
Scenario 1: #( ) ≤ d #( ) ≥ m-d
All malicious samples are lower than all good samples (Or, all malicious samples are higher than all good samples)
clock (otherwise the server pool is re-sampled)
Scenario 1: #( ) ≤ d #( ) ≥ m-d
All malicious samples are lower than all good samples (Or, all malicious samples are higher than all good samples)
clock (otherwise the server pool is re-sampled)
The probability of repeated shift is negligible.
Scenario 1: #( ) ≤ d #( ) ≥ m-d
All malicious samples are lower than all good samples (Or, all malicious samples are higher than all good samples)
clock (otherwise the server pool is re-sampled)
The probability of repeated shift is negligible.
Scenario 2: #( ) > d #( ) < m-d
Scenario 2: #( ) > d #( ) < m-d
All remaining samples are between two good samples All remaining samples are at most ω-away from UTC
Scenario 2: #( ) > d #( ) < m-d
All remaining samples are between two good samples All remaining samples are at most ω-away from UTC
Remaining malicious samples are at most 3ω-away from UTC
Scenario 2: #( ) > d #( ) < m-d
All remaining samples are between two good samples All remaining samples are at most ω-away from UTC
Remaining malicious samples are at most 3ω-away from UTC
See full paper (@NDSS’18): http://wp.internetsociety.org/ndss/wp-content/uploads/sites/25/2018/02/ndss2018_02A-2_Deutsch_paper.pdf