[New Issue] CID based attacks
Kashyap Thimmaraju <k.thimmaraju@informatik.hu-berlin.de> Thu, 12 November 2020 16:34 UTC
Return-Path: <k.thimmaraju@informatik.hu-berlin.de>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B6593A13F3 for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 08:34:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.988
X-Spam-Level:
X-Spam-Status: No, score=-1.988 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=informatik.hu-berlin.de
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 7_4G29RWQg0A for <quic@ietfa.amsl.com>; Thu, 12 Nov 2020 08:34:09 -0800 (PST)
Received: from mailout1.informatik.hu-berlin.de (mailout1.informatik.hu-berlin.de [141.20.20.101]) (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 86A3B3A1216 for <quic@ietf.org>; Thu, 12 Nov 2020 08:34:08 -0800 (PST)
Received: from mailbox.informatik.hu-berlin.de (mailbox [141.20.20.63]) by mail.informatik.hu-berlin.de (8.15.1/8.15.1/INF-2.0-MA-SOLARIS-2.10-25) with ESMTPS id 0ACGY5k5021496 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <quic@ietf.org>; Thu, 12 Nov 2020 17:34:06 +0100 (MET)
Received: from hashkash-imac.local (dslb-178-012-027-180.178.012.pools.vodafone-ip.de [178.12.27.180]) (authenticated bits=0) by mailbox.informatik.hu-berlin.de (8.15.1/8.15.1/INF-2.0-MA-SOLARIS-2.10-AUTH-26-465-587) with ESMTPSA id 0ACGY4pP021490 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Thu, 12 Nov 2020 17:34:04 +0100 (MET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=informatik.hu-berlin.de; s=mailbox; t=1605198845; bh=65o8tSAam6YKY9S7hY0yMcfuRV6pP8L+MY/dPH5/ZyI=; h=To:From:Subject:Cc:Date; b=D24t8jzen2Rs/i7oYalXW0ugruNQx5e1guNcpma9V6+CHiTw4TY4VADTRwCCWYxCu FXYpQLHPrb6jvFVdAM4zSJn8PCrCClRxOLMzKXMHqT8eaX57laGf6C/x1PKwcvufbJ /VI3DCkNjfi5/qFssmdOT9RwyNI/Wncu/qBvnPLI=
To: quic@ietf.org
From: Kashyap Thimmaraju <k.thimmaraju@informatik.hu-berlin.de>
Subject: [New Issue] CID based attacks
Cc: Björn Scheuermann <scheuermann@informatik.hu-berlin.de>
Message-ID: <e078a391-b8e7-3035-ad3f-848c5effcb2f@informatik.hu-berlin.de>
Date: Thu, 12 Nov 2020 17:34:03 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.4.3
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------4007C3168DED685A03FEC6F6"
Content-Language: en-US
X-Virus-Scanned: clamav-milter 0.102.3 at mailbox
X-Virus-Status: Clean
X-Greylist: Sender succeeded STARTTLS authentication, not delayed by milter-greylist-4.6.1 (mail.informatik.hu-berlin.de [141.20.20.50]); Thu, 12 Nov 2020 17:34:06 +0100 (MET)
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/CgQT8POFiazTS_ycPybkAIYUQ-Y>
X-Mailman-Approved-At: Thu, 12 Nov 2020 09:00:40 -0800
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Nov 2020 16:44:01 -0000
**
*Dear QUIC WG,*
*
I’m Kashyap Thimmaraju, a postdoctoral researcher at Humboldt University
Berlin. Recently I discovered a couple of attacks with the QUIC
protocol. Lars Eggert recommended that I share my findings with the WG
to discuss the impact and relevance of these findings.
Broadly speaking, the attacks deal with the Connection ID (CID), which
I’ve elaborated on below.
ANALYSIS
The draft specifies and recommends several important points on secure
usage of the CID, e.g., i) the same CID MUST NOT be used multiple times
over the same connection to prevent an eavesdropper from correlating the
end-points; ii) end-points should associate a sequence number with each
CID to detect reuse within the same connection; iii) CIDs should be
(pseudo) randomly generated as they are also used for packet security
and; iv) CIDs can be very long (max. 20 bytes).
The draft, however, does not specify how servers should handle the case
when successive incoming connections to a server use the same
destination CID. Indeed, it can be seen that based on the assumption
that the CIDs are (pseudo) randomly generated with a maximum length of
20 bytes, the probability of such a collision is very low.
Hence, I posit the following: If the server (implementation) does not
permit the use of the same destination CID across successive connections
(for a specific timeout), then an attacker can exploit this behaviour in
at least 2 ways:
1.
She can enumerate the number of server instancesbehind the domain
name/public IP address: if the handshake does not complete on the
second/successive attempt, then she infers that she has reached the
same instance; if the handshake succeeds then it is a new instance.
2.
Create a covert channel: we can assume that a sender and receiver
agree upon a set of CIDs to use at specific times. For each time
interval, the sender and receiver use the same destination CID. The
sender sends a 1 by connecting to the server and a 0 by not
connecting. The receiver always attempts to connect to the server.
If the receiver could not complete the handshake, it’s a 1, if the
handshake completes it’s a 0. Using this scheme a binary string can
be covertly communicated in one direction.
EVALUATION
The primary goal of my evaluation is to identify implementations, if
any, that prevent two subsequent QUIC connections from using the same
destination CID. To conduct this experiment I adopted the following
methodology. First, I created a client that uses deterministic CIDs for
the source and destination CIDs (I modified LiteSpeed Technologies
open-source QUIC client). Second, I used 15 implementations from those
listed on the QUIC Working Group’s GitHub page1: either manually built
Docker containers or the public test server. The list of servers tested
are shown across the two rows in Table 1. To conduct the experiment, I
had the client open and hold a QUIC connection with source CID 1 and
destination CID 2 for a maximum of 10s with the server, and then close
it. We then idle for 10s and repeat the steps a second time. I saved the
debug logs of the client, packet traces and session keys. I then
repeated the process for each of the 15 implementations. Finally, to
obtain the results of the test, I searched the debug log of the client
or the packet trace to confirm whether the second QUIC connection
obtained a successful handshake or not. The absence of a successful
handshake indicates a vulnerable implementation.
RESULTS
The results from my evaluation are shown in the table below. In
particular, I found 4 out of 15 implementations to be vulnerable to the
enumeration and covert channel attacks, namely, Apache Traffic Server
(ATS), Chromium, LiteSpeed and NGTCP2. In an evaluation of the
throughput using Lsquic clients and server on my desktop I measured a
throughput of ~30 bps.
VULNERABLE : IMPLEMENTATION
NO : Akamai, F5, Quinn, Aioquic, Quiche, Proxygen, Neqo, Nginx,
Picoquic, Quant, Quicly
YES : ATS, Chromium, Lsquic, Ngctcp2
*
Sincerely,
--
Dr.-Ing Kashyap Thimmaraju
Lehrstuhl für Technische Informatik
Institut für Informatik
Humboldt-Universität zu Berlin
Besucheranschrift:
Rudower Chaussee 25, 12489 Berlin
Haus 4, 3. OG
k.thimmaraju@informatik.hu-berlin.de
http://www.ti.informatik.hu-berlin.de
- [New Issue] CID based attacks Kashyap Thimmaraju
- Re: [New Issue] CID based attacks Dmitri Tikhonov
- Re: [New Issue] CID based attacks Martin Thomson
- Re: [New Issue] CID based attacks Christian Huitema
- Re: [New Issue] CID based attacks Kazuho Oku
- Re: [New Issue] CID based attacks Martin Thomson
- Re: [New Issue] CID based attacks Jana Iyengar
- Re: [New Issue] CID based attacks Lucas Pardue
- Re: [New Issue] CID based attacks Dmitri Tikhonov
- Re: [New Issue] CID based attacks Kashyap Thimmaraju
- Re: [New Issue] CID based attacks Dmitri Tikhonov