Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3488660.3493803acmconferencesArticle/Chapter ViewAbstractPublication PagesconextConference Proceedingsconference-collections
research-article

Verifying QUIC implementations using Ivy

Published: 07 December 2021 Publication History

Abstract

QUIC is a new transport protocol combining the reliability and congestion control features of TCP with the security features of TLS. One of the main challenges with QUIC is to guarantee that any of its implementation follows the IETF specification. This challenge is particularly appealing as the specification is written in textual language, and hence may contain ambiguities. In a recent work, McMillan and Zuck proposed a formal representation of part of draft-18 of the IETF specification. They also showed that this representation made it possible to efficiently generate tests to stress four implementations of QUIC. Our first contribution is to complete and extend the formal representation from draft-18 to draft-29. Our second contribution is to test seven implementations of both QUIC client and server. Our last contribution is to show that our tool can highlight ambiguities in the QUIC specification, for which we suggest paths to corrections.

References

[1]
Jean-Christophe Begue & al. Benjamin Saunders, Dirkjan Ochtman. 2018. quinn. https://github.com/quinn-rs/quinn/tree/0.7.0
[2]
Bastian Köcher & al. Christian Huitema, steschu77. 2017. picoquic. https://github.com/private-octopus/picoquic/tree/ad23e6c3593bd987dcd8d74fc9f528f2676fedf4
[3]
Cloudflare. 2018. quiche. https://github.com/cloudflare/quiche
[4]
Christophe Crochet and Jean-François Sambon. 2021. Towards verification of QUIC and its extensions. (2021). http://hdl.handle.net/2078.1/thesis:30559
[5]
Quentin De Coninck and Olivier Bonaventure. 2017. Multipath QUIC: Design and Evaluation. In Proceedings of the 13th International Conference on Emerging Networking EXperiments and Technologies (Incheon, Republic of Korea) (CoNEXT '17). Association for Computing Machinery, New York, NY, USA, 160--166.
[6]
Lars Eggert. 2016. quant. https://github.com/NTAP/quant/tree/29
[7]
Facebook. 2019. mvfst. https://github.com/facebookincubator/mvfst
[8]
Tiago Ferreira, Harrison Brewton, Loris D'Antoni, and Alexandra Silva. 2021. Prognosis: Closed-Box Analysis of Network Protocol Implementations. In Proceedings of the 2021 ACM SIGCOMM 2021 Conference (Virtual Event, USA) (SIGCOMM '21). Association for Computing Machinery, New York, NY, USA, 762--774.
[9]
Google. 2014. boringSSL. https://boringssl.googlesource.com/boringssl/
[10]
QUIC Working Group. 2016. quicwg/base-drafts. https://github.com/quicwg/base-drafts/wiki/Implementations
[11]
Christian Huitema, Melinda Shore, Allison Mankin, Sara Dickinson, and Jana Iyengar. 2019. Specification of DNS over Dedicated QUIC Connections. Internet-Draft draft-huitema-quic-dnsoquic-07. Internet Engineering Task Force. https://datatracker.ietf.org/doc/html/draft-huitema-quic-dnsoquic-07 Work in Progress.
[12]
LiteSpeed Technologies Inc. 2017. lsquic. https://github.com/litespeedtech/lsquic/tree/v2.29.4
[13]
Jana Iyengar and Martin Thomson. 2021. QUIC: A UDP-Based Multiplexed and Secure Transport. RFC 9000.
[14]
steschu77 Bastian Köcher & al. Kazuho Oku, Christian Huitema. 2016. picotls. https://github.com/h2o/picotls/tree/47327f8d032f6bc2093a15c32e666ab6384ecca2
[15]
Puneet Kumar and Behnam Dezfouli. 2019. Implementation and analysis of QUIC for MQTT. Computer Networks 150 (2019), 28--45.
[16]
Jeremy Lainé. 2019. aioquic. https://github.com/aiortc/aioquic/tree/0.9.3
[17]
Lucas Clemente & al. Marten Seemann. 2016. quic-go. https://github.com/lucas-clemente/quic-go
[18]
Kenneth L McMillan and Lenore D Zuck. 2019. Compositional Testing of Internet Protocols. In 2019 IEEE Cybersecurity Development (SecDev). IEEE, 161--174.
[19]
Kenneth L. McMillan and Lenore D. Zuck. 2019. Formal Specification and Testing of QUIC. In Proceedings of the ACM Special Interest Group on Data Communication (Beijing, China) (SIGCOMM '19). Association for Computing Machinery, New York, NY, USA, 227--240.
[20]
François Michel, Quentin De Coninck, and Olivier Bonaventure. 2019. QUIC-FEC: Bringing the benefits of Forward Erasure Correction to QUIC. In 2019 IFIP Networking Conference (IFIP Networking). IEEE, 1--9.
[21]
Tommy Pauly, Eric Kinnear, and David Schinazi. 2018. An Unreliable Datagram Extension to QUIC. Internet Engineering Task Force.(September 2018). draft-pauly-quicdatagram-00 (2018).
[22]
Maxime Piraux, Quentin De Coninck, and Olivier Bonaventure. 2018. Observing the Evolution of QUIC Implementations. Proceedings of the Workshop on the Evolution, Performance, and Interoperability of QUIC (Dec 2018).
[23]
Marten Seemann and Jana Iyengar. 2020. Automating QUIC Interoperability Testing. In Proceedings of the Workshop on the Evolution, Performance, and Interoperability of QUIC (Virtual Event, USA) (EPIQ '20). Association for Computing Machinery, New York, NY, USA, 8--13.
[24]
Alexander Shapiro. 2003. Monte Carlo sampling methods. Handbooks in operations research and management science 10 (2003), 353--425.
[25]
Jane Yen, Ramesh Govindan, and Barath Raghavan. 2021. Tools for Disambiguating RFCs. In Proceedings of the Applied Networking Research Workshop (Virtual Event, USA) (ANRW '21). Association for Computing Machinery, New York, NY, USA, 85--91.

Cited By

View all
  • (2023)Reducing Mobile Web Latency Through Adaptively Selecting Transport ProtocolIEEE/ACM Transactions on Networking10.1109/TNET.2023.323590731:5(2162-2177)Online publication date: 31-Jan-2023
  • (2022)A formalization-based vulnerability detection method for cross-subject network components2022 IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)10.1109/TrustCom56396.2022.00144(1054-1059)Online publication date: Dec-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EPIQ '21: Proceedings of the 2021 Workshop on Evolution, Performance and Interoperability of QUIC
December 2021
45 pages
ISBN:9781450391351
DOI:10.1145/3488660
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 December 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Ivy
  2. QUIC
  3. RFC9000
  4. draft-29
  5. formal specification
  6. interoperability
  7. testing
  8. verification

Qualifiers

  • Research-article

Funding Sources

  • Walloon Government

Conference

CoNEXT '21
Sponsor:

Acceptance Rates

EPIQ '21 Paper Acceptance Rate 6 of 8 submissions, 75%;
Overall Acceptance Rate 6 of 8 submissions, 75%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)57
  • Downloads (Last 6 weeks)9
Reflects downloads up to 28 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Reducing Mobile Web Latency Through Adaptively Selecting Transport ProtocolIEEE/ACM Transactions on Networking10.1109/TNET.2023.323590731:5(2162-2177)Online publication date: 31-Jan-2023
  • (2022)A formalization-based vulnerability detection method for cross-subject network components2022 IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)10.1109/TrustCom56396.2022.00144(1054-1059)Online publication date: Dec-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media