A Security Analysis of the Network Time Protocol (NTP)
Download
Report
Transcript A Security Analysis of the Network Time Protocol (NTP)
A Security Analysis of the
Network Time Protocol (NTP)
Presentation by Tianen Liu
Overview
NTP version 2
Five types of attacks against NTP
Suggested Improvements
Requirements of NTP
Deliver accurate time over wide-area network
Synchronize time and frequency
Work with a variety of computers
Overcome problem with transmission delay
Loss of a single transmission path does not
prevent other portions from obtaining correct
time
Multi Tiered System
Each layer is a stratum
Stratum 1: Primary servers connected to
atomic or radio clocks
Stratum >1: Secondary servers synchronize
with primary servers or other secondary
servers at lower stratum numbers
Hosts on subnet receive time propagated by
secondary servers.
NTP Hierarchy
Operating Modes
Client/Server mode
Client polls (secondary) server for time
Symmetric active mode
Periodically broadcasts time messages to
synchronize other servers
Symmetric passive mode
Receives time messages from peers at
equal or lower stratum number than host.
NTP Message Transmit
Timer associated with each peer is
decremented periodically. When 0,
NTP packet is sent.
Source and destination addresses and
ports copied to IP packet variables.
Store NTP version, mode, stratum,
distance to primary source, timestamp
info, etc in packet, and transmit it.
NTP Message Receive
Checks if packet is reasonable
Resets internal variables based on
message received
Adjusts local clock
Possibly select new peer to be used as
clock source
Sanity Checks
Selection of Source Peer
Algorithm
Goal: determine which peer should be
allowed to synchronize current host’s
clock
NTP assumes that there is correct time
value and that by using multiple
sources, inaccurate values can be
discarded.
Delay Calculated for each
NTP message
Values computed from last 8 messages
constitute a sample
Lowest delay and stratum number favored
when selecting a source
Round trip delay: (ti – ti-3) – (ti-1 – ti-2 )
Access Control Mechanism
All hosts divided into 3 categories:
trusted, friendly, others
Trusted hosts allowed to synchronize
local clock
Friendly hosts are sent timestamps but
may not synchronize local clock
Messages from others category ignored
Access Control Mechanism(2)
Relies on source address to determine
category of host
Attacker can choose source address
that allows synchronization of the victim
Authentication Mechanism
Uses symmetric key encryption between two
parties (host and peer)
Algorithm and key distributed by means other
than NTP
Most of the packet is checksummed using
key
Upon receipt, checksum recomputed and
compared to transmitted checksum
Keys are per-host based. Compromise of
one host’s key can compromise all hosts it
synchronizes with.
Five Possible Attacks on NTP
A non-time server impersonates a time server
(masquerade)
An attacker modifies messages sent by time
server (modification)
An attacker resends a timer server’s
message (replay)
An attacker intercepts a time server’s
message and deletes it (denial of service)
An attacker delays time messages (delay)
Masquerade
Attack: Send packets to the victim with
the source address of the time server to
be imitated
Countermeasure: Authentication
method
Message Modification
Alter packets sent to the victim.
Examples of fields to alter:
Pkt.version – changed to earlier version will result
in the packet being discarded
Pkt.mode – modes of host and peer become
incompatible, packet is discarded
Pkt.stratum – altered value less than the true
value may cause peer to be chosen as a clock
source
Pkt.dispersion – altered value affects estimated
round trip delay from the primary source, may
cause peer to be chosen as clock source
Countermeasure: Use authentication
Replay
Attack: Record messages sent at one time
and resend them later
Countermeasures:
Reject any packet with timestamp no newer than
the last one received
But when clock runs fast, it must be set back.
Require a special packet to be sent when clock is
to be moved back. Provide a nonce to ensure
packet cannot be replayed.
Delay
Attack: Artificially increase roundtrip
delay to the peer
Countermeasure: Redundancy of clock
sources
Denial of Service
Attack: Prevent packets from clock
sources from reaching host
Countermeasure: Redundancy of clock
sources
Suggested Improvements
Authentication should be used with keys
issued on a per-path, not per-host basis.
Access control should be based on routes
recorded, not simply on IP address.
Servers should have several other source
servers to limit effectiveness of delay and
denial of service attacks.