{"id":{"repo_id":"adelaide","oai_identifier":"oai:digital.library.adelaide.edu.au:2440/145683"},"canonical_url":"https://search.dev.ndltd.org/etd/adelaide/oai:digital.library.adelaide.edu.au:2440/145683","repository":{"repo_id":"adelaide","name":"University of Adelaide","base_url":"https://digital.library.adelaide.edu.au/server/oai/request"},"display":{"title":"Methods for Testing QUIC Network Protocol Implementations","abstract":"QUIC is a secure transport layer protocol optimised for performance. It was ratified by the IETF in May 2021 and represents a key part of the HTTP/3 standard experiencing rapid adoption. The protocol offers an alternative to secure transport currently offered with TLS over TCP. QUIC’s main challenge concerns providing low latency, reliable transport streams over unreliable UDPs and delivering an inherently secure protocol by incorporating elements of TLS into a unified protocol. The result is an advanced protocol design with new features not directly addressed in the analysis of TLS, UDP, or TCP—notably, the QUIC specifications alone reach almost 80,000 words, and QUIC controls all security and reliable transport parameters over multiple streams. Consequently, the accidental inclusion of software bugs, logical flaws, and specification non-conformance within QUIC implementations is inevitable. Given that networked applications are routinely subject to attacks, it is crucial to identify and address potential issues before they are exploited. However, there remains a significant gap in the availability of open-source testing methods to validate the behaviour and test the robustness of QUIC implementations. Most existing tools are either designed for QUIC versions released prior to ratification or Google-QUIC (now replaced by the standardised IETF QUIC) or are not open-source. This dissertation presents two key contributions aimed at improving the security and robustness of QUIC server-side implementations. First, the study designs a QUIC-specific non-compliance tester to uncover deviations from the protocol standard, dubbed QUICTESTER. QUICTESTER is evaluated on 19 open-source QUIC server-side implementations from well-known vendors, including Google, Microsoft, Amazon, Meta, Mozilla, and Cloudflare. In total, QUICTESTER uncovered 55 faults with five CVEs assigned and a bug bounty awarded. The second study implements a grey-box mutation-based fuzzer called QUIC-FUZZ to identify vulnerabilities beyond those caused by protocol non-compliance in QUIC server-side implementations. Notably, QUIC-FUZZ is benchmarked against state-of-the-art network protocol fuzzers—namely, Fuzztruction-Net, ChatAFL, and AFLNet—on six open-source QUIC servers. QUIC-FUZZ outperforms these fuzzers, with up to an 84% increase in code coverage observed. QUIC-FUZZ uncovers ten previously unknown vulnerabilities, leading to two CVEs and a bug bounty award.","abstract_html":"QUIC is a secure transport layer protocol optimised for performance. It was ratified by the IETF in May 2021 and represents a key part of the HTTP/3 standard experiencing rapid adoption. The protocol offers an alternative to secure transport currently offered with TLS over TCP. QUIC’s main challenge concerns providing low latency, reliable transport streams over unreliable UDPs and delivering an inherently secure protocol by incorporating elements of TLS into a unified protocol. The result is an advanced protocol design with new features not directly addressed in the analysis of TLS, UDP, or TCP—notably, the QUIC specifications alone reach almost 80,000 words, and QUIC controls all security and reliable transport parameters over multiple streams. Consequently, the accidental inclusion of software bugs, logical flaws, and specification non-conformance within QUIC implementations is inevitable. Given that networked applications are routinely subject to attacks, it is crucial to identify and address potential issues before they are exploited. However, there remains a significant gap in the availability of open-source testing methods to validate the behaviour and test the robustness of QUIC implementations. Most existing tools are either designed for QUIC versions released prior to ratification or Google-QUIC (now replaced by the standardised IETF QUIC) or are not open-source. This dissertation presents two key contributions aimed at improving the security and robustness of QUIC server-side implementations. First, the study designs a QUIC-specific non-compliance tester to uncover deviations from the protocol standard, dubbed QUICTESTER. QUICTESTER is evaluated on 19 open-source QUIC server-side implementations from well-known vendors, including Google, Microsoft, Amazon, Meta, Mozilla, and Cloudflare. In total, QUICTESTER uncovered 55 faults with five CVEs assigned and a bug bounty awarded. The second study implements a grey-box mutation-based fuzzer called QUIC-FUZZ to identify vulnerabilities beyond those caused by protocol non-compliance in QUIC server-side implementations. Notably, QUIC-FUZZ is benchmarked against state-of-the-art network protocol fuzzers—namely, Fuzztruction-Net, ChatAFL, and AFLNet—on six open-source QUIC servers. QUIC-FUZZ outperforms these fuzzers, with up to an 84% increase in code coverage observed. QUIC-FUZZ uncovers ten previously unknown vulnerabilities, leading to two CVEs and a bug bounty award.","abstract_has_math":false,"creators":["Ang, Kian Kai"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Ranasinghe, Damith Chinthana","Pope, Cheryl"],"committee_chairs":[],"committee_members":[],"year":2024,"date_issued":"2024","date_published":"2024","updated_at":"2026-07-24T00:50:50Z","subjects":["QUIC","Network Protocol Fuzzing","Network Security"],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/2440/145683","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Ranasinghe, Damith Chinthana","Pope, Cheryl"]},{"key":"dc:creator","label":"Author","values":["Ang, Kian Kai"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.issued","label":"Date","values":["2024"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["QUIC","Network Protocol Fuzzing","Network Security"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/2440/145683"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["QUIC is a secure transport layer protocol optimised for performance. It was ratified by the IETF in May 2021 and represents a key part of the HTTP/3 standard experiencing rapid adoption. The protocol offers an alternative to secure transport currently offered with TLS over TCP. QUIC’s main challenge concerns providing low latency, reliable transport streams over unreliable UDPs and delivering an inherently secure protocol by incorporating elements of TLS into a unified protocol. The result is an advanced protocol design with new features not directly addressed in the analysis of TLS, UDP, or TCP—notably, the QUIC specifications alone reach almost 80,000 words, and QUIC controls all security and reliable transport parameters over multiple streams. Consequently, the accidental inclusion of software bugs, logical flaws, and specification non-conformance within QUIC implementations is inevitable. Given that networked applications are routinely subject to attacks, it is crucial to identify and address potential issues before they are exploited. However, there remains a significant gap in the availability of open-source testing methods to validate the behaviour and test the robustness of QUIC implementations. Most existing tools are either designed for QUIC versions released prior to ratification or Google-QUIC (now replaced by the standardised IETF QUIC) or are not open-source. This dissertation presents two key contributions aimed at improving the security and robustness of QUIC server-side implementations. First, the study designs a QUIC-specific non-compliance tester to uncover deviations from the protocol standard, dubbed QUICTESTER. QUICTESTER is evaluated on 19 open-source QUIC server-side implementations from well-known vendors, including Google, Microsoft, Amazon, Meta, Mozilla, and Cloudflare. In total, QUICTESTER uncovered 55 faults with five CVEs assigned and a bug bounty awarded. The second study implements a grey-box mutation-based fuzzer called QUIC-FUZZ to identify vulnerabilities beyond those caused by protocol non-compliance in QUIC server-side implementations. Notably, QUIC-FUZZ is benchmarked against state-of-the-art network protocol fuzzers—namely, Fuzztruction-Net, ChatAFL, and AFLNet—on six open-source QUIC servers. QUIC-FUZZ outperforms these fuzzers, with up to an 84% increase in code coverage observed. QUIC-FUZZ uncovers ten previously unknown vulnerabilities, leading to two CVEs and a bug bounty award."]},{"key":"dc:title","label":"Title","values":["Methods for Testing QUIC Network Protocol Implementations"]}]}],"canonical_facts":{"dc:contributor.advisor":["Ranasinghe, Damith Chinthana","Pope, Cheryl"],"dc:creator":["Ang, Kian Kai"],"dc:date.issued":["2024"],"dc:description.abstract":["QUIC is a secure transport layer protocol optimised for performance. It was ratified by the IETF in May 2021 and represents a key part of the HTTP/3 standard experiencing rapid adoption. The protocol offers an alternative to secure transport currently offered with TLS over TCP. QUIC’s main challenge concerns providing low latency, reliable transport streams over unreliable UDPs and delivering an inherently secure protocol by incorporating elements of TLS into a unified protocol. The result is an advanced protocol design with new features not directly addressed in the analysis of TLS, UDP, or TCP—notably, the QUIC specifications alone reach almost 80,000 words, and QUIC controls all security and reliable transport parameters over multiple streams. Consequently, the accidental inclusion of software bugs, logical flaws, and specification non-conformance within QUIC implementations is inevitable. Given that networked applications are routinely subject to attacks, it is crucial to identify and address potential issues before they are exploited. However, there remains a significant gap in the availability of open-source testing methods to validate the behaviour and test the robustness of QUIC implementations. Most existing tools are either designed for QUIC versions released prior to ratification or Google-QUIC (now replaced by the standardised IETF QUIC) or are not open-source. This dissertation presents two key contributions aimed at improving the security and robustness of QUIC server-side implementations. First, the study designs a QUIC-specific non-compliance tester to uncover deviations from the protocol standard, dubbed QUICTESTER. QUICTESTER is evaluated on 19 open-source QUIC server-side implementations from well-known vendors, including Google, Microsoft, Amazon, Meta, Mozilla, and Cloudflare. In total, QUICTESTER uncovered 55 faults with five CVEs assigned and a bug bounty awarded. The second study implements a grey-box mutation-based fuzzer called QUIC-FUZZ to identify vulnerabilities beyond those caused by protocol non-compliance in QUIC server-side implementations. Notably, QUIC-FUZZ is benchmarked against state-of-the-art network protocol fuzzers—namely, Fuzztruction-Net, ChatAFL, and AFLNet—on six open-source QUIC servers. QUIC-FUZZ outperforms these fuzzers, with up to an 84% increase in code coverage observed. QUIC-FUZZ uncovers ten previously unknown vulnerabilities, leading to two CVEs and a bug bounty award."],"dc:identifier.uri":["https://hdl.handle.net/2440/145683"],"dc:language.iso":["en"],"dc:subject":["QUIC","Network Protocol Fuzzing","Network Security"],"dc:title":["Methods for Testing QUIC Network Protocol Implementations"],"dc:type":["Thesis"]},"updated_at":"2026-07-24T00:50:50Z"}