Attacking NTP's Authenticated Broadcast Mode
Total Page:16
File Type:pdf, Size:1020Kb
Attacking NTP’s Authenticated Broadcast Mode Aanchal Malhotra Sharon Goldberg Boston University Boston University [email protected] [email protected] ABSTRACT We present an on-path replay attack on authenticated We identify two attacks on the Network Time Protocol (NTP)'s broadcast mode (CVE-2015-7973) that causes the NTP client cryptographically-authenticated broadcast mode. First, we to get stuck at a particular time (Section 3), and an off-path present a replay attack that allows an on-path attacker to denial-of-service attack on authenticated broadcast mode indefinitely stick a broadcast client to a specific time. Sec- (CVE-2015-7979) that also applies to all of NTP's \preempt- ond, we present a denial-of-service (DoS) attack that al- able" and \ephemeral" modes of operation (Section 4). Both lows an off-path attacker to prevent a broadcast client from of these attacks exploit issues in the NTP protocol specifica- ever updating its system clock; to do this, the attacker tion in RFC5905 [11], and have been experimentally verified sends the client a single malformed broadcast packet per on ntpd v4.2.8p3. We conclude by discussing the inherent query interval. Our DoS attack also applies to all other challenges of cryptographically authenticating NTP's broad- NTP modes that are `ephemeral' or `preemptable' (includ- cast mode, and provide several recommendations for the way ing manycast, pool, etc). We then use network measure- forward (Section 6). ments to give evidence that NTP's broadcast and other Disclosure. These results were disclosed on October 7, ephemeral/preemptable modes are being used in the wild. 2015 and made public on January 19, 2016. CVE-2015-7973 We conclude by discussing why NTP's current implemen- and CVE-2015-7979 have been assigned, and patches have tation of symmetric-key cryptographic authentication does been added to ntpd v4.2.8p6. not provide security in broadcast mode, and make some rec- ommendations to improve the current state of affairs. 2. NTP’S BROADCAST MODE NTP clients and servers are not configured to operate in 1. INTRODUCTION broadcast mode by default. However, there is a configura- The Network Time Protocol (NTP) [11], one of the Inter- tion option that enables broadcast mode. net's oldest protocols, is used to set time on Internet clocks. Broadcast servers. An NTP broadcast server can be pre- Time places a crucial and often-ignored role in the security configured to periodically send `persistent' broadcast-association and correctness of computing applications, and especially in server packets (NTP mode 5 packets) to the clients on the cryptographic protocols. As we discussed in [9], an attacker broadcast network. By persistent, we mean the server mobi- that manipulates time using NTP can seriously undermine lizes the broadcast association upon initialization, and never the security of key Internet protocols and applications, in- demobilizes the association [11]. cluding TLS certificates [7,12,15], DNSSEC, routing security with the RPKI, authentication with Kerberos, caching, and Broadcast clients. An NTP client can be preconfigured bitcoin [3]. NTP operates in several modes including (1) to accept NTP mode 5 packets.1(Figure 1 presents a sample client/server, (2) symmetric active/passive, and (3) broad- broadcast packet.) When a broadcast client receives its first cast/multicast. Our earlier work [9] considered attacks on NTP mode 5 packet, the client must first calculate the prop- NTP's client/server mode. In this companion paper, we agation delay by exchanging a volley of client/server mode consider the security of NTP's broadcast mode, which is in- packets with the broadcast server|where the client sends tended for an environment with a few servers and potentially the server an NTP mode 3 query and the server responds a large client population. with an NTP mode 4 response.2 After this, the client reverts We use network measurements to give evidence that NTP's 1 broadcast mode is used in the wild by thousands of NTP The configuration option broadcastclient or multicastclient [address] allows an ntpd client to receive and process mode clients (Section 5). We show that while symmetric-key cryp- 5 broadcast packets. tographic authentication of NTP broadcast traffic is recom- 2The server and client also run the Autokey security proto- mended by the NTP specification [11] and required by the col, if they are configured to do so. Autokey [6] is public- open-source NTP reference implementation ntpd, it does not key authentication method for NTP, but NTP clients do provide sufficient protection against attacks on broadcast not request Autokey associations by default [1], and many mode. We consider both (1) on-path attacks, where the at- public NTP servers do not support Autokey (e.g., servers in pool.ntp.org). In fact, a lead developer of the ntpd client tacker occupies a privileged position on the path between wrote in 2015 [17]: \Nobody should be using autokey. Or NTP client and one of its servers, and (2) off-path attacks, from the other direction, if you are using autokey you should where the attacker can be anywhere on the network and does stop using it." We therefore do not consider Autokey any not observe the traffic between client and any of its servers. further here. ACM SIGCOMM Computer Communication Review 13 Volume 46, Number 2, April 2016 to broadcast client mode, and creates an ephemeral associa- v4 IHL TOS Total length tion with the server upon receipt of further mode 5 broadcast IPID x DF MF Frag Offset packets. An ephemeral association is mobilized upon arrival TTL Protocol = 17 IP Header Checksum IP header of a packet and exists until error or timeout [11]. Source IP Authenticating an association. How does an NTP Destination IP client validate incoming packets before establishing an asso- Source Port = 123 Destination Port = 123 ciation with a server? Most NTP traffic (especially client/server- UDP header Length UDP Checksum mode traffic) is not cryptographically authenticated.3 How- LI v Mode 5 Stratum Poll Precision ever, even in the absence of cryptographic authentication, NTP clients running in client/server mode or symmetric Root Delay active/passive mode use a nonce to validate a server's re- Root Dispersion Reference ID sponse. The nonce is a field in the NTP packet, called the NTP data origin timestamp; see Figure 1. Upon receipt of an NTP re- Reference Timestamp sponse packet, the client checks if the 64-bit transmit times- tamp field in the most recent query packet it sent the server, Origin Timestamp = NULL matches the 64-bit origin timestamp field in the incoming Receive Timestamp = NULL response packet. This is called TEST2 in the NTP specifi- cations. This non-cryptographic authentication is based on Transmit Timestamp = Dec 1, 2015, 1:44:55 PM UTC the premise that the nonce has enough entropy such that Key ID = 00000001 NTP MAC an off-path attacker, who can not see the NTP packets in Message Digest = 324a4b23130fff3eab4581931ee6fa5d4 transit, cannot guess the nonce. Indeed, as we argued in [9], we can safely assume that this nonce has about 32 bits of Figure 1: Mode 5 NTP Broadcast Packet. entropy, and so it is difficult to forge from off path. Authenticating broadcast. In contrast to the client/server In this paper, however, we present two attacks that show mode, where the client actively sends a query to the server that NTP's symmetric key cryptography does not provide to get the response, the broadcast client operates in listen- sufficient protection for broadcast mode. only mode. Because the client does not send the server any queries for broadcast packets, the origin timestamp field in 3. TIMESHIFTING ATTACKS the broadcast server packet is always set to null. So now Should broadcast be robust to replay attacks? Ac- TEST2 that defends NTP's client-server mode from off-path cording to RFC 5905 [11], NTP's \on-wire protocol ... resists attacks does not apply. Moreover, the most recent NTP ref- replay of a server response packet." This is supposed to be erence implementation (ntpd v4.2.8p6) does NOT use UDP accomplished through what is called TEST1 in the protocol source port randomization [8], and so an off-path attacker specification: Upon receipt of an NTP response packet, the can easily forge an unauthenticated mode 5 packet. NTP client matches the transmit timestamp in the current Also, an NTP client preconfigured to run in broadcast packet to that of the last response packet it received; if the client mode will accept packets from ANY server that sends timestamp matches, it marks the packet as duplicate and it broadcast packets; it is NOT configured to listen only drops it. However, we now show that because broadcast to one particular broadcast server. So any off-path attacker mode does not impose TEST2, then TEST1 cannot provide can easily send broadcast messages and the client will accept sufficient protection against replay attacks, even when NTP them. RFC5905 [11, pg 57] says: packets are cryptographically authenticated. Filtering can be employed to limit the access of Deja Vu: Our on-path time-sticking attack (CVE- NTP clients to known or trusted NTP broadcast 2015-7973). Consider a man-in-the-middle (MiTM) at- servers. Such filtering will prevent malicious traf- tack, where the attacker is positioned between the server and fic from reaching the NTP clients. the victim client, and can intercept and replay a packet and To fill this gap and the lack of nonce check, RFC 5905 [11] prevent onward transmission of the original packet, but does strongly suggests the use of cryptography to authenticate not possess the symmetric key that authenticates broadcast broadcast packets.