Författare/Authors: Jacob Nordgren, Robert Svensen

Säkerhetstestning av Bittorrenttracker med fuzzingramverket SPIKE

Sammanfattning

Fuzzing är en metod för att testa program genom att på ett automatiserat sätt generera testdata som sedan skickas till programmet i syftet att få det att krascha. Fuzzing utvecklades 1989 och har sedan dess fått fler och fler testområden från nätverksprotokoll till filformat. Många allvarliga säkerhetshål och buggar har upptäcks i alla möjliga program sedan dess med hjälp av fuzzing och är nu en del av varje mjukvarutestares (och hackares) verktygslåda. Bittorrent är en relativt ny teknik som används för att snabbt och effektivt dela filer och används av miljontals människor dagligen. Flera olika fuzzingstekniker och deras för- ochnackdelar presenteras i rapporten. De flesta fuzzers skrivs idag med hjälp av ramverk, varav några kommer att presenteras här. Rapporten visar också hur en fuzzer för Bittorrenttrackers kan skrivas med hjälpa av fuzzing ramverket SPIKE, den testas också mot två stycken mycket välanvända trackers, Opentracker och Peertracker. Inga buggar eller säkerhetshål hittas i dessa program. Medvetna buggar introduceras därför i programmen och fuzzern körs mot dessa versioner av programmen i syfte att visa att fuzzern fyller sin funktion. Dessa buggar hittades av fuzzern och verifierar därmed fuzzerns funktionalitet.

Security audit of Bittorrent trackers using SPIKE fuzzing framework

Abstract

Fuzzing is a technique in software testing used for finding flaws in soft- ware by automatically generating and sending test data to a target program with the intent of making it crash. Fuzzing was developed in 1989 and have since grown to include all kinds of software and protocols ranging from network protocols to file formats. Many serious flaws have been discovered in all kinds of software using fuzzing and is of today a given tool in any tester or hackers arsenal. Many different kinds of fuzzing techniques have been developed and some of their pros and cons will be presented in this report. We will also show how a fuzzing mod- ule for Bittorrent trackers can be developed using the fuzzing framework called SPIKE. The module will also be used to test two know and well used trackers, Opentracker and Peertracker. No flaws were discovered in these programs and therefore we purposely introduced flaws in them to verify that the fuzzing module indeed is able to discover bugs. All the bugs introduced were found by the fuzzer.