Black-Box Fuzz Testing for Security in Service-Provider Networks
2026 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]
Computer networks underpin many aspects of our daily lives. Familiar servicessuch as digital payments, social networks, video streaming and messaging appswould not function without them. While the services we enjoy may seem stableon the surface, underneath the hood they are ever-changing: components arereplaced, networks are rebuilt and source code is rewritten. Similarly, thethreat posed by malicious actors is also in constant motion. What is consideredsecure today may not be secure tomorrow. This is especially true for softwarecomponents. Therefore, software security testing is necessary to ensure that aservice poses no risk to its operators nor its end-users.
A critical step in developing secure software is discovering previously unknownvulnerabilities. Fuzz testing, or fuzzing, is a state-of-the-art techniquefor preventing insecure software from being taken into production. One form offuzz testing that has received great interest in recent years is grey-boxfuzzing. Unfortunately, some systems are not well-suited for this type oftesting. Implementation aspects such as programming language, statefulness,network connectivity and source-code availability can make grey-box fuzzingdifficult. Consequently, not all types of vulnerabilities are discoverable withthis technique.
In this thesis, I investigate a different approach to fuzzing: black-boxfuzzing. As the name suggests, black-box fuzzing does not depend onimplementation details about the target system. While this allows for testinga wider range of systems, it also pays a price by sacrificing speed and testcoverage. However, if the black-box fuzzer can find vulnerabilities that agrey-box fuzzer cannot, it might be worth the price. The results I present inthis thesis show that by incorporating elements from reinforcement learning andweb crawling, black-box fuzzing can be used where grey-box fuzzing falls shortto discover previously unknown vulnerabilities in real-world networkingsoftware.
Abstract [sv]
Datornätverk utgör grunden i många av våra vardagliga handlingar. Tjänstersåsom digitala betalningar, sociala nätverk, strömmad video ochdirektmeddelanden är helt beroende av dem. Trots att tjänsterna vi nyttjarger ett stabilt intryck befinner de sig i ständig förändring under huven:komponenter byts ut, nätverk förändras och källkod skrivs om. På samma sätt ärhotet från illasinnade aktörer i ständig rörelse. Det som betraktas som säkertidag kanske inte är det imorgon. För mjukvarukomponenter är detta särskiltpåtagligt och därför är säkerhetstestning av mjukvara nödvändigt för atten tjänst inte ska utgöra en risk för dess slutanvändare eller operatörer.
Ett kritiskt steg för att utveckla säker mjukvara är att upptäcka hittillsokända sårbarheter. Fuzztestning, eller fuzzing, är den främsta teknik vi haridag för att förhindra att osäker mjukvara tas i produktionsdrift. En sortsfuzztestning som har krönts med stora framgångar under de senaste åren ärgrey-box fuzzing. Dessvärre lämpar sig vissa system dåligt för denna typ avtestning. Implementationsaspekter såsom programspråk, tillståndsmodell,nätverkskonnektivitet och källkodens tillgänglighet kan försvåra grey-boxfuzzing. Således kan vissa typer av sårbarheter inte upptäckas med dennateknik.
I denna avhandling undersöker jag en alternativ metod för fuzzning: black-boxfuzzing. Som namnet antyder betraktar man med denna metod systemet som skatestas som en svart låda, en enhet vars implementation är okänd för oss somtestare. Detta har fördelen att metoden kan användas för att testa en störrebredd av system men man betalar ofta ett pris för detta i form avexekveringshastighet och testtäckning. Men om en black-box fuzzer hittarsårbarheter som en grey-box fuzzer missar så kan det vara värt priset.Resultaten som jag presenterar i denna avhandling visar att black-box fuzzingkan kombineras med förstärkningsinlärning och web crawling. På så sätt kantekniken täcka upp för tillkortakommanden hos grey-box fuzzing och upptäckatidigare okända sårbarheter i mjukvara för datornätverk.
Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology, 2026. , p. xii, 44
Series
TRITA-EECS-AVL ; 2026:12
Keywords [en]
Cyber Security, Security Testing, Vulnerability Discovery, Fuzz Testing, Computer Networks, Network Protocols, Software Engineering
Keywords [sv]
Cybersäkerhet, Säkerhetstestning, Sårbarhetsupptäckt, Fuzztestning, Datornätverk, Nätverksprotokoll, Mjukvaruteknik
National Category
Computer Sciences
Research subject
Information and Communication Technology
Identifiers
URN: urn:nbn:se:kth:diva-376850ISBN: 978-91-8106-519-0 (print)OAI: oai:DiVA.org:kth-376850DiVA, id: diva2:2039840
Presentation
2026-03-17, https://kth-se.zoom.us/j/65756749078, Lindstedtsvägen 5, Room D37, Stockholm, 10:00 (English)
Opponent
Supervisors
Note
QC 20260219
2026-02-192026-02-182026-03-02Bibliographically approved
List of papers