[Ntp] Antw: [EXT] Public NTP servers already responds to NTPv5

Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de> Mon, 30 November 2020 07:23 UTC

Return-Path: <Ulrich.Windl@rz.uni-regensburg.de>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E5A6F3A10C1 for <ntp@ietfa.amsl.com>; Sun, 29 Nov 2020 23:23:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m8ik0RpDc4T3 for <ntp@ietfa.amsl.com>; Sun, 29 Nov 2020 23:23:23 -0800 (PST)
Received: from mx4.uni-regensburg.de (mx4.uni-regensburg.de [194.94.157.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 97FBA3A10BE for <ntp@ietf.org>; Sun, 29 Nov 2020 23:23:22 -0800 (PST)
Received: from mx4.uni-regensburg.de (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 23727600004F for <ntp@ietf.org>; Mon, 30 Nov 2020 08:23:20 +0100 (CET)
Received: from gwsmtp.uni-regensburg.de (gwsmtp1.uni-regensburg.de [132.199.5.51]) by mx4.uni-regensburg.de (Postfix) with ESMTP id 07AAA600004E for <ntp@ietf.org>; Mon, 30 Nov 2020 08:23:17 +0100 (CET)
Received: from uni-regensburg-smtp1-MTA by gwsmtp.uni-regensburg.de with Novell_GroupWise; Mon, 30 Nov 2020 08:23:17 +0100
Message-Id: <5FC49DE3020000A10003D248@gwsmtp.uni-regensburg.de>
X-Mailer: Novell GroupWise Internet Agent 18.3.0
Date: Mon, 30 Nov 2020 08:23:15 +0100
From: Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>
To: g16g16g16@gmail.com, "ntp@ietf.org" <ntp@ietf.org>, mlichvar@redhat.com
References: <CAFZ=0SzC1cKbMf=9tNDdxYfde9UnD4CcLYZ2EGwvcKMEtp1i1w@mail.gmail.com>
In-Reply-To: <CAFZ=0SzC1cKbMf=9tNDdxYfde9UnD4CcLYZ2EGwvcKMEtp1i1w@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/T4d6XhlaC3paKoo8hfGPXNtZH2E>
Subject: [Ntp] Antw: [EXT] Public NTP servers already responds to NTPv5
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Nov 2020 07:23:26 -0000

>>> g16 <g16g16g16@gmail.com> schrieb am 29.11.2020 um 16:49 in Nachricht
<CAFZ=0SzC1cKbMf=9tNDdxYfde9UnD4CcLYZ2EGwvcKMEtp1i1w@mail.gmail.com>:
> Hi, NTP WG and Miroslav !
> 
> I'm yuki.
> 
> I am interested in NTPv5 and ossification.
> 
> So I surveyed how the currently public NTP servers respond to NTPv5 packets.
> 
> As a result, as you may know, some NTP servers respond to NTPv5 packets.
> Surprisingly, the version field of some responses were 5.
> 
> ## Survey method
> I sent two packets to about 70 public NTP servers
> 
> - NTPv4 format packet that version field is 5
> - NTPv5 format packet (defined in draft-mlichvar-ntp-ntpv5-00)
> 
> the tool is here: https://github.com/flano-yuki/mock-ntpv5-client 
> 
> ## Result
>> NTPv4 format packet that version field is 5
> - 25% response: timeout
> - 65% response: NTPv4 format packet that version field is 5
> - 10% response: NTPv4 or NTPv3

In my view 65% of those servers are broken.

> 
>> NTPv5 format packet (draft-mlichvar-ntp-ntpv5-00)
> - 10% response: NTPv4 format packet that version field is  5
> - 90% response: timeout

Another 10% are broken IMHO.

At least this means that clients cannot trust a packet being tagged as v5 actually being a v5 packet.
Probably there should be a mechanism to de-associate such servers, specifically when they had been selected automatically before.
A notice-type (maybe even warning or error) of syslog message seem justified as well IMHO.

> 
> The result depends on the date of Transmit Timestamp and the existence of
> Extension Field.
> 
> full result list:
> https://gist.github.com/flano-yuki/5a587ab0197b23fe647d148a087b82ef 
> 
> ## Is this a problem?
> I'm not sure. It may confuse implementations that support nptv5.
> 
> I know some WG suffered from anomalous behavior in tcp-fast-open and TLS
> 1.3 deployments.
> - https://mailarchive.ietf.org/arch/msg/tls/i9blmvG2BEPf1s1OJkenHknRw9c/ 
> - https://archive.nanog.org/sites/default/files/Paasch_Network_Support.pdf 
> 
> but, it may be not matter with following reason in NTP WG
> - This response is not a problem for the client, because it can be filtered
> - It will be fixed as NTPv5 develops/deploys
> 
> ##  Who should solve the problem?
> Yes, this is an implementation issue.  RFC5905 (9.2) saids
> "Format checks require correct field length and alignment, acceptable
> version number (1-4), and correct extension field syntax, if present."

Should a NTPv5 server really respond to v1 and v2 queries? It was OK for v3, and probably the phrase was copied for v4 with a minor modification.

> 
> Even if it is fixed, I think it will take some time for all public ntp
> servers to be replaced. Meanwhile, we may be able to mitigate this problem
> with the v5 design that does not cause incorrect response.

A client can never prevent a server from sending an invalid response IMHO.

Regards,
Ulrich

> 
> I welcome any comments.
> 
> Thank you for reading the entire email.
> 
> Best regards